vim →
2:8.0.0197-4+deb9u3 →
armhf → 2019-06-24 00:28:46
sbuild (Debian sbuild) 0.71.0 (24 Aug 2016) on bm-wb-03
+==============================================================================+
| vim 2:8.0.0197-4+deb9u3 (armhf) Sun, 23 Jun 2019 22:20:18 +0000 |
+==============================================================================+
Package: vim
Version: 2:8.0.0197-4+deb9u3
Source Version: 2:8.0.0197-4+deb9u3
Distribution: stretch-staging
Machine Architecture: armhf
Host Architecture: armhf
Build Architecture: armhf
I: NOTICE: Log filtering will replace 'var/lib/schroot/mount/stretch-staging-armhf-sbuild-bd964267-e8f1-488a-8945-3225d5180079' with '<<CHROOT>>'
+------------------------------------------------------------------------------+
| Update chroot |
+------------------------------------------------------------------------------+
Get:1 http://172.17.0.1/private stretch-staging InRelease [11.3 kB]
Get:2 http://172.17.0.1/private stretch-staging/main Sources [9720 kB]
Get:3 http://172.17.0.1/private stretch-staging/main armhf Packages [11.7 MB]
Fetched 21.4 MB in 25s (852 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 stretch-staging/main vim 2:8.0.0197-4+deb9u3 (dsc) [3019 B]
Get:2 http://172.17.0.1/private stretch-staging/main vim 2:8.0.0197-4+deb9u3 (tar) [13.0 MB]
Get:3 http://172.17.0.1/private stretch-staging/main vim 2:8.0.0197-4+deb9u3 (diff) [174 kB]
Fetched 13.1 MB in 1s (9045 kB/s)
Download complete and in download only mode
I: NOTICE: Log filtering will replace 'build/vim-tlTJJ2/vim-8.0.0197' with '<<PKGBUILDDIR>>'
I: NOTICE: Log filtering will replace 'build/vim-tlTJJ2' 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-JgvS6j/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-JgvS6j/gpg/pubring.kbx' created
gpg: /<<BUILDDIR>>/resolver-JgvS6j/gpg/trustdb.gpg: trustdb created
gpg: key 35506D9A48F77B2E: 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 35506D9A48F77B2E: "Sbuild Signer (Sbuild Build Dependency Archive Key) <buildd-tools-devel@lists.alioth.debian.org>" not changed
gpg: key 35506D9A48F77B2E: 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-JgvS6j/apt_archive ./ InRelease
Get:2 copy:/<<BUILDDIR>>/resolver-JgvS6j/apt_archive ./ Release [957 B]
Get:3 copy:/<<BUILDDIR>>/resolver-JgvS6j/apt_archive ./ Release.gpg [370 B]
Get:4 copy:/<<BUILDDIR>>/resolver-JgvS6j/apt_archive ./ Sources [349 B]
Get:5 copy:/<<BUILDDIR>>/resolver-JgvS6j/apt_archive ./ Packages [432 B]
Fetched 2108 B in 0s (3112 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...
The following NEW packages will be installed:
sbuild-build-depends-core-dummy
0 upgraded, 1 newly installed, 0 to remove and 60 not upgraded.
Need to get 776 B of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 copy:/<<BUILDDIR>>/resolver-JgvS6j/apt_archive ./ sbuild-build-depends-core-dummy 0.invalid.0 [776 B]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 776 B in 0s (0 B/s)
Selecting previously unselected package sbuild-build-depends-core-dummy.
(Reading database ... 12715 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-JgvS6j/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-JgvS6j/apt_archive ./ InRelease
Get:2 copy:/<<BUILDDIR>>/resolver-JgvS6j/apt_archive ./ Release [963 B]
Get:3 copy:/<<BUILDDIR>>/resolver-JgvS6j/apt_archive ./ Release.gpg [370 B]
Get:4 copy:/<<BUILDDIR>>/resolver-JgvS6j/apt_archive ./ Sources [647 B]
Get:5 copy:/<<BUILDDIR>>/resolver-JgvS6j/apt_archive ./ Packages [693 B]
Fetched 2673 B in 0s (3606 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 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 libpng16-16
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 libunistring0 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 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 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 libunistring0 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 libpng16-16 libtinfo5 perl
perl-base perl-modules-5.24
9 upgraded, 261 newly installed, 0 to remove and 51 not upgraded.
Need to get 165 MB of archives.
After this operation, 493 MB of additional disk space will be used.
Get:1 copy:/<<BUILDDIR>>/resolver-JgvS6j/apt_archive ./ sbuild-build-depends-vim-dummy 0.invalid.0 [896 B]
Get:2 http://172.17.0.1/private stretch-staging/main armhf libperl5.24 armhf 5.24.1-3+deb9u5 [2837 kB]
Get:3 http://172.17.0.1/private stretch-staging/main armhf perl armhf 5.24.1-3+deb9u5 [219 kB]
Get:4 http://172.17.0.1/private stretch-staging/main armhf perl-base armhf 5.24.1-3+deb9u5 [1198 kB]
Get:5 http://172.17.0.1/private stretch-staging/main armhf perl-modules-5.24 all 5.24.1-3+deb9u5 [2722 kB]
Get:6 http://172.17.0.1/private stretch-staging/main armhf groff-base armhf 1.22.3-9 [1005 kB]
Get:7 http://172.17.0.1/private stretch-staging/main armhf libbsd0 armhf 0.8.3-1 [89.0 kB]
Get:8 http://172.17.0.1/private stretch-staging/main armhf libncurses5 armhf 6.0+20161126-1+deb9u2 [74.0 kB]
Get:9 http://172.17.0.1/private stretch-staging/main armhf libtinfo5 armhf 6.0+20161126-1+deb9u2 [288 kB]
Get:10 http://172.17.0.1/private stretch-staging/main armhf libncursesw5 armhf 6.0+20161126-1+deb9u2 [92.7 kB]
Get:11 http://172.17.0.1/private stretch-staging/main armhf bsdmainutils armhf 9.0.12+nmu1 [178 kB]
Get:12 http://172.17.0.1/private stretch-staging/main armhf libpipeline1 armhf 1.4.1-2 [23.7 kB]
Get:13 http://172.17.0.1/private stretch-staging/main armhf man-db armhf 2.7.6.1-2 [1014 kB]
Get:14 http://172.17.0.1/private stretch-staging/main armhf libexpat1 armhf 2.2.0-2+deb9u1 [62.2 kB]
Get:15 http://172.17.0.1/private stretch-staging/main armhf libpng16-16 armhf 1.6.28-1+deb9u1 [263 kB]
Get:16 http://172.17.0.1/private stretch-staging/main armhf libfreetype6 armhf 2.6.3-3.2 [384 kB]
Get:17 http://172.17.0.1/private stretch-staging/main armhf ucf all 3.0036 [70.2 kB]
Get:18 http://172.17.0.1/private stretch-staging/main armhf fonts-dejavu-core all 2.37-1 [1068 kB]
Get:19 http://172.17.0.1/private stretch-staging/main armhf fontconfig-config all 2.11.0-6.7 [271 kB]
Get:20 http://172.17.0.1/private stretch-staging/main armhf libfontconfig1 armhf 2.11.0-6.7 [313 kB]
Get:21 http://172.17.0.1/private stretch-staging/main armhf fontconfig armhf 2.11.0-6.7 [402 kB]
Get:22 http://172.17.0.1/private stretch-staging/main armhf libjbig0 armhf 2.1-3.1 [27.5 kB]
Get:23 http://172.17.0.1/private stretch-staging/main armhf liblzo2-2 armhf 2.08-1.2 [47.6 kB]
Get:24 http://172.17.0.1/private stretch-staging/main armhf libpcrecpp0v5 armhf 2:8.39-3 [149 kB]
Get:25 http://172.17.0.1/private stretch-staging/main armhf libxau6 armhf 1:1.0.8-1 [19.9 kB]
Get:26 http://172.17.0.1/private stretch-staging/main armhf libxdmcp6 armhf 1:1.1.2-3 [25.0 kB]
Get:27 http://172.17.0.1/private stretch-staging/main armhf libxcb1 armhf 1.12-1 [129 kB]
Get:28 http://172.17.0.1/private stretch-staging/main armhf libx11-data all 2:1.6.4-3+deb9u1 [287 kB]
Get:29 http://172.17.0.1/private stretch-staging/main armhf libx11-6 armhf 2:1.6.4-3+deb9u1 [682 kB]
Get:30 http://172.17.0.1/private stretch-staging/main armhf libxext6 armhf 2:1.3.3-1 [48.1 kB]
Get:31 http://172.17.0.1/private stretch-staging/main armhf libxrender1 armhf 1:0.9.10-1 [29.9 kB]
Get:32 http://172.17.0.1/private stretch-staging/main armhf libxft2 armhf 2.3.2-1 [48.3 kB]
Get:33 http://172.17.0.1/private stretch-staging/main armhf libssl1.1 armhf 1.1.0j-1~deb9u1 [1115 kB]
Get:34 http://172.17.0.1/private stretch-staging/main armhf libpython3.5-minimal armhf 3.5.3-1+deb9u1 [567 kB]
Get:35 http://172.17.0.1/private stretch-staging/main armhf python3.5-minimal armhf 3.5.3-1+deb9u1 [1443 kB]
Get:36 http://172.17.0.1/private stretch-staging/main armhf python3-minimal armhf 3.5.3-1 [35.3 kB]
Get:37 http://172.17.0.1/private stretch-staging/main armhf mime-support all 3.60 [36.7 kB]
Get:38 http://172.17.0.1/private stretch-staging/main armhf libmpdec2 armhf 2.4.2-1 [67.5 kB]
Get:39 http://172.17.0.1/private stretch-staging/main armhf libpython3.5-stdlib armhf 3.5.3-1+deb9u1 [2090 kB]
Get:40 http://172.17.0.1/private stretch-staging/main armhf python3.5 armhf 3.5.3-1+deb9u1 [229 kB]
Get:41 http://172.17.0.1/private stretch-staging/main armhf libpython3-stdlib armhf 3.5.3-1 [18.6 kB]
Get:42 http://172.17.0.1/private stretch-staging/main armhf dh-python all 2.20170125 [86.8 kB]
Get:43 http://172.17.0.1/private stretch-staging/main armhf python3 armhf 3.5.3-1 [21.6 kB]
Get:44 http://172.17.0.1/private stretch-staging/main armhf libreadline6 armhf 6.3-9 [122 kB]
Get:45 http://172.17.0.1/private stretch-staging/main armhf libssl1.0.2 armhf 1.0.2r-1~deb9u1 [899 kB]
Get:46 http://172.17.0.1/private stretch-staging/main armhf libmagic-mgc armhf 1:5.30-1+deb9u2 [222 kB]
Get:47 http://172.17.0.1/private stretch-staging/main armhf libmagic1 armhf 1:5.30-1+deb9u2 [105 kB]
Get:48 http://172.17.0.1/private stretch-staging/main armhf file armhf 1:5.30-1+deb9u2 [63.6 kB]
Get:49 http://172.17.0.1/private stretch-staging/main armhf gettext-base armhf 0.19.8.1-2 [116 kB]
Get:50 http://172.17.0.1/private stretch-staging/main armhf libnettle6 armhf 3.3-1 [204 kB]
Get:51 http://172.17.0.1/private stretch-staging/main armhf libhogweed4 armhf 3.3-1 [126 kB]
Get:52 http://172.17.0.1/private stretch-staging/main armhf libffi6 armhf 3.2.1-6 [18.7 kB]
Get:53 http://172.17.0.1/private stretch-staging/main armhf libp11-kit0 armhf 0.23.3-2 [94.4 kB]
Get:54 http://172.17.0.1/private stretch-staging/main armhf libtasn1-6 armhf 4.10-1.1+deb9u1 [45.6 kB]
Get:55 http://172.17.0.1/private stretch-staging/main armhf libgnutls30 armhf 3.5.8-5+deb9u4 [824 kB]
Get:56 http://172.17.0.1/private stretch-staging/main armhf libgpm2 armhf 1.20.4-6.2 [33.0 kB]
Get:57 http://172.17.0.1/private stretch-staging/main armhf libkeyutils1 armhf 1.5.9-9 [11.9 kB]
Get:58 http://172.17.0.1/private stretch-staging/main armhf libkrb5support0 armhf 1.15-1+deb9u1 [58.1 kB]
Get:59 http://172.17.0.1/private stretch-staging/main armhf libk5crypto3 armhf 1.15-1+deb9u1 [115 kB]
Get:60 http://172.17.0.1/private stretch-staging/main armhf libkrb5-3 armhf 1.15-1+deb9u1 [262 kB]
Get:61 http://172.17.0.1/private stretch-staging/main armhf libgssapi-krb5-2 armhf 1.15-1+deb9u1 [131 kB]
Get:62 http://172.17.0.1/private stretch-staging/main armhf libicu57 armhf 57.1-6+deb9u2 [7425 kB]
Get:63 http://172.17.0.1/private stretch-staging/main armhf libxml2 armhf 2.9.4+dfsg1-2.2+deb9u2 [806 kB]
Get:64 http://172.17.0.1/private stretch-staging/main armhf hicolor-icon-theme all 0.15-1 [9550 B]
Get:65 http://172.17.0.1/private stretch-staging/main armhf libglib2.0-0 armhf 2.50.3-2 [2527 kB]
Get:66 http://172.17.0.1/private stretch-staging/main armhf libjpeg62-turbo armhf 1:1.5.1-2 [109 kB]
Get:67 http://172.17.0.1/private stretch-staging/main armhf libtiff5 armhf 4.0.8-2+deb9u4 [220 kB]
Get:68 http://172.17.0.1/private stretch-staging/main armhf shared-mime-info armhf 1.8-1+deb9u1 [728 kB]
Get:69 http://172.17.0.1/private stretch-staging/main armhf libgdk-pixbuf2.0-common all 2.36.5-2+deb9u2 [311 kB]
Get:70 http://172.17.0.1/private stretch-staging/main armhf libgdk-pixbuf2.0-0 armhf 2.36.5-2+deb9u2 [152 kB]
Get:71 http://172.17.0.1/private stretch-staging/main armhf gtk-update-icon-cache armhf 3.22.11-1+rpi1 [75.7 kB]
Get:72 http://172.17.0.1/private stretch-staging/main armhf libpixman-1-0 armhf 0.34.0-1 [451 kB]
Get:73 http://172.17.0.1/private stretch-staging/main armhf libxcb-render0 armhf 1.12-1 [104 kB]
Get:74 http://172.17.0.1/private stretch-staging/main armhf libxcb-shm0 armhf 1.12-1 [95.9 kB]
Get:75 http://172.17.0.1/private stretch-staging/main armhf libcairo2 armhf 1.14.8-1 [688 kB]
Get:76 http://172.17.0.1/private stretch-staging/main armhf libcroco3 armhf 0.6.11-3 [131 kB]
Get:77 http://172.17.0.1/private stretch-staging/main armhf libthai-data all 0.1.26-1 [166 kB]
Get:78 http://172.17.0.1/private stretch-staging/main armhf libdatrie1 armhf 0.2.10-4 [32.8 kB]
Get:79 http://172.17.0.1/private stretch-staging/main armhf libthai0 armhf 0.1.26-1 [49.3 kB]
Get:80 http://172.17.0.1/private stretch-staging/main armhf libpango-1.0-0 armhf 1.40.5-1 [305 kB]
Get:81 http://172.17.0.1/private stretch-staging/main armhf libgraphite2-3 armhf 1.3.10-1 [71.7 kB]
Get:82 http://172.17.0.1/private stretch-staging/main armhf libharfbuzz0b armhf 1.4.2-1 [640 kB]
Get:83 http://172.17.0.1/private stretch-staging/main armhf libpangoft2-1.0-0 armhf 1.40.5-1 [201 kB]
Get:84 http://172.17.0.1/private stretch-staging/main armhf libpangocairo-1.0-0 armhf 1.40.5-1 [190 kB]
Get:85 http://172.17.0.1/private stretch-staging/main armhf librsvg2-2 armhf 2.40.16-1 [266 kB]
Get:86 http://172.17.0.1/private stretch-staging/main armhf librsvg2-common armhf 2.40.16-1 [193 kB]
Get:87 http://172.17.0.1/private stretch-staging/main armhf adwaita-icon-theme all 3.22.0-1+deb9u1 [11.5 MB]
Get:88 http://172.17.0.1/private stretch-staging/main armhf libsigsegv2 armhf 2.10-5 [28.4 kB]
Get:89 http://172.17.0.1/private stretch-staging/main armhf m4 armhf 1.4.18-1 [185 kB]
Get:90 http://172.17.0.1/private stretch-staging/main armhf autoconf all 2.69-10 [338 kB]
Get:91 http://172.17.0.1/private stretch-staging/main armhf autotools-dev all 20161112.1 [73.4 kB]
Get:92 http://172.17.0.1/private stretch-staging/main armhf automake all 1:1.15-6 [733 kB]
Get:93 http://172.17.0.1/private stretch-staging/main armhf autopoint all 0.19.8.1-2 [433 kB]
Get:94 http://172.17.0.1/private stretch-staging/main armhf openssl armhf 1.1.0j-1~deb9u1 [712 kB]
Get:95 http://172.17.0.1/private stretch-staging/main armhf ca-certificates all 20161130+nmu1+deb9u1 [182 kB]
Get:96 http://172.17.0.1/private stretch-staging/main armhf libdconf1 armhf 0.26.0-2 [33.3 kB]
Get:97 http://172.17.0.1/private stretch-staging/main armhf dconf-service armhf 0.26.0-2 [30.1 kB]
Get:98 http://172.17.0.1/private stretch-staging/main armhf dconf-gsettings-backend armhf 0.26.0-2 [22.5 kB]
Get:99 http://172.17.0.1/private stretch-staging/main armhf libtool all 2.4.6-2 [545 kB]
Get:100 http://172.17.0.1/private stretch-staging/main armhf dh-autoreconf all 14 [15.9 kB]
Get:101 http://172.17.0.1/private stretch-staging/main armhf libarchive-zip-perl all 1.59-1+deb9u1 [96.2 kB]
Get:102 http://172.17.0.1/private stretch-staging/main armhf libfile-stripnondeterminism-perl all 0.034-1 [16.4 kB]
Get:103 http://172.17.0.1/private stretch-staging/main armhf libtimedate-perl all 2.3000-2 [42.2 kB]
Get:104 http://172.17.0.1/private stretch-staging/main armhf dh-strip-nondeterminism all 0.034-1 [10.5 kB]
Get:105 http://172.17.0.1/private stretch-staging/main armhf libunistring0 armhf 0.9.6+really0.9.3-0.1 [252 kB]
Get:106 http://172.17.0.1/private stretch-staging/main armhf gettext armhf 0.19.8.1-2 [1434 kB]
Get:107 http://172.17.0.1/private stretch-staging/main armhf intltool-debian all 0.35.0+20060710.4 [26.3 kB]
Get:108 http://172.17.0.1/private stretch-staging/main armhf po-debconf all 1.0.20 [247 kB]
Get:109 http://172.17.0.1/private stretch-staging/main armhf debhelper all 10.2.5 [961 kB]
Get:110 http://172.17.0.1/private stretch-staging/main armhf libgirepository-1.0-1 armhf 1.50.0-1 [76.4 kB]
Get:111 http://172.17.0.1/private stretch-staging/main armhf gir1.2-glib-2.0 armhf 1.50.0-1 [139 kB]
Get:112 http://172.17.0.1/private stretch-staging/main armhf libatk1.0-data all 2.22.0-1 [172 kB]
Get:113 http://172.17.0.1/private stretch-staging/main armhf libatk1.0-0 armhf 2.22.0-1 [70.4 kB]
Get:114 http://172.17.0.1/private stretch-staging/main armhf gir1.2-atk-1.0 armhf 2.22.0-1 [53.5 kB]
Get:115 http://172.17.0.1/private stretch-staging/main armhf libdbus-1-3 armhf 1.10.28-0+deb9u1 [176 kB]
Get:116 http://172.17.0.1/private stretch-staging/main armhf libatspi2.0-0 armhf 2.22.0-6+deb9u1 [52.1 kB]
Get:117 http://172.17.0.1/private stretch-staging/main armhf gir1.2-atspi-2.0 armhf 2.22.0-6+deb9u1 [18.6 kB]
Get:118 http://172.17.0.1/private stretch-staging/main armhf libcairo-gobject2 armhf 1.14.8-1 [335 kB]
Get:119 http://172.17.0.1/private stretch-staging/main armhf gir1.2-freedesktop armhf 1.50.0-1 [15.2 kB]
Get:120 http://172.17.0.1/private stretch-staging/main armhf gir1.2-gdkpixbuf-2.0 armhf 2.36.5-2+deb9u2 [15.4 kB]
Get:121 http://172.17.0.1/private stretch-staging/main armhf libgtk2.0-common all 2.24.31-2 [2693 kB]
Get:122 http://172.17.0.1/private stretch-staging/main armhf libpangoxft-1.0-0 armhf 1.40.5-1 [186 kB]
Get:123 http://172.17.0.1/private stretch-staging/main armhf gir1.2-pango-1.0 armhf 1.40.5-1 [194 kB]
Get:124 http://172.17.0.1/private stretch-staging/main armhf libavahi-common-data armhf 0.6.32-2 [118 kB]
Get:125 http://172.17.0.1/private stretch-staging/main armhf libavahi-common3 armhf 0.6.32-2 [48.6 kB]
Get:126 http://172.17.0.1/private stretch-staging/main armhf libavahi-client3 armhf 0.6.32-2 [51.3 kB]
Get:127 http://172.17.0.1/private stretch-staging/main armhf libcups2 armhf 2.2.1-8+deb9u2 [273 kB]
Get:128 http://172.17.0.1/private stretch-staging/main armhf libxcomposite1 armhf 1:0.4.4-2 [16.1 kB]
Get:129 http://172.17.0.1/private stretch-staging/main armhf libxfixes3 armhf 1:5.0.3-1 [20.6 kB]
Get:130 http://172.17.0.1/private stretch-staging/main armhf libxcursor1 armhf 1:1.1.14-1+deb9u2 [31.8 kB]
Get:131 http://172.17.0.1/private stretch-staging/main armhf libxdamage1 armhf 1:1.1.4-2+b1 [14.1 kB]
Get:132 http://172.17.0.1/private stretch-staging/main armhf libxi6 armhf 2:1.7.9-1 [77.8 kB]
Get:133 http://172.17.0.1/private stretch-staging/main armhf libxinerama1 armhf 2:1.1.3-1+b1 [16.4 kB]
Get:134 http://172.17.0.1/private stretch-staging/main armhf libxrandr2 armhf 2:1.5.1-1 [34.5 kB]
Get:135 http://172.17.0.1/private stretch-staging/main armhf libgtk2.0-0 armhf 2.24.31-2 [1505 kB]
Get:136 http://172.17.0.1/private stretch-staging/main armhf gir1.2-gtk-2.0 armhf 2.24.31-2 [212 kB]
Get:137 http://172.17.0.1/private stretch-staging/main armhf libgtk-3-common all 3.22.11-1+rpi1 [3417 kB]
Get:138 http://172.17.0.1/private stretch-staging/main armhf libatk-bridge2.0-0 armhf 2.22.0-2 [47.1 kB]
Get:139 http://172.17.0.1/private stretch-staging/main armhf liblcms2-2 armhf 2.8-4+deb9u1 [118 kB]
Get:140 http://172.17.0.1/private stretch-staging/main armhf libcolord2 armhf 1.3.3-2 [240 kB]
Get:141 http://172.17.0.1/private stretch-staging/main armhf libepoxy0 armhf 1.3.1-2 [157 kB]
Get:142 http://172.17.0.1/private stretch-staging/main armhf libjson-glib-1.0-common all 1.2.6-1 [166 kB]
Get:143 http://172.17.0.1/private stretch-staging/main armhf libjson-glib-1.0-0 armhf 1.2.6-1 [170 kB]
Get:144 http://172.17.0.1/private stretch-staging/main armhf libproxy1v5 armhf 0.4.14-2 [50.2 kB]
Get:145 http://172.17.0.1/private stretch-staging/main armhf glib-networking-common all 2.50.0-1 [49.1 kB]
Get:146 http://172.17.0.1/private stretch-staging/main armhf glib-networking-services armhf 2.50.0-1 [11.6 kB]
Get:147 http://172.17.0.1/private stretch-staging/main armhf gsettings-desktop-schemas all 3.22.0-1 [473 kB]
Get:148 http://172.17.0.1/private stretch-staging/main armhf glib-networking armhf 2.50.0-1 [48.2 kB]
Get:149 http://172.17.0.1/private stretch-staging/main armhf libsoup2.4-1 armhf 2.56.0-2+deb9u2 [248 kB]
Get:150 http://172.17.0.1/private stretch-staging/main armhf libsoup-gnome2.4-1 armhf 2.56.0-2+deb9u2 [16.3 kB]
Get:151 http://172.17.0.1/private stretch-staging/main armhf librest-0.7-0 armhf 0.8.0-2 [27.8 kB]
Get:152 http://172.17.0.1/private stretch-staging/main armhf libgtk-3-0 armhf 3.22.11-1+rpi1 [2071 kB]
Get:153 http://172.17.0.1/private stretch-staging/main armhf gir1.2-gtk-3.0 armhf 3.22.11-1+rpi1 [245 kB]
Get:154 http://172.17.0.1/private stretch-staging/main armhf icu-devtools armhf 57.1-6+deb9u2 [157 kB]
Get:155 http://172.17.0.1/private stretch-staging/main armhf libelf1 armhf 0.168-1 [154 kB]
Get:156 http://172.17.0.1/private stretch-staging/main armhf libglib2.0-data all 2.50.3-2 [2517 kB]
Get:157 http://172.17.0.1/private stretch-staging/main armhf libglib2.0-bin armhf 2.50.3-2 [1608 kB]
Get:158 http://172.17.0.1/private stretch-staging/main armhf libpcre16-3 armhf 2:8.39-3 [235 kB]
Get:159 http://172.17.0.1/private stretch-staging/main armhf libpcre32-3 armhf 2:8.39-3 [227 kB]
Get:160 http://172.17.0.1/private stretch-staging/main armhf libpcre3-dev armhf 2:8.39-3 [565 kB]
Get:161 http://172.17.0.1/private stretch-staging/main armhf pkg-config armhf 0.29-4 [59.2 kB]
Get:162 http://172.17.0.1/private stretch-staging/main armhf zlib1g-dev armhf 1:1.2.8.dfsg-5 [198 kB]
Get:163 http://172.17.0.1/private stretch-staging/main armhf libglib2.0-dev armhf 2.50.3-2 [2775 kB]
Get:164 http://172.17.0.1/private stretch-staging/main armhf libdbus-1-dev armhf 1.10.28-0+deb9u1 [202 kB]
Get:165 http://172.17.0.1/private stretch-staging/main armhf x11-common all 1:7.7+19 [251 kB]
Get:166 http://172.17.0.1/private stretch-staging/main armhf libxtst6 armhf 2:1.2.3-1 [26.3 kB]
Get:167 http://172.17.0.1/private stretch-staging/main armhf xorg-sgml-doctools all 1:1.11-1 [21.9 kB]
Get:168 http://172.17.0.1/private stretch-staging/main armhf x11proto-core-dev all 7.0.31-1 [728 kB]
Get:169 http://172.17.0.1/private stretch-staging/main armhf libxau-dev armhf 1:1.0.8-1 [23.0 kB]
Get:170 http://172.17.0.1/private stretch-staging/main armhf libxdmcp-dev armhf 1:1.1.2-3 [40.9 kB]
Get:171 http://172.17.0.1/private stretch-staging/main armhf x11proto-input-dev all 2.3.2-1 [158 kB]
Get:172 http://172.17.0.1/private stretch-staging/main armhf x11proto-kb-dev all 1.0.7-1 [233 kB]
Get:173 http://172.17.0.1/private stretch-staging/main armhf xtrans-dev all 1.3.5-1 [100 kB]
Get:174 http://172.17.0.1/private stretch-staging/main armhf libpthread-stubs0-dev armhf 0.3-4 [4042 B]
Get:175 http://172.17.0.1/private stretch-staging/main armhf libxcb1-dev armhf 1.12-1 [165 kB]
Get:176 http://172.17.0.1/private stretch-staging/main armhf libx11-dev armhf 2:1.6.4-3+deb9u1 [753 kB]
Get:177 http://172.17.0.1/private stretch-staging/main armhf x11proto-xext-dev all 7.3.0-1 [212 kB]
Get:178 http://172.17.0.1/private stretch-staging/main armhf libxext-dev armhf 2:1.3.3-1 [102 kB]
Get:179 http://172.17.0.1/private stretch-staging/main armhf x11proto-fixes-dev all 1:5.0-2 [19.2 kB]
Get:180 http://172.17.0.1/private stretch-staging/main armhf libxfixes-dev armhf 1:5.0.3-1 [22.7 kB]
Get:181 http://172.17.0.1/private stretch-staging/main armhf libxi-dev armhf 2:1.7.9-1 [236 kB]
Get:182 http://172.17.0.1/private stretch-staging/main armhf x11proto-record-dev all 1.14.2-1 [33.9 kB]
Get:183 http://172.17.0.1/private stretch-staging/main armhf libxtst-dev armhf 2:1.2.3-1 [30.5 kB]
Get:184 http://172.17.0.1/private stretch-staging/main armhf libatspi2.0-dev armhf 2.22.0-6+deb9u1 [63.6 kB]
Get:185 http://172.17.0.1/private stretch-staging/main armhf libatk-bridge2.0-dev armhf 2.22.0-2 [7238 B]
Get:186 http://172.17.0.1/private stretch-staging/main armhf libatk1.0-dev armhf 2.22.0-1 [115 kB]
Get:187 http://172.17.0.1/private stretch-staging/main armhf libcairo-script-interpreter2 armhf 1.14.8-1 [363 kB]
Get:188 http://172.17.0.1/private stretch-staging/main armhf libexpat1-dev armhf 2.2.0-2+deb9u1 [116 kB]
Get:189 http://172.17.0.1/private stretch-staging/main armhf libpng-dev armhf 1.6.28-1+deb9u1 [232 kB]
Get:190 http://172.17.0.1/private stretch-staging/main armhf libfreetype6-dev armhf 2.6.3-3.2 [5757 kB]
Get:191 http://172.17.0.1/private stretch-staging/main armhf libfontconfig1-dev armhf 2.11.0-6.7 [877 kB]
Get:192 http://172.17.0.1/private stretch-staging/main armhf x11proto-render-dev all 2:0.11.1-2 [20.8 kB]
Get:193 http://172.17.0.1/private stretch-staging/main armhf libxrender-dev armhf 1:0.9.10-1 [37.7 kB]
Get:194 http://172.17.0.1/private stretch-staging/main armhf libice6 armhf 2:1.0.9-2 [51.6 kB]
Get:195 http://172.17.0.1/private stretch-staging/main armhf libsm6 armhf 2:1.2.2-1+b1 [31.2 kB]
Get:196 http://172.17.0.1/private stretch-staging/main armhf libice-dev armhf 2:1.0.9-2 [58.8 kB]
Get:197 http://172.17.0.1/private stretch-staging/main armhf libsm-dev armhf 2:1.2.2-1+b1 [33.5 kB]
Get:198 http://172.17.0.1/private stretch-staging/main armhf libpixman-1-dev armhf 0.34.0-1 [472 kB]
Get:199 http://172.17.0.1/private stretch-staging/main armhf libxcb-render0-dev armhf 1.12-1 [108 kB]
Get:200 http://172.17.0.1/private stretch-staging/main armhf libxcb-shm0-dev armhf 1.12-1 [97.1 kB]
Get:201 http://172.17.0.1/private stretch-staging/main armhf libcairo2-dev armhf 1.14.8-1 [811 kB]
Get:202 http://172.17.0.1/private stretch-staging/main armhf libepoxy-dev armhf 1.3.1-2 [113 kB]
Get:203 http://172.17.0.1/private stretch-staging/main armhf libgdk-pixbuf2.0-dev armhf 2.36.5-2+deb9u2 [53.8 kB]
Get:204 http://172.17.0.1/private stretch-staging/main armhf libgmpxx4ldbl armhf 2:6.1.2+dfsg-1 [21.5 kB]
Get:205 http://172.17.0.1/private stretch-staging/main armhf libgmp-dev armhf 2:6.1.2+dfsg-1 [563 kB]
Get:206 http://172.17.0.1/private stretch-staging/main armhf libgpm-dev armhf 1.20.4-6.2 [35.5 kB]
Get:207 http://172.17.0.1/private stretch-staging/main armhf libgraphite2-dev armhf 1.3.10-1 [21.4 kB]
Get:208 http://172.17.0.1/private stretch-staging/main armhf libharfbuzz-icu0 armhf 1.4.2-1 [465 kB]
Get:209 http://172.17.0.1/private stretch-staging/main armhf libharfbuzz-gobject0 armhf 1.4.2-1 [472 kB]
Get:210 http://172.17.0.1/private stretch-staging/main armhf libicu-dev armhf 57.1-6+deb9u2 [15.8 MB]
Get:211 http://172.17.0.1/private stretch-staging/main armhf libharfbuzz-dev armhf 1.4.2-1 [700 kB]
Get:212 http://172.17.0.1/private stretch-staging/main armhf libxft-dev armhf 2.3.2-1 [59.1 kB]
Get:213 http://172.17.0.1/private stretch-staging/main armhf libpango1.0-dev armhf 1.40.5-1 [427 kB]
Get:214 http://172.17.0.1/private stretch-staging/main armhf x11proto-xinerama-dev all 1.2.1-2 [4938 B]
Get:215 http://172.17.0.1/private stretch-staging/main armhf libxinerama-dev armhf 2:1.1.3-1+b1 [18.7 kB]
Get:216 http://172.17.0.1/private stretch-staging/main armhf x11proto-randr-dev all 1.5.0-1 [49.7 kB]
Get:217 http://172.17.0.1/private stretch-staging/main armhf libxrandr-dev armhf 2:1.5.1-1 [42.5 kB]
Get:218 http://172.17.0.1/private stretch-staging/main armhf libxcursor-dev armhf 1:1.1.14-1+deb9u2 [39.5 kB]
Get:219 http://172.17.0.1/private stretch-staging/main armhf x11proto-composite-dev all 1:0.4.2-2 [15.3 kB]
Get:220 http://172.17.0.1/private stretch-staging/main armhf libxcomposite-dev armhf 1:0.4.4-2 [19.8 kB]
Get:221 http://172.17.0.1/private stretch-staging/main armhf x11proto-damage-dev all 1:1.2.1-2 [11.8 kB]
Get:222 http://172.17.0.1/private stretch-staging/main armhf libxdamage-dev armhf 1:1.1.4-2+b1 [13.9 kB]
Get:223 http://172.17.0.1/private stretch-staging/main armhf xkb-data all 2.19-1+deb9u1 [650 kB]
Get:224 http://172.17.0.1/private stretch-staging/main armhf libxkbcommon0 armhf 0.7.1-2~deb9u1 [110 kB]
Get:225 http://172.17.0.1/private stretch-staging/main armhf libxkbcommon-dev armhf 0.7.1-2~deb9u1 [337 kB]
Get:226 http://172.17.0.1/private stretch-staging/main armhf libgtk-3-dev armhf 3.22.11-1+rpi1 [944 kB]
Get:227 http://172.17.0.1/private stretch-staging/main armhf libxml2-utils armhf 2.9.4+dfsg1-2.2+deb9u2 [101 kB]
Get:228 http://172.17.0.1/private stretch-staging/main armhf libgtk2.0-dev armhf 2.24.31-2 [2334 kB]
Get:229 http://172.17.0.1/private stretch-staging/main armhf liblua5.2-0 armhf 5.2.4-1.1 [82.8 kB]
Get:230 http://172.17.0.1/private stretch-staging/main armhf libtinfo-dev armhf 6.0+20161126-1+deb9u2 [65.6 kB]
Get:231 http://172.17.0.1/private stretch-staging/main armhf libreadline-dev armhf 7.0-3 [109 kB]
Get:232 http://172.17.0.1/private stretch-staging/main armhf liblua5.2-dev armhf 5.2.4-1.1 [115 kB]
Get:233 http://172.17.0.1/private stretch-staging/main armhf libperl-dev armhf 5.24.1-3+deb9u5 [2495 kB]
Get:234 http://172.17.0.1/private stretch-staging/main armhf libpython3.5 armhf 3.5.3-1+deb9u1 [1169 kB]
Get:235 http://172.17.0.1/private stretch-staging/main armhf libpython3.5-dev armhf 3.5.3-1+deb9u1 [36.9 MB]
Get:236 http://172.17.0.1/private stretch-staging/main armhf libpython3-dev armhf 3.5.3-1 [18.7 kB]
Get:237 http://172.17.0.1/private stretch-staging/main armhf rubygems-integration all 1.11 [4994 B]
Get:238 http://172.17.0.1/private stretch-staging/main armhf ruby2.3 armhf 2.3.3-1+deb9u6+rpi1 [188 kB]
Get:239 http://172.17.0.1/private stretch-staging/main armhf ruby armhf 1:2.3.3 [10.8 kB]
Get:240 http://172.17.0.1/private stretch-staging/main armhf rake all 10.5.0-2 [49.4 kB]
Get:241 http://172.17.0.1/private stretch-staging/main armhf ruby-did-you-mean all 1.0.0-2 [11.2 kB]
Get:242 http://172.17.0.1/private stretch-staging/main armhf ruby-minitest all 5.9.0-1 [51.1 kB]
Get:243 http://172.17.0.1/private stretch-staging/main armhf ruby-net-telnet all 0.1.1-2 [12.5 kB]
Get:244 http://172.17.0.1/private stretch-staging/main armhf ruby-power-assert all 0.3.0-1 [7902 B]
Get:245 http://172.17.0.1/private stretch-staging/main armhf ruby-test-unit all 3.1.7-2 [69.6 kB]
Get:246 http://172.17.0.1/private stretch-staging/main armhf libyaml-0-2 armhf 0.1.7-2 [39.9 kB]
Get:247 http://172.17.0.1/private stretch-staging/main armhf libruby2.3 armhf 2.3.3-1+deb9u6+rpi1 [2867 kB]
Get:248 http://172.17.0.1/private stretch-staging/main armhf libsepol1-dev armhf 2.6-2 [285 kB]
Get:249 http://172.17.0.1/private stretch-staging/main armhf libselinux1-dev armhf 2.6-3 [171 kB]
Get:250 http://172.17.0.1/private stretch-staging/main armhf libtcl8.6 armhf 8.6.6+dfsg-1 [861 kB]
Get:251 http://172.17.0.1/private stretch-staging/main armhf libxt6 armhf 1:1.1.5-1 [155 kB]
Get:252 http://172.17.0.1/private stretch-staging/main armhf libxmu6 armhf 2:1.1.2-2 [52.0 kB]
Get:253 http://172.17.0.1/private stretch-staging/main armhf libxpm4 armhf 1:3.5.12-1 [43.6 kB]
Get:254 http://172.17.0.1/private stretch-staging/main armhf libxaw7 armhf 2:1.0.13-1 [164 kB]
Get:255 http://172.17.0.1/private stretch-staging/main armhf libxt-dev armhf 1:1.1.5-1 [390 kB]
Get:256 http://172.17.0.1/private stretch-staging/main armhf libxmu-headers all 2:1.1.2-2 [51.9 kB]
Get:257 http://172.17.0.1/private stretch-staging/main armhf libxmu-dev armhf 2:1.1.2-2 [56.2 kB]
Get:258 http://172.17.0.1/private stretch-staging/main armhf libxpm-dev armhf 1:3.5.12-1 [98.1 kB]
Get:259 http://172.17.0.1/private stretch-staging/main armhf libxaw7-dev armhf 2:1.0.13-1 [223 kB]
Get:260 http://172.17.0.1/private stretch-staging/main armhf lua5.2 armhf 5.2.4-1.1 [74.4 kB]
Get:261 http://172.17.0.1/private stretch-staging/main armhf python3.5-dev armhf 3.5.3-1+deb9u1 [413 kB]
Get:262 http://172.17.0.1/private stretch-staging/main armhf python3-dev armhf 3.5.3-1 [1158 B]
Get:263 http://172.17.0.1/private stretch-staging/main armhf ruby2.3-dev armhf 2.3.3-1+deb9u6+rpi1 [1033 kB]
Get:264 http://172.17.0.1/private stretch-staging/main armhf ruby-dev armhf 1:2.3.3 [9576 B]
Get:265 http://172.17.0.1/private stretch-staging/main armhf tcl8.6 armhf 8.6.6+dfsg-1 [123 kB]
Get:266 http://172.17.0.1/private stretch-staging/main armhf tcl armhf 8.6.0+9 [5502 B]
Get:267 http://172.17.0.1/private stretch-staging/main armhf tcl8.6-dev armhf 8.6.6+dfsg-1 [890 kB]
Get:268 http://172.17.0.1/private stretch-staging/main armhf tcl-dev armhf 8.6.0+9 [7986 B]
Get:269 http://172.17.0.1/private stretch-staging/main armhf libattr1-dev armhf 1:2.4.47-2 [38.7 kB]
Get:270 http://172.17.0.1/private stretch-staging/main armhf libacl1-dev armhf 2.2.52-3 [84.1 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 165 MB in 21s (7683 kB/s)
(Reading database ... 12715 files and directories currently installed.)
Preparing to unpack .../libperl5.24_5.24.1-3+deb9u5_armhf.deb ...
Unpacking libperl5.24:armhf (5.24.1-3+deb9u5) over (5.24.1-3+deb9u2) ...
Preparing to unpack .../perl_5.24.1-3+deb9u5_armhf.deb ...
Unpacking perl (5.24.1-3+deb9u5) over (5.24.1-3+deb9u2) ...
Preparing to unpack .../perl-base_5.24.1-3+deb9u5_armhf.deb ...
Unpacking perl-base (5.24.1-3+deb9u5) over (5.24.1-3+deb9u2) ...
Setting up perl-base (5.24.1-3+deb9u5) ...
(Reading database ... 12715 files and directories currently installed.)
Preparing to unpack .../perl-modules-5.24_5.24.1-3+deb9u5_all.deb ...
Unpacking perl-modules-5.24 (5.24.1-3+deb9u5) over (5.24.1-3+deb9u2) ...
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.3-1_armhf.deb ...
Unpacking libbsd0:armhf (0.8.3-1) ...
Preparing to unpack .../libncurses5_6.0+20161126-1+deb9u2_armhf.deb ...
Unpacking libncurses5:armhf (6.0+20161126-1+deb9u2) over (6.0+20161126-1+deb9u1) ...
Preparing to unpack .../libtinfo5_6.0+20161126-1+deb9u2_armhf.deb ...
Unpacking libtinfo5:armhf (6.0+20161126-1+deb9u2) over (6.0+20161126-1+deb9u1) ...
Setting up libtinfo5:armhf (6.0+20161126-1+deb9u2) ...
(Reading database ... 12907 files and directories currently installed.)
Preparing to unpack .../libncursesw5_6.0+20161126-1+deb9u2_armhf.deb ...
Unpacking libncursesw5:armhf (6.0+20161126-1+deb9u2) over (6.0+20161126-1+deb9u1) ...
Setting up libncursesw5:armhf (6.0+20161126-1+deb9u2) ...
Selecting previously unselected package bsdmainutils.
(Reading database ... 12907 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.0-2+deb9u1_armhf.deb ...
Unpacking libexpat1:armhf (2.2.0-2+deb9u1) ...
Preparing to unpack .../04-libpng16-16_1.6.28-1+deb9u1_armhf.deb ...
Unpacking libpng16-16:armhf (1.6.28-1+deb9u1) over (1.6.28-1) ...
Selecting previously unselected package libfreetype6:armhf.
Preparing to unpack .../05-libfreetype6_2.6.3-3.2_armhf.deb ...
Unpacking libfreetype6:armhf (2.6.3-3.2) ...
Selecting previously unselected package ucf.
Preparing to unpack .../06-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 .../07-fonts-dejavu-core_2.37-1_all.deb ...
Unpacking fonts-dejavu-core (2.37-1) ...
Selecting previously unselected package fontconfig-config.
Preparing to unpack .../08-fontconfig-config_2.11.0-6.7_all.deb ...
Unpacking fontconfig-config (2.11.0-6.7) ...
Selecting previously unselected package libfontconfig1:armhf.
Preparing to unpack .../09-libfontconfig1_2.11.0-6.7_armhf.deb ...
Unpacking libfontconfig1:armhf (2.11.0-6.7) ...
Selecting previously unselected package fontconfig.
Preparing to unpack .../10-fontconfig_2.11.0-6.7_armhf.deb ...
Unpacking fontconfig (2.11.0-6.7) ...
Selecting previously unselected package libjbig0:armhf.
Preparing to unpack .../11-libjbig0_2.1-3.1_armhf.deb ...
Unpacking libjbig0:armhf (2.1-3.1) ...
Selecting previously unselected package liblzo2-2:armhf.
Preparing to unpack .../12-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 .../13-libpcrecpp0v5_2%3a8.39-3_armhf.deb ...
Unpacking libpcrecpp0v5:armhf (2:8.39-3) ...
Selecting previously unselected package libxau6:armhf.
Preparing to unpack .../14-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 .../15-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 .../16-libxcb1_1.12-1_armhf.deb ...
Unpacking libxcb1:armhf (1.12-1) ...
Selecting previously unselected package libx11-data.
Preparing to unpack .../17-libx11-data_2%3a1.6.4-3+deb9u1_all.deb ...
Unpacking libx11-data (2:1.6.4-3+deb9u1) ...
Selecting previously unselected package libx11-6:armhf.
Preparing to unpack .../18-libx11-6_2%3a1.6.4-3+deb9u1_armhf.deb ...
Unpacking libx11-6:armhf (2:1.6.4-3+deb9u1) ...
Selecting previously unselected package libxext6:armhf.
Preparing to unpack .../19-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 .../20-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 .../21-libxft2_2.3.2-1_armhf.deb ...
Unpacking libxft2:armhf (2.3.2-1) ...
Selecting previously unselected package libssl1.1:armhf.
Preparing to unpack .../22-libssl1.1_1.1.0j-1~deb9u1_armhf.deb ...
Unpacking libssl1.1:armhf (1.1.0j-1~deb9u1) ...
Selecting previously unselected package libpython3.5-minimal:armhf.
Preparing to unpack .../23-libpython3.5-minimal_3.5.3-1+deb9u1_armhf.deb ...
Unpacking libpython3.5-minimal:armhf (3.5.3-1+deb9u1) ...
Selecting previously unselected package python3.5-minimal.
Preparing to unpack .../24-python3.5-minimal_3.5.3-1+deb9u1_armhf.deb ...
Unpacking python3.5-minimal (3.5.3-1+deb9u1) ...
Selecting previously unselected package python3-minimal.
Preparing to unpack .../25-python3-minimal_3.5.3-1_armhf.deb ...
Unpacking python3-minimal (3.5.3-1) ...
Selecting previously unselected package mime-support.
Preparing to unpack .../26-mime-support_3.60_all.deb ...
Unpacking mime-support (3.60) ...
Selecting previously unselected package libmpdec2:armhf.
Preparing to unpack .../27-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 .../28-libpython3.5-stdlib_3.5.3-1+deb9u1_armhf.deb ...
Unpacking libpython3.5-stdlib:armhf (3.5.3-1+deb9u1) ...
Selecting previously unselected package python3.5.
Preparing to unpack .../29-python3.5_3.5.3-1+deb9u1_armhf.deb ...
Unpacking python3.5 (3.5.3-1+deb9u1) ...
Selecting previously unselected package libpython3-stdlib:armhf.
Preparing to unpack .../30-libpython3-stdlib_3.5.3-1_armhf.deb ...
Unpacking libpython3-stdlib:armhf (3.5.3-1) ...
Selecting previously unselected package dh-python.
Preparing to unpack .../31-dh-python_2.20170125_all.deb ...
Unpacking dh-python (2.20170125) ...
Setting up libssl1.1:armhf (1.1.0j-1~deb9u1) ...
Setting up libpython3.5-minimal:armhf (3.5.3-1+deb9u1) ...
Setting up libexpat1:armhf (2.2.0-2+deb9u1) ...
Setting up python3.5-minimal (3.5.3-1+deb9u1) ...
Setting up python3-minimal (3.5.3-1) ...
Selecting previously unselected package python3.
(Reading database ... 14744 files and directories currently installed.)
Preparing to unpack .../000-python3_3.5.3-1_armhf.deb ...
Unpacking python3 (3.5.3-1) ...
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.2r-1~deb9u1_armhf.deb ...
Unpacking libssl1.0.2:armhf (1.0.2r-1~deb9u1) ...
Selecting previously unselected package libmagic-mgc.
Preparing to unpack .../003-libmagic-mgc_1%3a5.30-1+deb9u2_armhf.deb ...
Unpacking libmagic-mgc (1:5.30-1+deb9u2) ...
Selecting previously unselected package libmagic1:armhf.
Preparing to unpack .../004-libmagic1_1%3a5.30-1+deb9u2_armhf.deb ...
Unpacking libmagic1:armhf (1:5.30-1+deb9u2) ...
Selecting previously unselected package file.
Preparing to unpack .../005-file_1%3a5.30-1+deb9u2_armhf.deb ...
Unpacking file (1:5.30-1+deb9u2) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../006-gettext-base_0.19.8.1-2_armhf.deb ...
Unpacking gettext-base (0.19.8.1-2) ...
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 libffi6:armhf.
Preparing to unpack .../009-libffi6_3.2.1-6_armhf.deb ...
Unpacking libffi6:armhf (3.2.1-6) ...
Selecting previously unselected package libp11-kit0:armhf.
Preparing to unpack .../010-libp11-kit0_0.23.3-2_armhf.deb ...
Unpacking libp11-kit0:armhf (0.23.3-2) ...
Selecting previously unselected package libtasn1-6:armhf.
Preparing to unpack .../011-libtasn1-6_4.10-1.1+deb9u1_armhf.deb ...
Unpacking libtasn1-6:armhf (4.10-1.1+deb9u1) ...
Selecting previously unselected package libgnutls30:armhf.
Preparing to unpack .../012-libgnutls30_3.5.8-5+deb9u4_armhf.deb ...
Unpacking libgnutls30:armhf (3.5.8-5+deb9u4) ...
Selecting previously unselected package libgpm2:armhf.
Preparing to unpack .../013-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 .../014-libkeyutils1_1.5.9-9_armhf.deb ...
Unpacking libkeyutils1:armhf (1.5.9-9) ...
Selecting previously unselected package libkrb5support0:armhf.
Preparing to unpack .../015-libkrb5support0_1.15-1+deb9u1_armhf.deb ...
Unpacking libkrb5support0:armhf (1.15-1+deb9u1) ...
Selecting previously unselected package libk5crypto3:armhf.
Preparing to unpack .../016-libk5crypto3_1.15-1+deb9u1_armhf.deb ...
Unpacking libk5crypto3:armhf (1.15-1+deb9u1) ...
Selecting previously unselected package libkrb5-3:armhf.
Preparing to unpack .../017-libkrb5-3_1.15-1+deb9u1_armhf.deb ...
Unpacking libkrb5-3:armhf (1.15-1+deb9u1) ...
Selecting previously unselected package libgssapi-krb5-2:armhf.
Preparing to unpack .../018-libgssapi-krb5-2_1.15-1+deb9u1_armhf.deb ...
Unpacking libgssapi-krb5-2:armhf (1.15-1+deb9u1) ...
Selecting previously unselected package libicu57:armhf.
Preparing to unpack .../019-libicu57_57.1-6+deb9u2_armhf.deb ...
Unpacking libicu57:armhf (57.1-6+deb9u2) ...
Selecting previously unselected package libxml2:armhf.
Preparing to unpack .../020-libxml2_2.9.4+dfsg1-2.2+deb9u2_armhf.deb ...
Unpacking libxml2:armhf (2.9.4+dfsg1-2.2+deb9u2) ...
Selecting previously unselected package hicolor-icon-theme.
Preparing to unpack .../021-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 .../022-libglib2.0-0_2.50.3-2_armhf.deb ...
Unpacking libglib2.0-0:armhf (2.50.3-2) ...
Selecting previously unselected package libjpeg62-turbo:armhf.
Preparing to unpack .../023-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 .../024-libtiff5_4.0.8-2+deb9u4_armhf.deb ...
Unpacking libtiff5:armhf (4.0.8-2+deb9u4) ...
Selecting previously unselected package shared-mime-info.
Preparing to unpack .../025-shared-mime-info_1.8-1+deb9u1_armhf.deb ...
Unpacking shared-mime-info (1.8-1+deb9u1) ...
Selecting previously unselected package libgdk-pixbuf2.0-common.
Preparing to unpack .../026-libgdk-pixbuf2.0-common_2.36.5-2+deb9u2_all.deb ...
Unpacking libgdk-pixbuf2.0-common (2.36.5-2+deb9u2) ...
Selecting previously unselected package libgdk-pixbuf2.0-0:armhf.
Preparing to unpack .../027-libgdk-pixbuf2.0-0_2.36.5-2+deb9u2_armhf.deb ...
Unpacking libgdk-pixbuf2.0-0:armhf (2.36.5-2+deb9u2) ...
Selecting previously unselected package gtk-update-icon-cache.
Preparing to unpack .../028-gtk-update-icon-cache_3.22.11-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.11-1+rpi1) ...
Selecting previously unselected package libpixman-1-0:armhf.
Preparing to unpack .../029-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 .../030-libxcb-render0_1.12-1_armhf.deb ...
Unpacking libxcb-render0:armhf (1.12-1) ...
Selecting previously unselected package libxcb-shm0:armhf.
Preparing to unpack .../031-libxcb-shm0_1.12-1_armhf.deb ...
Unpacking libxcb-shm0:armhf (1.12-1) ...
Selecting previously unselected package libcairo2:armhf.
Preparing to unpack .../032-libcairo2_1.14.8-1_armhf.deb ...
Unpacking libcairo2:armhf (1.14.8-1) ...
Selecting previously unselected package libcroco3:armhf.
Preparing to unpack .../033-libcroco3_0.6.11-3_armhf.deb ...
Unpacking libcroco3:armhf (0.6.11-3) ...
Selecting previously unselected package libthai-data.
Preparing to unpack .../034-libthai-data_0.1.26-1_all.deb ...
Unpacking libthai-data (0.1.26-1) ...
Selecting previously unselected package libdatrie1:armhf.
Preparing to unpack .../035-libdatrie1_0.2.10-4_armhf.deb ...
Unpacking libdatrie1:armhf (0.2.10-4) ...
Selecting previously unselected package libthai0:armhf.
Preparing to unpack .../036-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 .../037-libpango-1.0-0_1.40.5-1_armhf.deb ...
Unpacking libpango-1.0-0:armhf (1.40.5-1) ...
Selecting previously unselected package libgraphite2-3:armhf.
Preparing to unpack .../038-libgraphite2-3_1.3.10-1_armhf.deb ...
Unpacking libgraphite2-3:armhf (1.3.10-1) ...
Selecting previously unselected package libharfbuzz0b:armhf.
Preparing to unpack .../039-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 .../040-libpangoft2-1.0-0_1.40.5-1_armhf.deb ...
Unpacking libpangoft2-1.0-0:armhf (1.40.5-1) ...
Selecting previously unselected package libpangocairo-1.0-0:armhf.
Preparing to unpack .../041-libpangocairo-1.0-0_1.40.5-1_armhf.deb ...
Unpacking libpangocairo-1.0-0:armhf (1.40.5-1) ...
Selecting previously unselected package librsvg2-2:armhf.
Preparing to unpack .../042-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 .../043-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 .../044-adwaita-icon-theme_3.22.0-1+deb9u1_all.deb ...
Unpacking adwaita-icon-theme (3.22.0-1+deb9u1) ...
Selecting previously unselected package libsigsegv2:armhf.
Preparing to unpack .../045-libsigsegv2_2.10-5_armhf.deb ...
Unpacking libsigsegv2:armhf (2.10-5) ...
Selecting previously unselected package m4.
Preparing to unpack .../046-m4_1.4.18-1_armhf.deb ...
Unpacking m4 (1.4.18-1) ...
Selecting previously unselected package autoconf.
Preparing to unpack .../047-autoconf_2.69-10_all.deb ...
Unpacking autoconf (2.69-10) ...
Selecting previously unselected package autotools-dev.
Preparing to unpack .../048-autotools-dev_20161112.1_all.deb ...
Unpacking autotools-dev (20161112.1) ...
Selecting previously unselected package automake.
Preparing to unpack .../049-automake_1%3a1.15-6_all.deb ...
Unpacking automake (1:1.15-6) ...
Selecting previously unselected package autopoint.
Preparing to unpack .../050-autopoint_0.19.8.1-2_all.deb ...
Unpacking autopoint (0.19.8.1-2) ...
Selecting previously unselected package openssl.
Preparing to unpack .../051-openssl_1.1.0j-1~deb9u1_armhf.deb ...
Unpacking openssl (1.1.0j-1~deb9u1) ...
Selecting previously unselected package ca-certificates.
Preparing to unpack .../052-ca-certificates_20161130+nmu1+deb9u1_all.deb ...
Unpacking ca-certificates (20161130+nmu1+deb9u1) ...
Selecting previously unselected package libdconf1:armhf.
Preparing to unpack .../053-libdconf1_0.26.0-2_armhf.deb ...
Unpacking libdconf1:armhf (0.26.0-2) ...
Selecting previously unselected package dconf-service.
Preparing to unpack .../054-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 .../055-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 .../056-libtool_2.4.6-2_all.deb ...
Unpacking libtool (2.4.6-2) ...
Selecting previously unselected package dh-autoreconf.
Preparing to unpack .../057-dh-autoreconf_14_all.deb ...
Unpacking dh-autoreconf (14) ...
Selecting previously unselected package libarchive-zip-perl.
Preparing to unpack .../058-libarchive-zip-perl_1.59-1+deb9u1_all.deb ...
Unpacking libarchive-zip-perl (1.59-1+deb9u1) ...
Selecting previously unselected package libfile-stripnondeterminism-perl.
Preparing to unpack .../059-libfile-stripnondeterminism-perl_0.034-1_all.deb ...
Unpacking libfile-stripnondeterminism-perl (0.034-1) ...
Selecting previously unselected package libtimedate-perl.
Preparing to unpack .../060-libtimedate-perl_2.3000-2_all.deb ...
Unpacking libtimedate-perl (2.3000-2) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../061-dh-strip-nondeterminism_0.034-1_all.deb ...
Unpacking dh-strip-nondeterminism (0.034-1) ...
Selecting previously unselected package libunistring0:armhf.
Preparing to unpack .../062-libunistring0_0.9.6+really0.9.3-0.1_armhf.deb ...
Unpacking libunistring0:armhf (0.9.6+really0.9.3-0.1) ...
Selecting previously unselected package gettext.
Preparing to unpack .../063-gettext_0.19.8.1-2_armhf.deb ...
Unpacking gettext (0.19.8.1-2) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../064-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 .../065-po-debconf_1.0.20_all.deb ...
Unpacking po-debconf (1.0.20) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../066-debhelper_10.2.5_all.deb ...
Unpacking debhelper (10.2.5) ...
Selecting previously unselected package libgirepository-1.0-1:armhf.
Preparing to unpack .../067-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 .../068-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 .../069-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 .../070-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 .../071-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 .../072-libdbus-1-3_1.10.28-0+deb9u1_armhf.deb ...
Unpacking libdbus-1-3:armhf (1.10.28-0+deb9u1) over (1.10.22-0+deb9u1) ...
Selecting previously unselected package libatspi2.0-0:armhf.
Preparing to unpack .../073-libatspi2.0-0_2.22.0-6+deb9u1_armhf.deb ...
Unpacking libatspi2.0-0:armhf (2.22.0-6+deb9u1) ...
Selecting previously unselected package gir1.2-atspi-2.0:armhf.
Preparing to unpack .../074-gir1.2-atspi-2.0_2.22.0-6+deb9u1_armhf.deb ...
Unpacking gir1.2-atspi-2.0:armhf (2.22.0-6+deb9u1) ...
Selecting previously unselected package libcairo-gobject2:armhf.
Preparing to unpack .../075-libcairo-gobject2_1.14.8-1_armhf.deb ...
Unpacking libcairo-gobject2:armhf (1.14.8-1) ...
Selecting previously unselected package gir1.2-freedesktop:armhf.
Preparing to unpack .../076-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 .../077-gir1.2-gdkpixbuf-2.0_2.36.5-2+deb9u2_armhf.deb ...
Unpacking gir1.2-gdkpixbuf-2.0:armhf (2.36.5-2+deb9u2) ...
Selecting previously unselected package libgtk2.0-common.
Preparing to unpack .../078-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 .../079-libpangoxft-1.0-0_1.40.5-1_armhf.deb ...
Unpacking libpangoxft-1.0-0:armhf (1.40.5-1) ...
Selecting previously unselected package gir1.2-pango-1.0:armhf.
Preparing to unpack .../080-gir1.2-pango-1.0_1.40.5-1_armhf.deb ...
Unpacking gir1.2-pango-1.0:armhf (1.40.5-1) ...
Selecting previously unselected package libavahi-common-data:armhf.
Preparing to unpack .../081-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 .../082-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 .../083-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 .../084-libcups2_2.2.1-8+deb9u2_armhf.deb ...
Unpacking libcups2:armhf (2.2.1-8+deb9u2) ...
Selecting previously unselected package libxcomposite1:armhf.
Preparing to unpack .../085-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 .../086-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 .../087-libxcursor1_1%3a1.1.14-1+deb9u2_armhf.deb ...
Unpacking libxcursor1:armhf (1:1.1.14-1+deb9u2) ...
Selecting previously unselected package libxdamage1:armhf.
Preparing to unpack .../088-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 .../089-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 .../090-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 .../091-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 .../092-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 .../093-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 .../094-libgtk-3-common_3.22.11-1+rpi1_all.deb ...
Unpacking libgtk-3-common (3.22.11-1+rpi1) ...
Selecting previously unselected package libatk-bridge2.0-0:armhf.
Preparing to unpack .../095-libatk-bridge2.0-0_2.22.0-2_armhf.deb ...
Unpacking libatk-bridge2.0-0:armhf (2.22.0-2) ...
Selecting previously unselected package liblcms2-2:armhf.
Preparing to unpack .../096-liblcms2-2_2.8-4+deb9u1_armhf.deb ...
Unpacking liblcms2-2:armhf (2.8-4+deb9u1) ...
Selecting previously unselected package libcolord2:armhf.
Preparing to unpack .../097-libcolord2_1.3.3-2_armhf.deb ...
Unpacking libcolord2:armhf (1.3.3-2) ...
Selecting previously unselected package libepoxy0:armhf.
Preparing to unpack .../098-libepoxy0_1.3.1-2_armhf.deb ...
Unpacking libepoxy0:armhf (1.3.1-2) ...
Selecting previously unselected package libjson-glib-1.0-common.
Preparing to unpack .../099-libjson-glib-1.0-common_1.2.6-1_all.deb ...
Unpacking libjson-glib-1.0-common (1.2.6-1) ...
Selecting previously unselected package libjson-glib-1.0-0:armhf.
Preparing to unpack .../100-libjson-glib-1.0-0_1.2.6-1_armhf.deb ...
Unpacking libjson-glib-1.0-0:armhf (1.2.6-1) ...
Selecting previously unselected package libproxy1v5:armhf.
Preparing to unpack .../101-libproxy1v5_0.4.14-2_armhf.deb ...
Unpacking libproxy1v5:armhf (0.4.14-2) ...
Selecting previously unselected package glib-networking-common.
Preparing to unpack .../102-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 .../103-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 .../104-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 .../105-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 .../106-libsoup2.4-1_2.56.0-2+deb9u2_armhf.deb ...
Unpacking libsoup2.4-1:armhf (2.56.0-2+deb9u2) ...
Selecting previously unselected package libsoup-gnome2.4-1:armhf.
Preparing to unpack .../107-libsoup-gnome2.4-1_2.56.0-2+deb9u2_armhf.deb ...
Unpacking libsoup-gnome2.4-1:armhf (2.56.0-2+deb9u2) ...
Selecting previously unselected package librest-0.7-0:armhf.
Preparing to unpack .../108-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 .../109-libgtk-3-0_3.22.11-1+rpi1_armhf.deb ...
Unpacking libgtk-3-0:armhf (3.22.11-1+rpi1) ...
Selecting previously unselected package gir1.2-gtk-3.0:armhf.
Preparing to unpack .../110-gir1.2-gtk-3.0_3.22.11-1+rpi1_armhf.deb ...
Unpacking gir1.2-gtk-3.0:armhf (3.22.11-1+rpi1) ...
Selecting previously unselected package icu-devtools.
Preparing to unpack .../111-icu-devtools_57.1-6+deb9u2_armhf.deb ...
Unpacking icu-devtools (57.1-6+deb9u2) ...
Selecting previously unselected package libelf1:armhf.
Preparing to unpack .../112-libelf1_0.168-1_armhf.deb ...
Unpacking libelf1:armhf (0.168-1) ...
Selecting previously unselected package libglib2.0-data.
Preparing to unpack .../113-libglib2.0-data_2.50.3-2_all.deb ...
Unpacking libglib2.0-data (2.50.3-2) ...
Selecting previously unselected package libglib2.0-bin.
Preparing to unpack .../114-libglib2.0-bin_2.50.3-2_armhf.deb ...
Unpacking libglib2.0-bin (2.50.3-2) ...
Selecting previously unselected package libpcre16-3:armhf.
Preparing to unpack .../115-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 .../116-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 .../117-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 .../118-pkg-config_0.29-4_armhf.deb ...
Unpacking pkg-config (0.29-4) ...
Selecting previously unselected package zlib1g-dev:armhf.
Preparing to unpack .../119-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 .../120-libglib2.0-dev_2.50.3-2_armhf.deb ...
Unpacking libglib2.0-dev (2.50.3-2) ...
Selecting previously unselected package libdbus-1-dev:armhf.
Preparing to unpack .../121-libdbus-1-dev_1.10.28-0+deb9u1_armhf.deb ...
Unpacking libdbus-1-dev:armhf (1.10.28-0+deb9u1) ...
Selecting previously unselected package x11-common.
Preparing to unpack .../122-x11-common_1%3a7.7+19_all.deb ...
Unpacking x11-common (1:7.7+19) ...
Selecting previously unselected package libxtst6:armhf.
Preparing to unpack .../123-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 .../124-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 .../125-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 .../126-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 .../127-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 .../128-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 .../129-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 .../130-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 .../131-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 .../132-libxcb1-dev_1.12-1_armhf.deb ...
Unpacking libxcb1-dev:armhf (1.12-1) ...
Selecting previously unselected package libx11-dev:armhf.
Preparing to unpack .../133-libx11-dev_2%3a1.6.4-3+deb9u1_armhf.deb ...
Unpacking libx11-dev:armhf (2:1.6.4-3+deb9u1) ...
Selecting previously unselected package x11proto-xext-dev.
Preparing to unpack .../134-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 .../135-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 .../136-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 .../137-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 .../138-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 .../139-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 .../140-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 .../141-libatspi2.0-dev_2.22.0-6+deb9u1_armhf.deb ...
Unpacking libatspi2.0-dev:armhf (2.22.0-6+deb9u1) ...
Selecting previously unselected package libatk-bridge2.0-dev:armhf.
Preparing to unpack .../142-libatk-bridge2.0-dev_2.22.0-2_armhf.deb ...
Unpacking libatk-bridge2.0-dev:armhf (2.22.0-2) ...
Selecting previously unselected package libatk1.0-dev:armhf.
Preparing to unpack .../143-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 .../144-libcairo-script-interpreter2_1.14.8-1_armhf.deb ...
Unpacking libcairo-script-interpreter2:armhf (1.14.8-1) ...
Selecting previously unselected package libexpat1-dev:armhf.
Preparing to unpack .../145-libexpat1-dev_2.2.0-2+deb9u1_armhf.deb ...
Unpacking libexpat1-dev:armhf (2.2.0-2+deb9u1) ...
Selecting previously unselected package libpng-dev:armhf.
Preparing to unpack .../146-libpng-dev_1.6.28-1+deb9u1_armhf.deb ...
Unpacking libpng-dev:armhf (1.6.28-1+deb9u1) ...
Selecting previously unselected package libfreetype6-dev.
Preparing to unpack .../147-libfreetype6-dev_2.6.3-3.2_armhf.deb ...
Unpacking libfreetype6-dev (2.6.3-3.2) ...
Selecting previously unselected package libfontconfig1-dev:armhf.
Preparing to unpack .../148-libfontconfig1-dev_2.11.0-6.7_armhf.deb ...
Unpacking libfontconfig1-dev:armhf (2.11.0-6.7) ...
Selecting previously unselected package x11proto-render-dev.
Preparing to unpack .../149-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 .../150-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 .../151-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 .../152-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 .../153-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 .../154-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 .../155-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 .../156-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 .../157-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 .../158-libcairo2-dev_1.14.8-1_armhf.deb ...
Unpacking libcairo2-dev (1.14.8-1) ...
Selecting previously unselected package libepoxy-dev:armhf.
Preparing to unpack .../159-libepoxy-dev_1.3.1-2_armhf.deb ...
Unpacking libepoxy-dev:armhf (1.3.1-2) ...
Selecting previously unselected package libgdk-pixbuf2.0-dev.
Preparing to unpack .../160-libgdk-pixbuf2.0-dev_2.36.5-2+deb9u2_armhf.deb ...
Unpacking libgdk-pixbuf2.0-dev (2.36.5-2+deb9u2) ...
Selecting previously unselected package libgmpxx4ldbl:armhf.
Preparing to unpack .../161-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 .../162-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 .../163-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 .../164-libgraphite2-dev_1.3.10-1_armhf.deb ...
Unpacking libgraphite2-dev (1.3.10-1) ...
Selecting previously unselected package libharfbuzz-icu0:armhf.
Preparing to unpack .../165-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 .../166-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 .../167-libicu-dev_57.1-6+deb9u2_armhf.deb ...
Unpacking libicu-dev (57.1-6+deb9u2) ...
Selecting previously unselected package libharfbuzz-dev:armhf.
Preparing to unpack .../168-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 .../169-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 .../170-libpango1.0-dev_1.40.5-1_armhf.deb ...
Unpacking libpango1.0-dev (1.40.5-1) ...
Selecting previously unselected package x11proto-xinerama-dev.
Preparing to unpack .../171-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 .../172-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 .../173-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 .../174-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 .../175-libxcursor-dev_1%3a1.1.14-1+deb9u2_armhf.deb ...
Unpacking libxcursor-dev:armhf (1:1.1.14-1+deb9u2) ...
Selecting previously unselected package x11proto-composite-dev.
Preparing to unpack .../176-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 .../177-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 .../178-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 .../179-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 .../180-xkb-data_2.19-1+deb9u1_all.deb ...
Unpacking xkb-data (2.19-1+deb9u1) ...
Selecting previously unselected package libxkbcommon0:armhf.
Preparing to unpack .../181-libxkbcommon0_0.7.1-2~deb9u1_armhf.deb ...
Unpacking libxkbcommon0:armhf (0.7.1-2~deb9u1) ...
Selecting previously unselected package libxkbcommon-dev.
Preparing to unpack .../182-libxkbcommon-dev_0.7.1-2~deb9u1_armhf.deb ...
Unpacking libxkbcommon-dev (0.7.1-2~deb9u1) ...
Selecting previously unselected package libgtk-3-dev:armhf.
Preparing to unpack .../183-libgtk-3-dev_3.22.11-1+rpi1_armhf.deb ...
Unpacking libgtk-3-dev:armhf (3.22.11-1+rpi1) ...
Selecting previously unselected package libxml2-utils.
Preparing to unpack .../184-libxml2-utils_2.9.4+dfsg1-2.2+deb9u2_armhf.deb ...
Unpacking libxml2-utils (2.9.4+dfsg1-2.2+deb9u2) ...
Selecting previously unselected package libgtk2.0-dev.
Preparing to unpack .../185-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 .../186-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 .../187-libtinfo-dev_6.0+20161126-1+deb9u2_armhf.deb ...
Unpacking libtinfo-dev:armhf (6.0+20161126-1+deb9u2) ...
Selecting previously unselected package libreadline-dev:armhf.
Preparing to unpack .../188-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 .../189-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 .../190-libperl-dev_5.24.1-3+deb9u5_armhf.deb ...
Unpacking libperl-dev (5.24.1-3+deb9u5) ...
Selecting previously unselected package libpython3.5:armhf.
Preparing to unpack .../191-libpython3.5_3.5.3-1+deb9u1_armhf.deb ...
Unpacking libpython3.5:armhf (3.5.3-1+deb9u1) ...
Selecting previously unselected package libpython3.5-dev:armhf.
Preparing to unpack .../192-libpython3.5-dev_3.5.3-1+deb9u1_armhf.deb ...
Unpacking libpython3.5-dev:armhf (3.5.3-1+deb9u1) ...
Selecting previously unselected package libpython3-dev:armhf.
Preparing to unpack .../193-libpython3-dev_3.5.3-1_armhf.deb ...
Unpacking libpython3-dev:armhf (3.5.3-1) ...
Selecting previously unselected package rubygems-integration.
Preparing to unpack .../194-rubygems-integration_1.11_all.deb ...
Unpacking rubygems-integration (1.11) ...
Selecting previously unselected package ruby2.3.
Preparing to unpack .../195-ruby2.3_2.3.3-1+deb9u6+rpi1_armhf.deb ...
Unpacking ruby2.3 (2.3.3-1+deb9u6+rpi1) ...
Selecting previously unselected package ruby.
Preparing to unpack .../196-ruby_1%3a2.3.3_armhf.deb ...
Unpacking ruby (1:2.3.3) ...
Selecting previously unselected package rake.
Preparing to unpack .../197-rake_10.5.0-2_all.deb ...
Unpacking rake (10.5.0-2) ...
Selecting previously unselected package ruby-did-you-mean.
Preparing to unpack .../198-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 .../199-ruby-minitest_5.9.0-1_all.deb ...
Unpacking ruby-minitest (5.9.0-1) ...
Selecting previously unselected package ruby-net-telnet.
Preparing to unpack .../200-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 .../201-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 .../202-ruby-test-unit_3.1.7-2_all.deb ...
Unpacking ruby-test-unit (3.1.7-2) ...
Selecting previously unselected package libyaml-0-2:armhf.
Preparing to unpack .../203-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 .../204-libruby2.3_2.3.3-1+deb9u6+rpi1_armhf.deb ...
Unpacking libruby2.3:armhf (2.3.3-1+deb9u6+rpi1) ...
Selecting previously unselected package libsepol1-dev:armhf.
Preparing to unpack .../205-libsepol1-dev_2.6-2_armhf.deb ...
Unpacking libsepol1-dev:armhf (2.6-2) ...
Selecting previously unselected package libselinux1-dev:armhf.
Preparing to unpack .../206-libselinux1-dev_2.6-3_armhf.deb ...
Unpacking libselinux1-dev:armhf (2.6-3) ...
Selecting previously unselected package libtcl8.6:armhf.
Preparing to unpack .../207-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 .../208-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 .../209-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 .../210-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 .../211-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 .../212-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 .../213-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 .../214-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 .../215-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 .../216-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 .../217-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 .../218-python3.5-dev_3.5.3-1+deb9u1_armhf.deb ...
Unpacking python3.5-dev (3.5.3-1+deb9u1) ...
Selecting previously unselected package python3-dev.
Preparing to unpack .../219-python3-dev_3.5.3-1_armhf.deb ...
Unpacking python3-dev (3.5.3-1) ...
Selecting previously unselected package ruby2.3-dev:armhf.
Preparing to unpack .../220-ruby2.3-dev_2.3.3-1+deb9u6+rpi1_armhf.deb ...
Unpacking ruby2.3-dev:armhf (2.3.3-1+deb9u6+rpi1) ...
Selecting previously unselected package ruby-dev:armhf.
Preparing to unpack .../221-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 .../222-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 .../223-tcl_8.6.0+9_armhf.deb ...
Unpacking tcl (8.6.0+9) ...
Selecting previously unselected package tcl8.6-dev:armhf.
Preparing to unpack .../224-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 .../225-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 .../226-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 .../227-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 .../228-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+20161126-1+deb9u2) ...
Setting up libsepol1-dev:armhf (2.6-2) ...
Setting up perl-modules-5.24 (5.24.1-3+deb9u5) ...
Setting up libperl5.24:armhf (5.24.1-3+deb9u5) ...
Setting up libnettle6:armhf (3.3-1) ...
Setting up libjson-glib-1.0-common (1.2.6-1) ...
Setting up libgtk2.0-common (2.24.31-2) ...
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 libpng16-16:armhf (1.6.28-1+deb9u1) ...
Setting up liblcms2-2:armhf (2.8-4+deb9u1) ...
Setting up libjbig0:armhf (2.1-3.1) ...
Setting up libsigsegv2:armhf (2.10-5) ...
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+deb9u1) ...
Setting up libproxy1v5:armhf (0.4.14-2) ...
Setting up libtinfo-dev:armhf (6.0+20161126-1+deb9u2) ...
Setting up libgdk-pixbuf2.0-common (2.36.5-2+deb9u2) ...
Setting up libdatrie1:armhf (0.2.10-4) ...
Setting up libtiff5:armhf (4.0.8-2+deb9u4) ...
Setting up gettext-base (0.19.8.1-2) ...
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+deb9u2) ...
Setting up libbsd0:armhf (0.8.3-1) ...
Setting up ucf (3.0036) ...
Setting up libxml2:armhf (2.9.4+dfsg1-2.2+deb9u2) ...
Setting up libfreetype6:armhf (2.6.3-3.2) ...
Setting up libtasn1-6:armhf (4.10-1.1+deb9u1) ...
Setting up libmagic-mgc (1:5.30-1+deb9u2) ...
Setting up libmagic1:armhf (1:5.30-1+deb9u2) ...
Setting up libhogweed4:armhf (3.3-1) ...
Setting up libgraphite2-3:armhf (1.3.10-1) ...
Setting up perl (5.24.1-3+deb9u5) ...
Setting up libssl1.0.2:armhf (1.0.2r-1~deb9u1) ...
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.50.3-2) ...
Processing triggers for libc-bin (2.24-11+deb9u1) ...
Setting up libepoxy0:armhf (1.3.1-2) ...
Setting up x11proto-xinerama-dev (1.2.1-2) ...
Setting up autotools-dev (20161112.1) ...
Setting up libunistring0:armhf (0.9.6+really0.9.3-0.1) ...
Setting up libpixman-1-dev (0.34.0-1) ...
Setting up x11proto-randr-dev (1.5.0-1) ...
Processing triggers for systemd (232-25+deb9u1) ...
Setting up openssl (1.1.0j-1~deb9u1) ...
Setting up ruby-net-telnet (0.1.1-2) ...
Setting up libreadline-dev:armhf (7.0-3) ...
Setting up libexpat1-dev:armhf (2.2.0-2+deb9u1) ...
Setting up libxkbcommon0:armhf (0.7.1-2~deb9u1) ...
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+deb9u2) ...
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.9.0-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+deb9u1) ...
Updating certificates in /etc/ssl/certs...
151 added, 0 removed; done.
Setting up hicolor-icon-theme (0.15-1) ...
Setting up libgraphite2-dev (1.3.10-1) ...
Setting up libx11-data (2:1.6.4-3+deb9u1) ...
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.28-0+deb9u1) ...
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-2) ...
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.11.0-6.7) ...
Setting up libperl-dev (5.24.1-3+deb9u5) ...
Setting up libxkbcommon-dev (0.7.1-2~deb9u1) ...
Setting up libarchive-zip-perl (1.59-1+deb9u1) ...
Setting up x11proto-core-dev (7.0.31-1) ...
Setting up libgpm-dev:armhf (1.20.4-6.2) ...
Setting up ruby-test-unit (3.1.7-2) ...
Setting up libtimedate-perl (2.3000-2) ...
Setting up libglib2.0-0:armhf (2.50.3-2) ...
Setting up libpython3.5-stdlib:armhf (3.5.3-1+deb9u1) ...
Setting up libxml2-utils (2.9.4+dfsg1-2.2+deb9u2) ...
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+deb9u2) ...
Setting up file (1:5.30-1+deb9u2) ...
Setting up libkrb5support0:armhf (1.15-1+deb9u1) ...
Setting up libgirepository-1.0-1:armhf (1.50.0-1) ...
Setting up libjson-glib-1.0-0:armhf (1.2.6-1) ...
Setting up libcroco3:armhf (0.6.11-3) ...
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-2) ...
Setting up tcl8.6 (8.6.6+dfsg-1) ...
Setting up automake (1:1.15-6) ...
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+deb9u1) ...
Setting up libavahi-common3:armhf (0.6.32-2) ...
Setting up libcolord2:armhf (1.3.3-2) ...
Setting up libpng-dev:armhf (1.6.28-1+deb9u1) ...
Setting up x11proto-render-dev (2:0.11.1-2) ...
Setting up libselinux1-dev:armhf (2.6-3) ...
Setting up libglib2.0-bin (2.50.3-2) ...
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.034-1) ...
Setting up libtool (2.4.6-2) ...
Setting up python3.5 (3.5.3-1+deb9u1) ...
Setting up libpython3-stdlib:armhf (3.5.3-1) ...
Setting up libfontconfig1:armhf (2.11.0-6.7) ...
Setting up libdbus-1-dev:armhf (1.10.28-0+deb9u1) ...
Setting up libsm6:armhf (2:1.2.2-1+b1) ...
Setting up libk5crypto3:armhf (1.15-1+deb9u1) ...
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) ...
Setting up libpython3.5:armhf (3.5.3-1+deb9u1) ...
Setting up libgnutls30:armhf (3.5.8-5+deb9u4) ...
Setting up libx11-6:armhf (2:1.6.4-3+deb9u1) ...
Setting up tcl (8.6.0+9) ...
Setting up libpython3.5-dev:armhf (3.5.3-1+deb9u1) ...
Setting up intltool-debian (0.35.0+20060710.4) ...
Setting up x11proto-xext-dev (7.3.0-1) ...
Setting up libfreetype6-dev (2.6.3-3.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+deb9u1) ...
Setting up libx11-dev:armhf (2:1.6.4-3+deb9u1) ...
Setting up libxft2:armhf (2.3.2-1) ...
Setting up python3.5-dev (3.5.3-1+deb9u1) ...
Setting up dconf-gsettings-backend:armhf (0.26.0-2) ...
Setting up tcl-dev:armhf (8.6.0+9) ...
Setting up fontconfig (2.11.0-6.7) ...
Regenerating fonts cache... done.
Setting up libpython3-dev:armhf (3.5.3-1) ...
Setting up libfontconfig1-dev:armhf (2.11.0-6.7) ...
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.11-1+rpi1) ...
Setting up libxpm-dev:armhf (1:3.5.12-1) ...
Setting up libatspi2.0-0:armhf (2.22.0-6+deb9u1) ...
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+deb9u2) ...
Setting up libxcb-shm0-dev:armhf (1.12-1) ...
Setting up gir1.2-gdkpixbuf-2.0:armhf (2.36.5-2+deb9u2) ...
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+deb9u1) ...
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.11-1+rpi1) ...
Setting up libxcursor1:armhf (1:1.1.14-1+deb9u2) ...
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.5-1) ...
Setting up libatk-bridge2.0-0:armhf (2.22.0-2) ...
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.1-8+deb9u2) ...
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.22.0-6+deb9u1) ...
Setting up libcairo2:armhf (1.14.8-1) ...
Setting up libxinerama1:armhf (2:1.1.3-1+b1) ...
Setting up libxcursor-dev:armhf (1:1.1.14-1+deb9u2) ...
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.8-1) ...
Setting up libxaw7-dev:armhf (2:1.0.13-1) ...
Setting up libcairo-gobject2:armhf (1.14.8-1) ...
Setting up libsoup2.4-1:armhf (2.56.0-2+deb9u2) ...
Setting up libxdamage-dev:armhf (1:1.1.4-2+b1) ...
Setting up libsoup-gnome2.4-1:armhf (2.56.0-2+deb9u2) ...
Setting up libxtst6:armhf (2:1.2.3-1) ...
Setting up libpangoft2-1.0-0:armhf (1.40.5-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.5-1) ...
Setting up libpangocairo-1.0-0:armhf (1.40.5-1) ...
Setting up gir1.2-pango-1.0:armhf (1.40.5-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.22.0-1+deb9u1) ...
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.11-1+rpi1) ...
Setting up gir1.2-gtk-2.0 (2.24.31-2) ...
Setting up gir1.2-gtk-3.0:armhf (3.22.11-1+rpi1) ...
Setting up python3 (3.5.3-1) ...
Setting up python3-dev (3.5.3-1) ...
Setting up libglib2.0-dev (2.50.3-2) ...
Setting up libgdk-pixbuf2.0-dev (2.36.5-2+deb9u2) ...
Setting up libruby2.3:armhf (2.3.3-1+deb9u6+rpi1) ...
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.8-1) ...
Setting up libatk1.0-dev:armhf (2.22.0-1) ...
Setting up ruby2.3 (2.3.3-1+deb9u6+rpi1) ...
Setting up libatspi2.0-dev:armhf (2.22.0-6+deb9u1) ...
Setting up ruby2.3-dev:armhf (2.3.3-1+deb9u6+rpi1) ...
Setting up dh-strip-nondeterminism (0.034-1) ...
Setting up ruby-dev:armhf (1:2.3.3) ...
Setting up libatk-bridge2.0-dev:armhf (2.22.0-2) ...
Setting up libpango1.0-dev (1.40.5-1) ...
Setting up ruby (1:2.3.3) ...
Setting up debhelper (10.2.5) ...
Setting up libgtk-3-dev:armhf (3.22.11-1+rpi1) ...
Setting up rake (10.5.0-2) ...
Setting up libgtk2.0-dev (2.24.31-2) ...
Setting up sbuild-build-depends-vim-dummy (0.invalid.0) ...
Processing triggers for libc-bin (2.24-11+deb9u1) ...
Processing triggers for systemd (232-25+deb9u1) ...
Processing triggers for ca-certificates (20161130+nmu1+deb9u1) ...
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+deb9u2) ...
W: No sandbox user '_apt' on the system, can not drop privileges
+------------------------------------------------------------------------------+
| Build environment |
+------------------------------------------------------------------------------+
Kernel: Linux 4.9.0-0.bpo.2-armmp armhf (armv7l)
Toolchain package versions: binutils_2.28-5 dpkg-dev_1.18.24 g++-6_6.3.0-18+rpi1 gcc-6_6.3.0-18+rpi1 libc6-dev_2.24-11+deb9u1 libstdc++-6-dev_6.3.0-18+rpi1 libstdc++6_6.3.0-18+rpi1 linux-libc-dev_4.9.30-2+deb9u2+rpi1+stretch
Package versions: adduser_3.115 adwaita-icon-theme_3.22.0-1+deb9u1 apt_1.4.7 autoconf_2.69-10 automake_1:1.15-6 autopoint_0.19.8.1-2 autotools-dev_20161112.1 base-files_9.9+rpi1+deb9u1 base-passwd_3.5.43 bash_4.4-5 binutils_2.28-5 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+deb9u1 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.034-1 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+deb9u2 findutils_4.6.0+git+20161106-2 fontconfig_2.11.0-6.7 fontconfig-config_2.11.0-6.7 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 gettext-base_0.19.8.1-2 gir1.2-atk-1.0_2.22.0-1 gir1.2-atspi-2.0_2.22.0-6+deb9u1 gir1.2-freedesktop_1.50.0-1 gir1.2-gdkpixbuf-2.0_2.36.5-2+deb9u2 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.11-1+rpi1 gir1.2-pango-1.0_1.40.5-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-6 gnupg-agent_2.1.18-6 gpgv_2.1.18-6 grep_2.27-2 groff-base_1.22.3-9 gsettings-desktop-schemas_3.22.0-1 gtk-update-icon-cache_3.22.11-1+rpi1 gzip_1.6-5 hicolor-icon-theme_0.15-1 hostname_3.18 icu-devtools_57.1-6+deb9u2 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_23-2 libacl1_2.2.52-3 libacl1-dev_2.2.52-3 libapparmor1_2.11.0-3 libapt-pkg5.0_1.4.7 libarchive-zip-perl_1.59-1+deb9u1 libasan3_6.3.0-18+rpi1 libassuan0_2.4.3-2 libatk-bridge2.0-0_2.22.0-2 libatk-bridge2.0-dev_2.22.0-2 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.22.0-6+deb9u1 libatspi2.0-dev_2.22.0-6+deb9u1 libattr1_1:2.4.47-2 libattr1-dev_1:2.4.47-2 libaudit-common_1:2.6.7-2 libaudit1_1:2.6.7-2 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.3-1 libbz2-1.0_1.0.6-8.1 libc-bin_2.24-11+deb9u1 libc-dev-bin_2.24-11+deb9u1 libc6_2.24-11+deb9u1 libc6-dev_2.24-11+deb9u1 libcairo-gobject2_1.14.8-1 libcairo-script-interpreter2_1.14.8-1 libcairo2_1.14.8-1 libcairo2-dev_1.14.8-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.11-3 libcryptsetup4_2:1.7.3-4 libcups2_2.2.1-8+deb9u2 libdatrie1_0.2.10-4 libdb5.3_5.3.28-12+deb9u1 libdbus-1-3_1.10.28-0+deb9u1 libdbus-1-dev_1.10.28-0+deb9u1 libdconf1_0.26.0-2 libdebconfclient0_0.227 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-2 libepoxy0_1.3.1-2 libexpat1_2.2.0-2+deb9u1 libexpat1-dev_2.2.0-2+deb9u1 libfakeroot_1.21-3.1 libfdisk1_2.29.2-1 libffi6_3.2.1-6 libfile-stripnondeterminism-perl_0.034-1 libfontconfig1_2.11.0-6.7 libfontconfig1-dev_2.11.0-6.7 libfreetype6_2.6.3-3.2 libfreetype6-dev_2.6.3-3.2 libgcc-6-dev_6.3.0-18+rpi1 libgcc1_1:6.3.0-18+rpi1 libgcrypt20_1.7.6-2+deb9u2 libgdbm3_1.8.3-14 libgdk-pixbuf2.0-0_2.36.5-2+deb9u2 libgdk-pixbuf2.0-common_2.36.5-2+deb9u2 libgdk-pixbuf2.0-dev_2.36.5-2+deb9u2 libgirepository-1.0-1_1.50.0-1 libglib2.0-0_2.50.3-2 libglib2.0-bin_2.50.3-2 libglib2.0-data_2.50.3-2 libglib2.0-dev_2.50.3-2 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.8-5+deb9u4 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-1 libgraphite2-dev_1.3.10-1 libgssapi-krb5-2_1.15-1+deb9u1 libgtk-3-0_3.22.11-1+rpi1 libgtk-3-common_3.22.11-1+rpi1 libgtk-3-dev_3.22.11-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+deb9u2 libicu57_57.1-6+deb9u2 libidn11_1.33-1 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.6-1 libjson-glib-1.0-common_1.2.6-1 libk5crypto3_1.15-1+deb9u1 libkeyutils1_1.5.9-9 libklibc_2.0.4-9+rpi1 libkmod2_23-2 libkrb5-3_1.15-1+deb9u1 libkrb5support0_1.15-1+deb9u1 libksba8_1.3.5-2 liblcms2-2_2.8-4+deb9u1 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+deb9u2 libmagic1_1:5.30-1+deb9u2 libmount1_2.29.2-1 libmpc3_1.0.3-1 libmpdec2_2.4.2-1 libmpfr4_3.1.5-1 libncurses5_6.0+20161126-1+deb9u2 libncursesw5_6.0+20161126-1+deb9u2 libnettle6_3.3-1 libnih-dbus1_1.0.3-8 libnih1_1.0.3-8 libnpth0_1.3-1 libp11-kit0_0.23.3-2 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.5-1 libpango1.0-dev_1.40.5-1 libpangocairo-1.0-0_1.40.5-1 libpangoft2-1.0-0_1.40.5-1 libpangoxft-1.0-0_1.40.5-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-3+deb9u5 libperl5.24_5.24.1-3+deb9u5 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.28-1+deb9u1 libpng16-16_1.6.28-1+deb9u1 libprocps6_2:3.3.12-3 libproxy1v5_0.4.14-2 libpthread-stubs0-dev_0.3-4 libpython3-dev_3.5.3-1 libpython3-stdlib_3.5.3-1 libpython3.5_3.5.3-1+deb9u1 libpython3.5-dev_3.5.3-1+deb9u1 libpython3.5-minimal_3.5.3-1+deb9u1 libpython3.5-stdlib_3.5.3-1+deb9u1 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+deb9u6+rpi1 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.10-5 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+deb9u2 libsoup2.4-1_2.56.0-2+deb9u2 libsqlite3-0_3.16.2-5 libss2_1.43.4-2 libssl1.0.2_1.0.2r-1~deb9u1 libssl1.1_1.1.0j-1~deb9u1 libstdc++-6-dev_6.3.0-18+rpi1 libstdc++6_6.3.0-18+rpi1 libsystemd0_232-25+deb9u1 libtasn1-6_4.10-1.1+deb9u1 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-2+deb9u4 libtimedate-perl_2.3000-2 libtinfo-dev_6.0+20161126-1+deb9u2 libtinfo5_6.0+20161126-1+deb9u2 libtool_2.4.6-2 libubsan0_6.3.0-18+rpi1 libudev1_232-25+deb9u1 libunistring0_0.9.6+really0.9.3-0.1 libustr-1.0-1_1.0.4-6 libuuid1_2.29.2-1 libx11-6_2:1.6.4-3+deb9u1 libx11-data_2:1.6.4-3+deb9u1 libx11-dev_2:1.6.4-3+deb9u1 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+deb9u2 libxcursor1_1:1.1.14-1+deb9u2 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-2~deb9u1 libxkbcommon0_0.7.1-2~deb9u1 libxml2_2.9.4+dfsg1-2.2+deb9u2 libxml2-utils_2.9.4+dfsg1-2.2+deb9u2 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_4.9.30-2+deb9u2+rpi1+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-11+deb9u1 ncurses-base_6.0+20161126-1+deb9u1 ncurses-bin_6.0+20161126-1+deb9u1 openssl_1.1.0j-1~deb9u1 passwd_1:4.4-4.1 patch_2.7.5-1 perl_5.24.1-3+deb9u5 perl-base_5.24.1-3+deb9u5 perl-modules-5.24_5.24.1-3+deb9u5 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-1 python3-dev_3.5.3-1 python3-minimal_3.5.3-1 python3.5_3.5.3-1+deb9u1 python3.5-dev_3.5.3-1+deb9u1 python3.5-minimal_3.5.3-1+deb9u1 rake_10.5.0-2 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.9.0-1 ruby-net-telnet_0.1.1-2 ruby-power-assert_0.3.0-1 ruby-test-unit_3.1.7-2 ruby2.3_2.3.3-1+deb9u6+rpi1 ruby2.3-dev_2.3.3-1+deb9u6+rpi1 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+deb9u1 systemd_232-25+deb9u1 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-1 ucf_3.0036 udev_232-25+deb9u1 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+deb9u1 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 Fri Jun 21 22:45:13 2019 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-4+deb9u3.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-4+deb9u3.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
dpkg-source: info: applying upstream/patch-8.0.0649-when-opening-a-help-file-the-filetype-is-s.patch
dpkg-source: info: applying upstream/patch-8.0.0651-build-failure-without-the-auto-command-fea.patch
dpkg-source: info: applying upstream/patch-8.1.0066-nasty-autocommand-causes-using-freed-memor.patch
dpkg-source: info: applying upstream/patch-8.1.0067-syntax-highlighting-not-working-when-re-en.patch
dpkg-source: info: applying upstream/patch-8.1.0177-defining-function-in-sandbox-is-inconsiste.patch
dpkg-source: info: applying upstream/patch-8.1.0189-function-defined-in-sandbox-not-tested.patch
dpkg-source: info: applying upstream/patch-8.1.0205-invalid-memory-access-with-invalid-modelin.patch
dpkg-source: info: applying upstream/patch-8.1.0206-duplicate-test-function-name.patch
dpkg-source: info: applying upstream/patch-8.1.0208-file-left-behind-after-running-individual-.patch
dpkg-source: info: applying upstream/patch-8.1.0506-modeline-test-fails-when-run-by-root.patch
dpkg-source: info: applying upstream/patch-8.1.0538-evaluating-a-modeline-might-invoke-using-a.patch
dpkg-source: info: applying upstream/patch-8.1.0539-cannot-build-without-the-sandbox.patch
dpkg-source: info: applying upstream/patch-8.1.0540-may-evaluate-insecure-value-when-appending.patch
dpkg-source: info: applying upstream/patch-8.1.0544-setting-filetype-in-a-modeline-causes-an-e.patch
dpkg-source: info: applying upstream/patch-8.1.0546-modeline-test-with-keymap-fails.patch
dpkg-source: info: applying upstream/patch-8.1.0547-modeline-test-with-keymap-still-fails.patch
dpkg-source: info: applying upstream/patch-8.1.0613-when-executing-an-insecure-function-the-se.patch
dpkg-source: info: applying upstream/patch-8.1.1046-the-secure-variable-is-used-inconsistently.patch
dpkg-source: info: applying upstream/patch-8.1.1365-source-command-doesn-t-check-for-the-sandb.patch
dpkg-source: info: applying upstream/patch-8.1.1366-using-expressions-in-a-modeline-is-unsafe.patch
dpkg-source: info: applying upstream/patch-8.1.1367-can-set-modelineexpr-in-modeline.patch
dpkg-source: info: applying upstream/patch-8.1.1368-modeline-test-fails-with-python-but-withou.patch
dpkg-source: info: applying upstream/patch-8.1.1382-error-when-editing-test-file.patch
dpkg-source: info: applying upstream/patch-8.1.1401-misspelled-mkspellmem-as-makespellmem.patch
Check disc 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=stretch-staging-armhf-sbuild
SCHROOT_CHROOT_NAME=stretch-staging-armhf-sbuild
SCHROOT_COMMAND=env
SCHROOT_GID=109
SCHROOT_GROUP=buildd
SCHROOT_SESSION_ID=stretch-staging-armhf-sbuild-bd964267-e8f1-488a-8945-3225d5180079
SCHROOT_UID=104
SCHROOT_USER=buildd
SHELL=/bin/sh
TERM=xterm
USER=buildd
dpkg-buildpackage
-----------------
dpkg-buildpackage: info: source package vim
dpkg-buildpackage: info: source version 2:8.0.0197-4+deb9u3
dpkg-buildpackage: info: source distribution stretch-security
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
dh_testroot
for x in install postinst prerm links lintian-overrides ; do \
rm -f debian/vim-nox.$x ; \
done
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
*** DEBIAN *** CONFIGURING VARIANT vim-gtk
/usr/bin/make -C src shadow SHADOWDIR=vim-gtk
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
make[1]: Entering directory '/<<PKGBUILDDIR>>/src'
mkdir vim-tiny
make[1]: Entering directory '/<<PKGBUILDDIR>>/src'
cd vim-tiny; ln -s ../*.[ch] ../*.in ../*.sh ../*.xs ../*.xbm ../gui_gtk_res.xml ../toolcheck ../proto ../vimtutor ../gvimtutor ../mkinstalldirs .
mkdir vim-gtk
cd vim-gtk; ln -s ../*.[ch] ../*.in ../*.sh ../*.xs ../*.xbm ../gui_gtk_res.xml ../toolcheck ../proto ../vimtutor ../gvimtutor ../mkinstalldirs .
mkdir vim-tiny/auto
mkdir vim-gtk/auto
*** DEBIAN *** CONFIGURING VARIANT vim-gtk3
/usr/bin/make -C src shadow SHADOWDIR=vim-gtk3
cd vim-tiny/auto; ln -s ../../auto/configure .
cd vim-gtk/auto; ln -s ../../auto/configure .
mkdir vim-tiny/po
cd vim-tiny/po; ln -s ../../po/*.po ../../po/*.mak ../../po/*.vim ../../po/Makefile .
mkdir vim-gtk/po
make[1]: Entering directory '/<<PKGBUILDDIR>>/src'
mkdir vim-gtk3
cd vim-tiny; rm -f auto/link.sed
cd vim-gtk/po; ln -s ../../po/*.po ../../po/*.mak ../../po/*.vim ../../po/Makefile .
cd vim-gtk3; ln -s ../*.[ch] ../*.in ../*.sh ../*.xs ../*.xbm ../gui_gtk_res.xml ../toolcheck ../proto ../vimtutor ../gvimtutor ../mkinstalldirs .
cp Makefile configure vim-tiny
rm -f vim-tiny/auto/config.mk vim-tiny/config.mk.dist
cp config.mk.dist vim-tiny/auto/config.mk
cd vim-gtk; rm -f auto/link.sed
cp config.mk.dist vim-tiny
mkdir vim-tiny/xxd
cp Makefile configure vim-gtk
cd vim-tiny/xxd; ln -s ../../xxd/*.[ch] ../../xxd/Make* .
rm -f vim-gtk/auto/config.mk vim-gtk/config.mk.dist
cp config.mk.dist vim-gtk/auto/config.mk
cp config.mk.dist vim-gtk
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
mkdir vim-gtk3/auto
cd vim-gtk/xxd; ln -s ../../xxd/*.[ch] ../../xxd/Make* .
cd vim-gtk3/auto; ln -s ../../auto/configure .
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
mkdir vim-gtk3/po
mkdir vim-tiny/testdir
cd vim-gtk3/po; ln -s ../../po/*.po ../../po/*.mak ../../po/*.vim ../../po/Makefile .
mkdir vim-gtk/testdir
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 .
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; 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
cp config.mk.dist vim-gtk3
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-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
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src'
if test -f src/auto/config.cache; then make distclean; fi
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
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... checking whether the C compiler works... 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... 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... checking whether the C compiler works... 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... 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... no
checking for suffix of object files... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... o
checking whether we are using the GNU C compiler... no
checking for suffix of object files... no
checking for suffix of object files... yes
checking whether gcc accepts -g... yes
checking whether gcc accepts -g... o
checking whether we are using the GNU C compiler... o
checking whether we are using the GNU C compiler... yes
checking for gcc option to accept ISO C89... yes
checking for gcc option to accept ISO C89... yes
checking whether gcc accepts -g... yes
checking whether gcc accepts -g... yes
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
checking how to run the C preprocessor... gcc -E
gcc -E
none needed
checking how to run the C preprocessor... none needed
checking how to run the C preprocessor... checking for grep that handles long lines and -e... checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep
checking for egrep... /bin/grep -E
/bin/grep -E
gcc -E
checking for fgrep... checking for fgrep... /bin/grep -F
checking for library containing strerror... /bin/grep -F
checking for library containing strerror... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... checking for fgrep... /bin/grep -E
/bin/grep -F
checking for library containing strerror... checking for fgrep... /bin/grep -F
checking for library containing strerror... none required
checking for gawk... no
checking for mawk... mawk
checking for strip... strip
checking for ANSI C header files... none required
checking for gawk... no
checking for mawk... mawk
checking for strip... strip
checking for ANSI C header files... none required
checking for gawk... no
checking for mawk... mawk
checking for strip... strip
checking for ANSI C header files... none required
checking for gawk... no
checking for mawk... mawk
checking for strip... strip
checking for ANSI C header files... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
yes
checking --enable-fail-if-missing argument... checking --enable-fail-if-missing argument... yes
yes
checking for recent clang version... checking for recent clang version... no
configure: checking for buggy tools...
no
configure: checking for buggy tools...
yes
checking for BeOS... checking for BeOS... no
checking for QNX... no
checking --enable-fail-if-missing argument... checking for QNX... yes
no
checking for Darwin (Mac OS X)... no
checking for Darwin (Mac OS X)... checking for recent clang version... no
checking AvailabilityMacros.h usability... no
checking AvailabilityMacros.h usability... no
configure: checking for buggy tools...
checking for BeOS... no
checking for QNX... no
checking for Darwin (Mac OS X)... yes
no
checking AvailabilityMacros.h usability... 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... no
checking AvailabilityMacros.h presence... no
checking for AvailabilityMacros.h... no
no
checking --with-local-dir argument... checking AvailabilityMacros.h presence... no
checking --with-vim-name argument... Defaulting to vim
checking --with-ex-name argument... 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
Defaulting to ex
checking --with-view-name argument... Defaulting to view
checking --with-view-name argument... Defaulting to view
checking --with-global-runtime argument... no
checking --with-global-runtime argument... checking --with-modified-by argument... no
pkg-vim-maintainers@lists.alioth.debian.org
checking --with-modified-by argument... pkg-vim-maintainers@lists.alioth.debian.org
checking if character set is EBCDIC... checking if character set is EBCDIC... 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 AvailabilityMacros.h presence... no
no
checking --disable-smack argument... checking --disable-smack argument... yes
yes
checking --disable-selinux argument... checking --disable-selinux argument... no
no
checking for is_selinux_enabled in -lselinux... checking for is_selinux_enabled in -lselinux... 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 --disable-smack argument... yes
checking --disable-selinux argument... no
checking for is_selinux_enabled in -lselinux... no
checking --disable-smack argument... yes
checking --disable-selinux argument... no
checking for is_selinux_enabled in -lselinux... yes
checking --with-features argument... huge
checking --with-compiledby argument... yes
pkg-vim-maintainers@lists.alioth.debian.org
checking --disable-xsmp argument... checking --with-features argument... small
no
checking --disable-xsmp-interact argument... no
checking --with-compiledby argument... 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
checking --enable-perlinterp argument... checking --enable-perlinterp argument... no
no
checking --enable-pythoninterp argument... checking --enable-pythoninterp argument... no
no
checking --enable-python3interp argument... checking --enable-python3interp argument... no
no
checking --enable-tclinterp argument... checking --enable-tclinterp argument... no
no
checking --enable-rubyinterp argument... checking --enable-rubyinterp argument... no
no
checking --enable-cscope argument... checking --enable-cscope argument... yes
no
checking --enable-workshop argument... no
checking --enable-workshop argument... no
checking --disable-netbeans argument... checking --disable-netbeans argument... yes
no
checking --disable-channel argument... checking --disable-channel argument... cannot use channels with tiny or small features
no
checking for socket in -lsocket... checking --enable-multibyte argument... yes
checking --enable-hangulinput argument... no
checking --enable-xim argument... defaulting to auto
checking --enable-fontset argument... no
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 for xmkmf... checking --with-luajit... no
no
checking for X... 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 --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... no
checking for gethostbyname in -lnsl... yes
checking --enable-mzschemeinterp argument... no
checking --enable-perlinterp argument... yes
checking for perl... /usr/bin/perl
checking Perl version... yes
checking --enable-mzschemeinterp argument... no
checking --enable-perlinterp argument... yes
checking for perl... /usr/bin/perl
checking Perl version... yes
checking whether compiling with process communication is possible... libraries , headers
OK
OK
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... checking if compile and link flags for Perl are sane... checking if compile and link flags for Perl are sane... no
checking whether __DATE__ and __TIME__ work... yes
checking for shmat... yes
checking whether __attribute__((unused)) is allowed... yes
yes
checking --enable-pythoninterp argument... no
checking --enable-python3interp argument... yes
checking for python3... checking --enable-pythoninterp argument... no
/usr/bin/python3
checking Python version... yes
checking for IceConnectionNumber in -lICE... checking --enable-python3interp argument... yes
checking for python3... /usr/bin/python3
checking Python version... yes
checking elf.h usability... 3.5
checking Python is 3.0 or better... 3.5
checking Python is 3.0 or better... yes
yep
checking Python's abiflags... yes
checking elf.h presence... checking if X11 header files can be found... yep
checking Python's abiflags... yes
checking for elf.h... yes
checking for main in -lelf... m
no
checking Python's install prefix... checking for dirent.h that defines DIR... m
checking Python's install prefix... yes
checking for _XdmcpAuthDoIt in -lXdmcp... /usr
checking Python's execution prefix... /usr
checking Python's execution prefix... yes
checking for library containing opendir... /usr
/usr
yes
checking for IceOpenConnection in -lICE... checking Python's configuration directory... (cached) /usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf
none required
checking Python's configuration directory... (cached) /usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf
checking stdint.h usability... checking Python3's dll name... libpython3.5m.so.1.0
checking if -pthread should be used... checking Python3's dll name... libpython3.5m.so.1.0
checking if -pthread should be used... yes
checking stdint.h presence... yes
checking for XpmCreatePixmapFromData in -lXpm... yes
checking for stdint.h... yes
checking stdlib.h usability... yes
checking if compile and link flags for Python 3 are sane... yes
checking if compile and link flags for Python 3 are sane... yes
checking stdlib.h presence... yes
checking for stdlib.h... yes
yes
checking if X11 header files implicitly declare return values... checking string.h usability... yes
checking if -fPIE can be added for Python3... yes
checking string.h presence... yes
checking if -fPIE can be added for Python3... no
checking size of wchar_t is 2 bytes... yes
checking for string.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
yes
checking --enable-tclinterp argument... yes
yes
checking --with-tclsh argument... /usr/bin/tclsh
checking for /usr/bin/tclsh... checking --enable-tclinterp argument... yes
no
checking for tclsh... /usr/bin/tclsh
checking Tcl version... checking --with-tclsh argument... /usr/bin/tclsh
checking for /usr/bin/tclsh... checking sys/utsname.h usability... no
checking for tclsh... /usr/bin/tclsh
checking Tcl version... no
checking --enable-gui argument... 8.6 - OK
no GUI support
8.6 - OK
checking for CYGWIN or MSYS environment... no
checking whether toupper is broken... 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... /usr/lib/tclConfig.sh
/usr/lib/tclConfig.sh
checking --enable-rubyinterp argument... yes
checking --with-ruby-command argument... defaulting to ruby
checking for ruby... /usr/bin/ruby
checking Ruby version... checking --enable-rubyinterp argument... yes
checking --with-ruby-command argument... defaulting to ruby
checking for ruby... /usr/bin/ruby
no
checking Ruby version... checking whether __DATE__ and __TIME__ work... yes
checking whether __attribute__((unused)) is allowed... yes
checking sys/utsname.h presence... yes
checking for sys/utsname.h... yes
checking termcap.h usability... yes
checking elf.h usability... OK
checking Ruby rbconfig... OK
checking Ruby rbconfig... no
checking termcap.h presence... no
checking for termcap.h... no
checking fcntl.h usability... 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
no
checking for dirent.h that defines DIR... checking sgtty.h usability... RbConfig
checking Ruby header files... RbConfig
checking Ruby header files... yes
checking for library containing opendir... yes
checking sgtty.h presence... yes
checking for sgtty.h... yes
checking sys/ioctl.h usability... none required
checking stdint.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/time.h usability... /usr/include/ruby-2.3.0
/usr/include/ruby-2.3.0
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... yes
checking stdlib.h presence... 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... yes
checking sys/utsname.h presence... 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 math.h presence... yes
checking sgtty.h presence... yes
checking for math.h... yes
yes
checking for sgtty.h... yes
checking unistd.h usability... checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking unistd.h presence... yes
checking for sys/ioctl.h... yes
checking sys/time.h usability... yes
checking for unistd.h... yes
checking stropts.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/types.h usability... yes
checking stropts.h presence... yes
checking for stropts.h... yes
checking errno.h usability... 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... yes
checking sys/types.h presence... yes
checking for sys/types.h... yes
checking termio.h usability... yes
checking errno.h presence... no
checking for gethostbyname in -lnsl... yes
checking for errno.h... yes
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 sys/resource.h usability... yes
checking termio.h presence... yes
checking for termio.h... yes
no
checking for gethostbyname in -lnsl... checking iconv.h usability... yes
checking whether compiling with process communication is possible... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/systeminfo.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
yes
checking inttypes.h usability... checking whether compiling with process communication is possible... no
checking sys/systeminfo.h presence... yes
checking --enable-multibyte argument... yes
checking --enable-hangulinput argument... no
no
checking for sys/systeminfo.h... checking --enable-xim argument... no
yes
checking --enable-fontset argument... no
checking locale.h usability... checking for xmkmf... no
checking for X... yes
checking inttypes.h presence... yes
checking for inttypes.h... yes
checking langinfo.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking sys/stream.h usability... yes
checking --enable-multibyte argument... yes
checking --enable-hangulinput argument... no
checking --enable-xim argument... yes
checking --enable-fontset argument... no
checking for xmkmf... no
checking for X... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking math.h usability... libraries , headers
no
checking sys/stream.h presence... no
checking for sys/stream.h... no
checking termios.h usability... yes
checking math.h presence... checking for gethostbyname... yes
checking for math.h... yes
yes
checking termios.h presence... libraries , headers
checking unistd.h usability... yes
checking for termios.h... yes
checking libc.h usability... yes
checking for connect... yes
checking unistd.h presence... checking for gethostbyname... no
checking libc.h presence... yes
checking for unistd.h... yes
checking stropts.h usability... no
checking for libc.h... no
checking sys/statfs.h usability... yes
checking for remove... yes
checking stropts.h presence... yes
checking for connect... 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... yes
checking for shmat... yes
checking errno.h presence... yes
checking for remove... yes
checking for errno.h... yes
yes
checking poll.h presence... checking sys/resource.h usability... yes
checking for poll.h... yes
checking sys/poll.h usability... yes
checking for IceConnectionNumber in -lICE... yes
checking sys/resource.h presence... yes
checking for shmat... yes
checking for sys/resource.h... yes
yes
checking sys/poll.h presence... checking sys/systeminfo.h usability... yes
checking for sys/poll.h... yes
checking pwd.h usability... yes
checking if X11 header files can be found... yes
checking for IceConnectionNumber in -lICE... 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 for _XdmcpAuthDoIt in -lXdmcp... yes
checking if X11 header files can be found... yes
checking locale.h presence... yes
checking utime.h presence... yes
checking for locale.h... yes
checking sys/stream.h usability... yes
checking for utime.h... yes
checking sys/param.h usability... yes
checking for IceOpenConnection in -lICE... no
checking sys/stream.h presence... yes
checking for _XdmcpAuthDoIt in -lXdmcp... yes
checking sys/param.h presence... no
checking for sys/stream.h... no
checking termios.h usability... yes
checking for sys/param.h... yes
yes
checking for XpmCreatePixmapFromData in -lXpm... checking libintl.h usability... yes
checking termios.h presence... yes
checking for IceOpenConnection in -lICE... yes
checking for termios.h... yes
checking libc.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
yes
checking if X11 header files implicitly declare return values... checking libgen.h usability... yes
checking for XpmCreatePixmapFromData in -lXpm... no
no
checking libc.h presence... checking size of wchar_t is 2 bytes... yes
checking libgen.h presence... no
checking for libc.h... no
yes
checking for libgen.h... yes
checking sys/statfs.h usability... checking util/debug.h usability... yes
checking sys/statfs.h presence... yes
checking if X11 header files implicitly declare return values... no
checking util/debug.h presence... yes
checking for sys/statfs.h... yes
checking poll.h usability... no
checking for util/debug.h... no
no
checking --enable-gui argument... checking util/msg18n.h usability... GTK+ 2.x GUI support
checking --disable-gtktest argument... gtk test enabled
checking for pkg-config... /usr/bin/pkg-config
checking for GTK - version >= 2.2.0... no
checking size of wchar_t is 2 bytes... yes
checking poll.h presence... no
checking util/msg18n.h presence... yes
checking for poll.h... yes
no
checking for util/msg18n.h... no
checking frame.h usability... checking sys/poll.h usability... no
checking --enable-gui argument... GTK+ 3.x GUI support
checking --disable-gtktest argument... gtk test enabled
checking for pkg-config... /usr/bin/pkg-config
yes
checking sys/poll.h presence... no
checking frame.h presence... checking for GTK - version >= 3.0.0... yes
checking for sys/poll.h... yes
no
checking for frame.h... no
checking pwd.h usability... checking sys/acl.h usability... yes
checking pwd.h presence... yes
checking sys/acl.h presence... yes
checking for pwd.h... yes
checking utime.h usability... yes
checking for sys/acl.h... yes
checking sys/access.h usability... yes
checking utime.h presence... no
checking sys/access.h presence... yes
checking for utime.h... yes
checking sys/param.h usability... 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 for sys/param.h... yes
yes
checking for sys/sysinfo.h... yes
checking libintl.h usability... checking wchar.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
yes
checking wchar.h presence... checking libgen.h usability... yes
checking for wchar.h... yes
checking wctype.h usability... yes
checking libgen.h presence... yes
checking for libgen.h... yes
checking util/debug.h usability... yes
checking wctype.h presence... yes
checking for wctype.h... yes
checking for sys/ptem.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... no
checking util/debug.h presence... no
checking for sys/sysctl.h... no
checking for util/debug.h... no
checking util/msg18n.h usability... yes
checking X11/SM/SMlib.h presence... yes
checking for pthread_np.h... yes
checking for X11/SM/SMlib.h... yes
checking X11/xpm.h usability... no
checking util/msg18n.h presence... no
checking strings.h usability... no
checking for util/msg18n.h... no
checking frame.h usability... yes
checking X11/xpm.h presence... yes
checking strings.h presence... yes
checking for X11/xpm.h... yes
checking X11/Sunkeysym.h usability... 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
yes; found version 3.22.11
checking sys/acl.h usability... 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 whether gcc needs -traditional... yes
checking X11/Sunkeysym.h presence... yes
checking for X11/Sunkeysym.h... yes
checking for XIMText in X11/Xlib.h... no
checking for an ANSI C-conforming const... yes
yes
checking sys/acl.h presence... checking for CYGWIN or MSYS environment... yes
checking X11/SM/SMlib.h presence... no
checking whether toupper is broken... yes
checking for X11/SM/SMlib.h... yes
yes
checking for sys/acl.h... yes
checking X11/xpm.h usability... yes
checking for working volatile... checking sys/access.h usability... yes
checking for mode_t... no
checking sys/access.h presence... no
checking whether __DATE__ and __TIME__ work... no
yes
checking X11/xpm.h presence... checking for sys/access.h... no
checking sys/sysinfo.h usability... yes
checking for X11/xpm.h... yes
checking X11/Sunkeysym.h usability... yes
checking whether __attribute__((unused)) is allowed... yes
checking sys/sysinfo.h presence... yes
yes
checking for off_t... checking elf.h usability... yes
checking for sys/sysinfo.h... yes
yes
checking X11/Sunkeysym.h presence... checking wchar.h usability... yes
checking for X11/Sunkeysym.h... yes
checking for XIMText in X11/Xlib.h... yes
checking for CYGWIN or MSYS environment... no
checking whether toupper is broken... yes
checking elf.h presence... yes
checking wchar.h presence... yes
checking for elf.h... yes
checking for main in -lelf... yes
checking for wchar.h... yes
checking wctype.h usability... no
yes
checking for pid_t... checking for dirent.h that defines DIR... no
checking whether __DATE__ and __TIME__ work... yes
checking wctype.h presence... yes
checking for library containing opendir... yes
checking for wctype.h... yes
checking for sys/ptem.h... yes
checking whether __attribute__((unused)) is allowed... no
checking for sys/sysctl.h... yes
checking elf.h usability... none required
yes
checking for size_t... checking stdint.h usability... yes
checking for pthread_np.h... yes
checking elf.h presence... no
checking strings.h usability... yes
yes
checking stdint.h presence... checking for elf.h... yes
checking for main in -lelf... yes
checking for stdint.h... yes
checking stdlib.h usability... no
yes
checking strings.h presence... checking for dirent.h that defines DIR... yes
checking for strings.h... yes
checking if strings.h can be included after string.h... yes
checking stdlib.h presence... yes
checking for uid_t in sys/types.h... yes
checking for stdlib.h... yes
yes
checking for uint32_t... yes
checking string.h usability... checking for library containing opendir... yes
checking whether gcc needs -traditional... no
checking for an ANSI C-conforming const... yes
checking string.h presence... yes
checking for string.h... yes
yes
checking whether time.h and sys/time.h may both be included... yes
checking sys/select.h usability... checking for working volatile... none required
checking stdint.h usability... yes
checking for mode_t... yes
checking for ino_t... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
yes
checking stdint.h presence... checking sys/utsname.h usability... yes
checking for stdint.h... yes
checking stdlib.h usability... yes
checking sys/utsname.h presence... yes
checking for sys/utsname.h... yes
yes
checking stdlib.h presence... checking termcap.h usability... yes
checking for dev_t... yes
checking for off_t... yes
checking for stdlib.h... yes
checking string.h usability... no
checking termcap.h presence... no
checking for termcap.h... no
checking fcntl.h usability... yes
checking string.h presence... yes
checking for string.h... yes
checking sys/select.h usability... yes
checking fcntl.h presence... yes
checking whether byte ordering is bigendian... yes
checking for pid_t... yes
checking for fcntl.h... yes
checking sgtty.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/utsname.h usability... yes
checking sgtty.h presence... yes
checking for sgtty.h... yes
checking sys/ioctl.h usability... yes
checking sys/utsname.h presence... no
checking for inline... yes
checking for sys/utsname.h... yes
checking termcap.h usability... yes
checking for size_t... inline
checking for rlim_t... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
yes
checking for stack_t... checking sys/time.h usability... no
checking termcap.h presence... yes
checking whether stack_t has an ss_base field... no
checking for termcap.h... no
checking fcntl.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/types.h usability... no
checking --with-tlib argument... empty: automatic terminal library selection
checking for tgetent in -ltinfo... yes
checking for uid_t in sys/types.h... yes
checking fcntl.h presence... yes
checking for uint32_t... yes
checking for fcntl.h... yes
checking sgtty.h usability... yes
checking sys/types.h presence... yes
checking for sys/types.h... yes
checking termio.h usability... yes
yes
checking whether time.h and sys/time.h may both be included... yes
checking sgtty.h presence... yes
checking for sgtty.h... yes
checking sys/ioctl.h usability... yes
checking termio.h presence... yes
checking for ino_t... yes
checking for termio.h... yes
checking iconv.h usability... yes
checking sys/ioctl.h presence... checking whether we talk terminfo... yes
checking for sys/ioctl.h... yes
checking sys/time.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
checking inttypes.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
yes
checking for dev_t... checking sys/types.h usability... yes
checking what tgetent() returns for an unknown terminal... yes
checking inttypes.h presence... yes
checking for inttypes.h... yes
checking langinfo.h usability... yes
checking sys/types.h presence... yes
checking for sys/types.h... yes
checking termio.h usability... yes
checking langinfo.h presence... zero
checking whether termcap.h contains ospeed... yes
checking for langinfo.h... yes
checking math.h usability... yes
checking whether byte ordering is bigendian... no
checking whether ospeed can be extern... yes
checking termio.h presence... yes
checking for termio.h... yes
checking iconv.h usability... yes
checking math.h presence... yes
checking whether termcap.h contains UP, BC and PC... yes
checking iconv.h presence... yes
checking for math.h... yes
yes
checking for iconv.h... yes
checking unistd.h usability... no
checking whether UP, BC and PC can be extern... checking inttypes.h usability... no
checking for inline... inline
checking for rlim_t... yes
checking inttypes.h presence... yes
checking for stack_t... yes
checking unistd.h presence... yes
checking for inttypes.h... yes
yes
checking for unistd.h... yes
yes
checking langinfo.h usability... yes
checking whether stack_t has an ss_base field... checking whether tputs() uses outfuntype... checking stropts.h usability... no
checking whether sys/select.h and sys/time.h may both be included... no
checking --with-tlib argument... empty: automatic terminal library selection
checking for tgetent in -ltinfo... yes
checking langinfo.h presence... yes
checking stropts.h presence... yes
checking for langinfo.h... yes
yes
yes
checking for stropts.h... yes
checking for /dev/ptc... no
checking for SVR4 ptys... checking math.h usability... checking errno.h usability... yes
yes
checking errno.h presence... yes
checking math.h presence... yes
checking for errno.h... yes
yes
checking for ptyranges... checking sys/resource.h usability... don't know
checking default tty permissions/group... yes
checking for math.h... yes
checking unistd.h usability... yes
checking sys/resource.h presence... checking whether we talk terminfo... yes
checking unistd.h presence... yes
checking for sys/resource.h... yes
checking sys/systeminfo.h usability... yes
checking for unistd.h... yes
checking stropts.h usability... can't determine - assume ptys are world accessible
world
checking return type of signal handlers... no
checking sys/systeminfo.h presence... yes
no
checking stropts.h presence... checking for sys/systeminfo.h... no
checking locale.h usability... void
checking for struct sigcontext... yes
checking what tgetent() returns for an unknown terminal... yes
checking for stropts.h... yes
checking errno.h usability... yes
checking getcwd implementation is broken... yes
checking locale.h presence... yes
checking for locale.h... yes
yes
checking errno.h presence... checking sys/stream.h usability... zero
checking whether termcap.h contains ospeed... yes
checking for errno.h... yes
checking sys/resource.h usability... no
checking whether ospeed can be extern... no
checking for fchdir... no
checking sys/stream.h presence... no
checking for sys/stream.h... no
checking termios.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/systeminfo.h usability... yes
checking whether termcap.h contains UP, BC and PC... yes
no
checking whether UP, BC and PC can be extern... yes
checking termios.h presence... checking for fchown... yes
checking for termios.h... yes
no
checking sys/systeminfo.h presence... checking libc.h usability... no
checking for sys/systeminfo.h... no
checking locale.h usability... yes
no
checking libc.h presence... checking whether tputs() uses outfuntype... yes
checking for fsync... no
checking for libc.h... no
yes
checking locale.h presence... checking sys/statfs.h usability... yes
checking for locale.h... yes
no
checking whether sys/select.h and sys/time.h may both be included... checking sys/stream.h usability... yes
checking for /dev/ptc... no
checking for SVR4 ptys... yes
checking sys/statfs.h presence... yes
yes
checking for sys/statfs.h... yes
no
checking sys/stream.h presence... checking for getcwd... checking poll.h usability... no
checking for sys/stream.h... no
checking termios.h usability... yes
checking for ptyranges... don't know
checking default tty permissions/group... yes
checking poll.h presence... yes
yes
checking for poll.h... yes
checking for getpseudotty... yes
checking termios.h presence... checking sys/poll.h usability... yes
checking for termios.h... yes
checking libc.h usability... yes
checking sys/poll.h presence... yes
checking for sys/poll.h... yes
no
checking libc.h presence... no
checking pwd.h usability... checking for getpwent... can't determine - assume ptys are world accessible
world
checking return type of signal handlers... no
checking for libc.h... no
checking sys/statfs.h usability... void
checking for struct sigcontext... yes
checking pwd.h presence... yes
checking for pwd.h... yes
yes
yes
checking sys/statfs.h presence... checking utime.h usability... checking for getpwnam... yes
checking getcwd implementation is broken... yes
checking for sys/statfs.h... yes
checking poll.h usability... yes
checking utime.h presence... yes
checking for utime.h... yes
yes
checking poll.h presence... yes
checking sys/param.h usability... checking for getpwuid... no
yes
checking for poll.h... yes
checking for fchdir... checking sys/poll.h usability... yes
checking sys/param.h presence... yes
yes
checking for sys/param.h... yes
yes
checking sys/poll.h presence... yes
checking for fchown... checking libintl.h usability... checking for getrlimit... yes
checking for sys/poll.h... yes
checking pwd.h usability... yes
checking libintl.h presence... yes
checking pwd.h presence... yes
checking for libintl.h... yes
yes
yes
checking libgen.h usability... yes
checking for pwd.h... yes
checking for fsync... checking for gettimeofday... checking utime.h usability... yes
checking libgen.h presence... yes
checking for libgen.h... yes
checking util/debug.h usability... yes
yes
checking utime.h presence... yes
checking for getcwd... yes
checking for utime.h... yes
checking for getwd... checking sys/param.h usability... no
checking util/debug.h presence... no
checking for util/debug.h... no
checking util/msg18n.h usability... yes
yes
checking sys/param.h presence... checking for getpseudotty... yes
checking for lstat... yes
checking for sys/param.h... yes
checking libintl.h usability... no
checking util/msg18n.h presence... no
checking for util/msg18n.h... no
checking frame.h usability... no
checking for getpwent... yes
yes
checking libintl.h presence... checking for memset... yes
checking for libintl.h... yes
checking libgen.h usability... no
checking frame.h presence... no
checking for frame.h... no
checking sys/acl.h usability... yes
yes
checking libgen.h presence... checking for getpwnam... yes
yes
checking for libgen.h... yes
checking for mkdtemp... checking util/debug.h usability... yes
checking sys/acl.h presence... yes
checking for sys/acl.h... yes
checking sys/access.h usability... yes
no
checking util/debug.h presence... checking for getpwuid... yes
no
checking for util/debug.h... no
checking for nanosleep... checking util/msg18n.h usability... no
checking sys/access.h presence... no
checking for sys/access.h... no
checking sys/sysinfo.h usability... no
checking util/msg18n.h presence... yes
checking for getrlimit... yes
no
checking for util/msg18n.h... no
checking frame.h usability... checking for opendir... yes
checking sys/sysinfo.h presence... yes
checking for sys/sysinfo.h... yes
checking wchar.h usability... no
checking frame.h presence... yes
yes
no
checking for frame.h... no
checking sys/acl.h usability... checking for putenv... checking for gettimeofday... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking wctype.h usability... yes
checking sys/acl.h presence... yes
checking for sys/acl.h... yes
yes
yes
checking sys/access.h usability... checking for qsort... checking for getwd... yes
checking wctype.h presence... yes
checking for wctype.h... yes
checking for sys/ptem.h... no
checking sys/access.h presence... no
checking for sys/sysctl.h... no
checking for sys/access.h... no
checking sys/sysinfo.h usability... yes
checking for readlink... yes
checking for lstat... yes
checking for pthread_np.h... yes
checking sys/sysinfo.h presence... no
checking strings.h usability... yes
checking for sys/sysinfo.h... yes
checking wchar.h usability... yes
yes
checking for select... checking for memset... yes
checking strings.h presence... yes
checking for strings.h... yes
yes
checking wchar.h presence... checking if strings.h can be included after string.h... yes
checking for wchar.h... yes
checking wctype.h usability... yes
checking whether gcc needs -traditional... yes
checking for setenv... yes
checking for mkdtemp... no
checking for an ANSI C-conforming const... yes
checking wctype.h presence... yes
checking for working volatile... yes
checking for wctype.h... yes
checking for sys/ptem.h... yes
checking for setpgid... yes
no
checking for sys/sysctl.h... yes
checking for mode_t... checking for nanosleep... yes
checking for pthread_np.h... yes
checking for setsid... no
yes
checking strings.h usability... checking for opendir... yes
checking for off_t... yes
checking strings.h presence... yes
checking for strings.h... yes
checking if strings.h can be included after string.h... yes
yes
checking for sigaltstack... checking for putenv... yes
checking whether gcc needs -traditional... no
checking for an ANSI C-conforming const... yes
checking for sigstack... yes
checking for working volatile... yes
checking for pid_t... yes
checking for qsort... yes
checking for mode_t... yes
yes
checking for sigset... checking for readlink... yes
checking for size_t... yes
checking for off_t... yes
yes
checking for sigsetjmp... checking for select... yes
checking for uid_t in sys/types.h... no
checking for sigaction... yes
yes
checking for uint32_t... checking for setenv... yes
checking for pid_t... yes
checking whether time.h and sys/time.h may both be included... yes
yes
checking for setpgid... checking for sigprocmask... yes
checking for ino_t... yes
checking for size_t... yes
yes
checking for sigvec... checking for setsid... yes
checking for dev_t... yes
checking for sigaltstack... no
checking for strcasecmp... yes
checking for uid_t in sys/types.h... yes
checking for uint32_t... yes
checking for sigstack... yes
checking whether time.h and sys/time.h may both be included... yes
yes
checking whether byte ordering is bigendian... checking for strerror... yes
checking for ino_t... yes
checking for sigset... yes
checking for strftime... no
checking for inline... inline
checking for rlim_t... yes
checking for dev_t... yes
yes
checking for stack_t... checking for sigsetjmp... yes
yes
checking whether stack_t has an ss_base field... checking for stricmp... no
checking --with-tlib argument... empty: automatic terminal library selection
checking for tgetent in -ltinfo... no
checking for sigaction... no
checking for strncasecmp... yes
checking whether byte ordering is bigendian... yes
yes
checking for sigprocmask... yes
checking for strnicmp... no
checking for inline... checking whether we talk terminfo... yes
inline
checking for rlim_t... checking for sigvec... yes
checking for stack_t... no
checking for strpbrk... yes
checking whether stack_t has an ss_base field... yes
checking what tgetent() returns for an unknown terminal... no
checking --with-tlib argument... empty: automatic terminal library selection
no
checking for strcasecmp... checking for tgetent in -ltinfo... yes
checking for strtol... zero
checking whether termcap.h contains ospeed... yes
yes
checking for strerror... no
checking whether ospeed can be extern... yes
checking for tgetent... yes
checking whether termcap.h contains UP, BC and PC... yes
checking whether we talk terminfo... checking for strftime... yes
no
checking whether UP, BC and PC can be extern... checking for towlower... yes
yes
checking what tgetent() returns for an unknown terminal... yes
checking whether tputs() uses outfuntype... checking for stricmp... yes
checking for towupper... no
checking whether sys/select.h and sys/time.h may both be included... yes
checking for /dev/ptc... no
checking for SVR4 ptys... zero
checking whether termcap.h contains ospeed... no
checking for strncasecmp... yes
checking for iswupper... no
checking whether ospeed can be extern... yes
checking for ptyranges... don't know
checking default tty permissions/group... yes
checking for strnicmp... yes
yes
checking whether termcap.h contains UP, BC and PC... checking for usleep... no
checking whether UP, BC and PC can be extern... no
checking for strpbrk... can't determine - assume ptys are world accessible
world
yes
checking return type of signal handlers... checking for utime... yes
checking whether tputs() uses outfuntype... void
checking for struct sigcontext... no
checking whether sys/select.h and sys/time.h may both be included... yes
checking for strtol... yes
yes
yes
checking getcwd implementation is broken... checking for utimes... checking for /dev/ptc... no
checking for SVR4 ptys... yes
checking for tgetent... yes
no
checking for _LARGEFILE_SOURCE value needed for large files... checking for fchdir... yes
checking for ptyranges... don't know
checking default tty permissions/group... yes
checking for towlower... yes
checking for fchown... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... yes
can't determine - assume ptys are world accessible
world
checking return type of signal handlers... checking for towupper... yes
64
checking for fsync... checking for st_blksize... void
checking for struct sigcontext... yes
checking whether stat() ignores a trailing slash... yes
checking for iswupper... yes
yes
checking getcwd implementation is broken... checking for getcwd... yes
yes
checking for getpseudotty... no
no
checking for iconv_open()... checking for fchdir... checking for usleep... yes
yes
no
checking for getpwent... checking for fchown... checking for utime... yes
checking for nl_langinfo(CODESET)... yes
yes
checking for utimes... yes
checking for fsync... checking for getpwnam... yes
checking for strtod in -lm... yes
yes
yes
checking for _LARGEFILE_SOURCE value needed for large files... checking for getpwuid... checking for getcwd... yes
checking for strtod() and other floating point functions... no
yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... checking for getrlimit... yes
checking for getpseudotty... yes
checking for isinf()... 64
checking for st_blksize... yes
checking for gettimeofday... no
checking for getpwent... yes
checking whether stat() ignores a trailing slash... yes
yes
checking for isnan()... checking for getwd... yes
checking for getpwnam... no
checking for iconv_open()... yes
checking for lstat... yes
yes
checking for getpwuid... checking --disable-acl argument... no
checking for acl_get_file in -lposix1e... yes
checking for nl_langinfo(CODESET)... no
checking for acl_get_file in -lacl... yes
checking for memset... yes
checking for getrlimit... yes
checking for strtod in -lm... yes
checking for fgetxattr in -lattr... yes
checking for mkdtemp... yes
checking for gettimeofday... yes
checking for strtod() and other floating point functions... yes
checking for POSIX ACL support... yes
yes
checking for nanosleep... checking for getwd... yes
checking for isinf()... yes
checking for acl_get in -lsec... yes
checking for opendir... yes
checking for lstat... no
checking for Solaris ACL support... yes
yes
checking for putenv... no
checking for AIX ACL support... checking for memset... yes
checking for isnan()... no
checking --disable-gpm argument... no
checking for gpm... yes
yes
checking for qsort... checking for mkdtemp... yes
checking --disable-acl argument... no
checking for acl_get_file in -lposix1e... yes
checking --disable-sysmouse argument... no
checking for sysmouse... yes
no
checking for FD_CLOEXEC... checking for nanosleep... yes
no
checking for acl_get_file in -lacl... checking for readlink... yes
checking for rename... yes
yes
checking for fgetxattr in -lattr... checking for opendir... yes
checking for select... yes
checking for sysctl... yes
checking for POSIX ACL support... yes
checking for putenv... not usable
checking for sysinfo... yes
checking for setenv... yes
checking for sysinfo.mem_unit... yes
yes
checking for acl_get in -lsec... checking for qsort... yes
checking for sysconf... yes
checking for setpgid... no
checking for Solaris ACL support... yes
checking size of int... no
checking for AIX ACL support... yes
yes
checking for readlink... checking for setsid... no
checking --disable-gpm argument... yes
checking --disable-sysmouse argument... no
checking for sysmouse... no
checking for FD_CLOEXEC... 4
checking size of long... yes
yes
checking for select... checking for sigaltstack... yes
checking for rename... yes
checking for setenv... yes
yes
checking for sysctl... checking for sigstack... 4
checking size of time_t... not usable
checking for sysinfo... yes
checking for setpgid... yes
yes
checking for sysinfo.mem_unit... checking for sigset... yes
checking for sysconf... 4
checking size of off_t... yes
yes
checking for setsid... checking for sigsetjmp... yes
checking size of int... yes
checking for sigaltstack... no
checking for sigaction... 8
checking uint32_t is 32 bits... 4
checking size of long... yes
checking for sigstack... yes
ok
checking whether memmove handles overlaps... checking for sigprocmask... 4
checking size of time_t... yes
yes
checking for sigset... checking for sigvec... yes
checking for _xpg4_setrunelocale in -lxpg4... yes
no
checking how to create tags... checking for sigsetjmp... no
checking for strcasecmp... ctags
checking how to run man with a section nr... man
checking --disable-nls argument... no
checking for msgfmt... msgfmt
checking for NLS... 4
checking size of off_t... no
yes
gettext() works
checking for sigaction... checking for bind_textdomain_codeset... checking for strerror... 8
checking uint32_t is 32 bits... yes
checking for sigprocmask... yes
checking for _nl_msg_cat_cntr... yes
checking for strftime... ok
checking whether memmove handles overlaps... yes
checking for sigvec... yes
checking dlfcn.h usability... yes
checking for stricmp... yes
checking dlfcn.h presence... no
checking for strcasecmp... yes
checking whether X_LOCALE needed... yes
checking for dlfcn.h... yes
checking for dlopen()... no
checking for strncasecmp... no
checking for dlopen() in -ldl... yes
checking for strerror... yes
checking for strnicmp... no
checking whether Xutf8SetWMProperties() can be used... yes
checking for dlsym()... yes
checking for strftime... no
checking for strpbrk... yes
checking for _xpg4_setrunelocale in -lxpg4... yes
checking setjmp.h usability... yes
checking for stricmp... no
checking how to create tags... yes
checking for strtol... yes
checking setjmp.h presence... 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 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
no
checking for strncasecmp... gettext() works
checking dlfcn.h usability... yes
checking for tgetent... configure: updating cache auto/config.cache
configure: creating auto/config.status
yes
yes
checking dlfcn.h presence... checking for strnicmp... yes
checking for dlfcn.h... yes
checking for dlopen()... yes
checking for towlower... config.status: creating auto/config.mk
no
checking for dlopen() in -ldl... no
checking for strpbrk... config.status: creating auto/config.h
yes
checking for towupper... yes
checking for dlsym()... touch configure-stamp-vim-basic
dh_testdir
yes
checking for strtol... yes
checking for iswupper... yes
checking setjmp.h usability... yes
checking for tgetent... yes
yes
checking setjmp.h presence... checking for usleep... 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
yes
*** DEBIAN *** CONFIGURING VARIANT vim-athena
/usr/bin/make -C src shadow SHADOWDIR=vim-athena
checking for towlower... 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 .
configure: updating cache auto/config.cache
mkdir vim-athena/auto
cd vim-athena/auto; ln -s ../../auto/configure .
configure: creating auto/config.status
mkdir vim-athena/po
cd vim-athena/po; ln -s ../../po/*.po ../../po/*.mak ../../po/*.vim ../../po/Makefile .
yes
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
checking for utime... 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
yes
checking for towupper... yes
checking for utimes... config.status: creating auto/config.mk
config.status: creating auto/config.h
yes
checking for iswupper... yes
checking for _LARGEFILE_SOURCE value needed for large files... touch configure-stamp-vim-tiny
dh_testdir
yes
checking for usleep... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... yes
checking for utime... 64
checking for st_blksize... *** DEBIAN *** CONFIGURING VARIANT vim-nox
/usr/bin/make -C src shadow SHADOWDIR=vim-nox
configure: creating cache auto/config.cache
checking whether make sets $(MAKE)... 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 .
yes
checking for gcc... gcc
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 .
yes
cd vim-nox; rm -f auto/link.sed
checking whether stat() ignores a trailing slash... cp Makefile configure vim-nox
rm -f vim-nox/auto/config.mk vim-nox/config.mk.dist
cp config.mk.dist vim-nox/auto/config.mk
cp config.mk.dist vim-nox
mkdir vim-nox/xxd
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 .
checking whether the C compiler works... yes
checking for utimes... 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 _LARGEFILE_SOURCE value needed for large files... no
checking for iconv_open()...
checking whether we are cross compiling... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for suffix of object files... yes
checking for nl_langinfo(CODESET)... o
checking whether we are using the GNU C compiler... 64
checking for st_blksize... yes
checking whether gcc accepts -g... yes
checking for strtod in -lm... configure: creating cache auto/config.cache
checking whether make sets $(MAKE)... yes
checking for gcc option to accept ISO C89... yes
checking whether stat() ignores a trailing slash... yes
checking for gcc... gcc
checking whether the C compiler works... none needed
checking how to run the C preprocessor... yes
checking for strtod() and other floating point functions... gcc -E
yes
checking for C compiler default output file name... a.out
checking for suffix of executables... no
checking for iconv_open()... 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...
checking whether we are cross compiling... yes
checking for isinf()... none required
checking for gawk... no
checking for mawk... mawk
checking for strip... strip
checking for ANSI C header files... yes
no
checking for suffix of object files... checking for nl_langinfo(CODESET)... o
checking whether we are using the GNU C compiler... yes
checking for isnan()... yes
checking whether gcc accepts -g... yes
checking for strtod in -lm... yes
checking for gcc option to accept ISO C89... yes
checking for sys/wait.h that is POSIX.1 compatible... none needed
checking how to run the C preprocessor... yes
yes
checking --disable-acl argument... no
checking for acl_get_file in -lposix1e... checking --enable-fail-if-missing argument... yes
checking for recent clang version... no
configure: checking for buggy tools...
yes
checking for BeOS... checking for strtod() and other floating point functions... no
checking for QNX... no
checking for Darwin (Mac OS X)... gcc -E
no
checking AvailabilityMacros.h usability... checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
no
checking for acl_get_file in -lacl... checking for fgrep... /bin/grep -F
checking for library containing strerror... 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 --disable-smack argument... yes
checking --disable-selinux argument... no
checking for is_selinux_enabled in -lselinux... yes
checking for isinf()... none required
checking for gawk... no
checking for mawk... mawk
checking for strip... strip
checking for ANSI C header files... yes
checking for fgetxattr in -lattr... 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 POSIX ACL support... yes
checking for isnan()... yes
checking --enable-mzschemeinterp argument... no
checking --enable-perlinterp argument... yes
checking for perl... /usr/bin/perl
checking Perl version... yes
checking for acl_get in -lsec... OK
yes
checking for sys/wait.h that is POSIX.1 compatible... no
checking for Solaris ACL support... yes
checking --enable-fail-if-missing argument... yes
checking for recent clang version... yes
checking --disable-acl argument... no
configure: checking for buggy tools...
no
checking for acl_get_file in -lposix1e... checking for BeOS... no
checking for QNX... no
checking for Darwin (Mac OS X)... no
checking AvailabilityMacros.h usability... no
checking for AIX ACL support... no
checking for acl_get_file in -lacl... no
checking AvailabilityMacros.h presence... no
no
checking for AvailabilityMacros.h... no
checking for pango_shape_full... 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 --disable-smack argument... yes
checking --disable-selinux argument... no
checking for is_selinux_enabled in -lselinux... yes
checking for fgetxattr in -lattr... 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... checking if compile and link flags for Perl are sane... yes
checking for POSIX ACL support... yes
checking --enable-mzschemeinterp argument... no
checking --enable-perlinterp argument... yes
checking for perl... /usr/bin/perl
checking Perl version... yes
checking --enable-pythoninterp argument... no
OK
checking --enable-python3interp argument... yes
checking for python3... /usr/bin/python3
checking Python version... yes
checking for acl_get in -lsec... 3.5
checking Python is 3.0 or better... no
checking for Solaris ACL support... yep
checking Python's abiflags... no
checking for AIX ACL support... m
checking Python's install prefix... no
checking for pango_shape_full... /usr
checking Python's execution prefix... /usr
checking if compile and link flags for Perl are sane... checking Python's configuration directory... (cached) /usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf
checking Python3's dll name... libpython3.5m.so.1.0
checking if -pthread should be used... yes
yes
checking --disable-gpm argument... checking --enable-pythoninterp argument... no
no
checking for gpm... checking --enable-python3interp argument... yes
checking for python3... /usr/bin/python3
checking Python version... yes
checking if compile and link flags for Python 3 are sane... 3.5
checking Python is 3.0 or better... yep
checking Python's abiflags... yes
checking --disable-sysmouse argument... no
checking for sysmouse... no
checking for FD_CLOEXEC... yes
checking if -fPIE can be added for Python3... yes
checking for rename... m
checking Python's install prefix... /usr
checking Python's execution prefix... /usr
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... yes
checking for sysctl... 8.6 - OK
checking for location of Tcl include... /usr/include/tcl8.6/tcl.h
checking for location of tclConfig.sh script... checking Python's configuration directory... (cached) /usr/lib/python3.5/config-3.5m-arm-linux-gnueabihf
/usr/lib/tclConfig.sh
not usable
checking for sysinfo... checking Python3's dll name... libpython3.5m.so.1.0
checking if -pthread should be used... yes
checking for sysinfo.mem_unit... checking --enable-rubyinterp argument... yes
checking --with-ruby-command argument... defaulting to ruby
checking for ruby... /usr/bin/ruby
checking Ruby version... yes
checking for sysconf... yes
checking if compile and link flags for Python 3 are sane... yes
checking size of int... OK
checking Ruby rbconfig... yes
checking if -fPIE can be added for Python3... yes
checking --disable-gpm argument... no
checking for gpm... 4
checking size of long... 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... RbConfig
checking Ruby header files... 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
yes
checking --disable-sysmouse argument... no
checking for sysmouse... no
checking for FD_CLOEXEC... checking --enable-rubyinterp argument... yes
checking --with-ruby-command argument... defaulting to ruby
checking for ruby... /usr/bin/ruby
checking Ruby version... 4
checking size of time_t... yes
checking for rename... /usr/include/ruby-2.3.0
OK
checking Ruby rbconfig... yes
checking for sysctl... 4
checking size of off_t... not usable
checking for sysinfo... yes
checking for sysinfo.mem_unit... RbConfig
checking Ruby header files... yes
checking for sysconf... 8
checking uint32_t is 32 bits... yes
checking size of int... ok
checking whether memmove handles overlaps... /usr/include/ruby-2.3.0
4
checking size of long... yes
checking whether X_LOCALE needed... 4
checking size of time_t... no
checking whether Xutf8SetWMProperties() can be used... 4
checking size of off_t... yes
checking for _xpg4_setrunelocale in -lxpg4... no
checking how to create tags... 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... 8
checking uint32_t is 32 bits... ctags
checking how to run man with a section nr... man
checking --disable-nls argument... no
checking for msgfmt... msgfmt
checking for NLS... no
checking for gethostbyname in -lnsl... gettext() works
checking for bind_textdomain_codeset... ok
checking whether memmove handles overlaps... yes
checking whether compiling with process communication is possible... yes
checking for _nl_msg_cat_cntr... yes
checking whether X_LOCALE needed... 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
checking for X... yes
checking dlfcn.h usability... 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... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for dlopen()... libraries , headers
no
checking for gethostbyname in -lnsl... no
checking whether Xutf8SetWMProperties() can be used... no
checking for dlopen() in -ldl... yes
checking whether compiling with process communication is possible... checking for gethostbyname... yes
checking for _xpg4_setrunelocale in -lxpg4... yes
checking for dlsym()... no
checking how to create tags... yes
checking for connect... 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 --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
yes
checking setjmp.h usability... checking X11/SM/SMlib.h usability... yes
checking for remove... gettext() works
checking for bind_textdomain_codeset... yes
checking X11/SM/SMlib.h presence... yes
checking setjmp.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 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
yes
checking for shmat... yes
checking for _nl_msg_cat_cntr... configure: updating cache auto/config.cache
configure: creating auto/config.status
no
checking whether __DATE__ and __TIME__ work... yes
checking for IceConnectionNumber in -lICE... yes
yes
checking whether __attribute__((unused)) is allowed... checking dlfcn.h usability... yes
yes
checking if X11 header files can be found... checking elf.h usability... config.status: creating auto/config.mk
config.status: creating auto/config.h
yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for dlopen()... yes
checking elf.h presence... yes
checking for elf.h... yes
checking for main in -lelf... yes
checking for _XdmcpAuthDoIt in -lXdmcp... no
checking for dlopen() in -ldl... touch configure-stamp-vim-gtk
dh_testdir
no
checking for dirent.h that defines DIR... yes
checking for library containing opendir... yes
checking for IceOpenConnection in -lICE... yes
checking for dlsym()... yes
checking for XpmCreatePixmapFromData in -lXpm... none required
checking stdint.h usability... yes
checking setjmp.h usability... dh_prep -p vim
yes
checking stdint.h presence... yes
checking for stdint.h... yes
checking stdlib.h usability... yes
checking setjmp.h presence... yes
checking if X11 header files implicitly declare return values... 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... *** DEBIAN *** BUILDING VARIANT vim-basic
/usr/bin/make -C src/vim-basic
yes
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 stdlib.h presence... no
checking size of wchar_t is 2 bytes... yes
checking for stdlib.h... yes
checking string.h usability... configure: updating cache auto/config.cache
configure: creating auto/config.status
yes
checking string.h presence... yes
checking for string.h... yes
checking sys/select.h usability... no
checking --enable-gui argument... Athena GUI support
checking if Athena header files can be found... config.status: creating auto/config.mk
yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
config.status: creating auto/config.h
creating auto/pathdef.c
checking sys/utsname.h usability... yes
checking for XShapeQueryExtension in -lXext... 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 sys/utsname.h presence... touch configure-stamp-vim-gtk3
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 for sys/utsname.h... yes
checking termcap.h usability... yes
checking for wslen in -lw... no
checking termcap.h presence... no
checking for dlsym in -ldl... no
checking for termcap.h... no
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sgtty.h usability... yes
checking for XmuCreateStippledPixmap in -lXmu... yes
checking sgtty.h presence... yes
checking for sgtty.h... yes
checking sys/ioctl.h usability... yes
checking for extra X11 defines... no
checking X11/SM/SMlib.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/time.h usability... yes
checking X11/SM/SMlib.h presence... yes
checking for X11/SM/SMlib.h... yes
checking X11/xpm.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/types.h usability... yes
checking X11/xpm.h presence... yes
checking for X11/xpm.h... yes
yes
checking sys/types.h presence... checking X11/Sunkeysym.h usability... yes
checking for sys/types.h... yes
checking termio.h usability... yes
checking X11/Sunkeysym.h presence... yes
checking for X11/Sunkeysym.h... yes
checking for XIMText in X11/Xlib.h... yes
checking termio.h presence... yes
checking for X11/Xmu/Editres.h... yes
checking for termio.h... yes
checking iconv.h usability... dh_testdir
yes
checking iconv.h presence... yes
checking for CYGWIN or MSYS environment... no
checking whether toupper is broken... yes
checking for iconv.h... yes
checking inttypes.h usability... yes
checking inttypes.h presence... yes
checking for inttypes.h... yes
checking langinfo.h usability... no
checking whether __DATE__ and __TIME__ work... yes
checking whether __attribute__((unused)) is allowed... yes
checking langinfo.h presence... dh_prep -p vim-tiny
yes
checking for langinfo.h... yes
checking math.h usability... yes
checking elf.h usability... *** DEBIAN *** BUILDING VARIANT vim-tiny
/usr/bin/make -C src/vim-tiny
make[1]: Entering directory '/<<PKGBUILDDIR>>/src/vim-tiny'
mkdir -p objects
touch objects/.dirstamp
CC="gcc -Iproto -DHAVE_CONFIG_H -Wdate-time " srcdir=. sh ./osdef.sh
yes
yes
checking math.h presence... checking elf.h presence... yes
checking for elf.h... yes
checking for main in -lelf... yes
checking for math.h... yes
checking unistd.h usability... no
checking for dirent.h that defines DIR... yes
checking unistd.h presence... yes
yes
checking for unistd.h... yes
checking for library containing opendir... checking stropts.h usability... yes
checking stropts.h presence... none required
yes
checking for stropts.h... yes
checking stdint.h usability... checking errno.h usability... yes
checking stdint.h presence... yes
checking errno.h presence... yes
checking for stdint.h... yes
yes
checking for errno.h... yes
checking stdlib.h usability... checking sys/resource.h usability... creating auto/pathdef.c
yes
checking stdlib.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/popupmnu.o popupmnu.c
yes
checking sys/resource.h presence... yes
checking for stdlib.h... yes
yes
checking for sys/resource.h... yes
checking string.h usability... checking sys/systeminfo.h usability... yes
checking string.h presence... yes
checking for string.h... yes
no
checking sys/systeminfo.h presence... checking sys/select.h usability... no
checking for sys/systeminfo.h... no
checking locale.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.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/quickfix.o quickfix.c
checking sys/utsname.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking sys/stream.h usability... yes
checking sys/utsname.h presence... yes
checking for sys/utsname.h... yes
checking termcap.h usability... no
checking sys/stream.h presence... no
checking for sys/stream.h... no
checking termios.h usability... no
checking termcap.h presence... no
checking for termcap.h... no
checking fcntl.h usability... 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
yes
checking termios.h presence... yes
checking for termios.h... yes
checking libc.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sgtty.h usability... no
checking libc.h presence... no
checking for libc.h... no
checking sys/statfs.h usability... yes
checking sgtty.h presence... yes
checking for sgtty.h... yes
checking sys/ioctl.h usability... yes
checking sys/statfs.h presence... yes
checking for sys/statfs.h... yes
yes
checking sys/ioctl.h presence... checking poll.h usability... yes
checking for sys/ioctl.h... yes
checking sys/time.h usability... yes
checking poll.h presence... yes
checking sys/time.h presence... yes
checking for poll.h... yes
checking sys/poll.h usability... yes
checking for sys/time.h... yes
checking sys/types.h usability... yes
checking sys/poll.h presence... yes
checking sys/types.h presence... yes
checking for sys/poll.h... yes
checking pwd.h usability... yes
checking for sys/types.h... yes
checking termio.h usability... yes
checking pwd.h presence... yes
checking termio.h presence... yes
checking for pwd.h... yes
yes
checking for termio.h... yes
checking utime.h usability... checking iconv.h usability... yes
checking iconv.h presence... yes
checking utime.h presence... yes
checking for iconv.h... yes
yes
checking for utime.h... yes
checking inttypes.h usability... checking sys/param.h usability... yes
checking inttypes.h presence... yes
checking for inttypes.h... yes
checking langinfo.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking libintl.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking math.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking libgen.h usability... yes
checking math.h presence... yes
checking libgen.h presence... yes
checking for math.h... yes
checking unistd.h usability... yes
checking for libgen.h... yes
checking util/debug.h usability... yes
checking unistd.h presence... no
checking util/debug.h presence... yes
checking for unistd.h... yes
checking stropts.h usability... no
checking for util/debug.h... no
checking util/msg18n.h usability... yes
checking stropts.h presence... no
checking util/msg18n.h presence... yes
checking for stropts.h... yes
no
checking for util/msg18n.h... no
checking errno.h usability... checking frame.h usability... yes
checking errno.h presence... no
checking frame.h presence... yes
checking for errno.h... yes
checking sys/resource.h usability... no
checking for frame.h... no
checking sys/acl.h usability... yes
checking sys/resource.h presence... yes
checking sys/acl.h presence... yes
checking for sys/resource.h... yes
yes
checking for sys/acl.h... yes
checking sys/systeminfo.h usability... checking sys/access.h usability... no
checking sys/systeminfo.h presence... no
checking sys/access.h presence... no
checking for sys/systeminfo.h... no
checking locale.h usability... no
checking for sys/access.h... no
checking sys/sysinfo.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
yes
checking sys/sysinfo.h presence... checking sys/stream.h usability... yes
checking for sys/sysinfo.h... yes
checking wchar.h usability... no
checking sys/stream.h presence... yes
checking wchar.h presence... no
checking for sys/stream.h... no
checking termios.h usability... yes
checking for wchar.h... yes
checking wctype.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking wctype.h presence... yes
checking libc.h usability... yes
checking for wctype.h... yes
checking for sys/ptem.h... no
checking for sys/sysctl.h... no
checking libc.h presence... 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
no
checking for libc.h... no
checking sys/statfs.h usability... yes
checking for pthread_np.h... no
checking strings.h usability... yes
checking sys/statfs.h presence... yes
checking for sys/statfs.h... yes
checking 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 poll.h presence... yes
checking whether gcc needs -traditional... yes
checking for poll.h... yes
checking sys/poll.h usability... no
checking for an ANSI C-conforming const... yes
checking for working volatile... yes
checking sys/poll.h presence... yes
checking for sys/poll.h... yes
checking pwd.h usability... yes
checking for mode_t... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking utime.h usability... yes
checking for off_t... yes
checking utime.h presence... yes
checking for utime.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for pid_t... 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 size_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 uid_t in sys/types.h... no
checking for util/debug.h... no
checking util/msg18n.h usability... yes
checking for uint32_t... no
checking util/msg18n.h presence... yes
checking whether time.h and sys/time.h may both be included... no
checking for util/msg18n.h... no
checking frame.h usability... yes
checking for ino_t... no
checking frame.h presence... no
checking for frame.h... no
checking sys/acl.h usability... yes
checking sys/acl.h presence... yes
checking for sys/acl.h... yes
yes
checking for dev_t... checking sys/access.h usability... no
checking sys/access.h presence... no
checking for sys/access.h... no
checking sys/sysinfo.h usability... yes
checking whether byte ordering is bigendian... yes
checking sys/sysinfo.h presence... yes
checking for sys/sysinfo.h... yes
checking wchar.h usability... yes
checking wchar.h presence... no
checking for inline... yes
checking for wchar.h... yes
checking wctype.h usability... inline
checking for rlim_t... yes
checking for stack_t... yes
yes
checking wctype.h presence... checking whether stack_t has an ss_base field... yes
checking for wctype.h... yes
checking for sys/ptem.h... no
checking for sys/sysctl.h... no
checking --with-tlib argument... empty: automatic terminal library selection
checking for tgetent in -ltinfo... yes
checking for pthread_np.h... yes
no
checking strings.h usability... yes
checking strings.h presence... yes
checking for strings.h... yes
checking if strings.h can be included after string.h... checking whether we talk terminfo... yes
checking whether gcc needs -traditional... no
checking for an ANSI C-conforming const... yes
checking for working volatile... yes
checking what tgetent() returns for an unknown terminal... yes
checking for mode_t... zero
checking whether termcap.h contains ospeed... no
checking whether ospeed can be extern... yes
checking for off_t... yes
checking whether termcap.h contains UP, BC and PC... no
checking whether UP, BC and PC can be extern... yes
checking for pid_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 size_t... yes
checking for ptyranges... don't know
checking default tty permissions/group... yes
checking for uid_t in sys/types.h... yes
checking for uint32_t... can't determine - assume ptys are world accessible
world
yes
checking whether time.h and sys/time.h may both be included... checking return type of signal handlers... yes
checking for ino_t... void
checking for struct sigcontext... yes
checking getcwd implementation is broken... yes
checking for dev_t... no
checking for fchdir... yes
checking for fchown... yes
checking whether byte ordering is bigendian... yes
checking for fsync... no
checking for inline... yes
inline
checking for rlim_t... checking for getcwd... yes
checking for stack_t... yes
checking whether stack_t has an ss_base field... yes
no
checking --with-tlib argument... empty: automatic terminal library selection
checking for getpseudotty... checking for tgetent in -ltinfo... yes
no
checking for getpwent... yes
checking for getpwnam... checking whether we talk terminfo... 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... can't determine - assume ptys are world accessible
world
yes
checking return type of signal handlers... checking for nanosleep... void
checking for struct sigcontext... yes
yes
checking getcwd implementation is broken... checking for opendir... yes
no
checking for fchdir... checking for putenv... yes
yes
checking for fchown... checking for qsort... yes
yes
checking for readlink... checking for fsync... yes
yes
checking for getcwd... checking for select... yes
yes
checking for setenv... checking for getpseudotty... yes
no
checking for setpgid... checking for getpwent... yes
yes
checking for setsid... checking for getpwnam... yes
yes
checking for sigaltstack... checking for getpwuid... yes
yes
checking for getrlimit... checking for sigstack... yes
yes
checking for gettimeofday... checking for sigset... yes
yes
checking for getwd... checking for sigsetjmp... 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
yes
checking for strerror... checking for opendir... yes
yes
checking for strftime... checking for putenv... yes
yes
checking for qsort... checking for stricmp... yes
no
checking for readlink... checking for strncasecmp... yes
yes
checking for select... checking for strnicmp... yes
no
checking for strpbrk... checking for setenv... yes
yes
checking for setpgid... checking for strtol... yes
yes
checking for setsid... checking for tgetent... yes
yes
checking for sigaltstack... checking for towlower... yes
yes
checking for sigstack... checking for towupper... yes
yes
checking for sigset... checking for iswupper... yes
yes
checking for sigsetjmp... checking for usleep... yes
no
checking for sigaction... checking for utime... yes
yes
checking for sigprocmask... checking for utimes... yes
yes
checking for _LARGEFILE_SOURCE value needed for large files... checking for sigvec... no
checking for strcasecmp... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 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... yes
checking for nl_langinfo(CODESET)... no
checking for strncasecmp... yes
checking for strnicmp... yes
checking for strtod in -lm... yes
checking for strtod() and other floating point functions... no
checking for strpbrk... yes
checking for strtol... yes
checking for isinf()... yes
checking for tgetent... yes
checking for isnan()... yes
checking for towlower... yes
checking --disable-acl argument... no
checking for acl_get_file in -lposix1e... yes
checking for towupper... no
checking for acl_get_file in -lacl... yes
checking for iswupper... yes
checking for fgetxattr in -lattr... yes
checking for usleep... yes
checking for POSIX ACL support... yes
checking for utime... yes
checking for acl_get in -lsec... no
checking for Solaris ACL support... yes
checking for utimes... no
checking for AIX ACL support... no
checking --disable-gpm argument... no
checking for gpm... yes
checking for _LARGEFILE_SOURCE value needed for large files... yes
checking --disable-sysmouse argument... no
checking for sysmouse... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for FD_CLOEXEC... yes
checking for rename... 64
checking for st_blksize... yes
checking whether stat() ignores a trailing slash... yes
checking for sysctl... not usable
checking for sysinfo... yes
checking for sysinfo.mem_unit... no
checking for iconv_open()... yes
checking for sysconf... yes
checking size of int... yes
checking for nl_langinfo(CODESET)... 4
checking size of long... yes
checking for strtod in -lm... yes
checking for strtod() and other floating point functions... 4
checking size of time_t... yes
checking for isinf()... 4
checking size of off_t... yes
checking for isnan()... 8
checking uint32_t is 32 bits... yes
checking --disable-acl argument... no
checking for acl_get_file in -lposix1e... ok
checking whether memmove handles overlaps... no
checking for acl_get_file in -lacl... yes
checking for fgetxattr in -lattr... yes
checking for _xpg4_setrunelocale in -lxpg4... no
checking how to create tags... yes
checking for POSIX ACL support... 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 acl_get in -lsec... no
checking for Solaris ACL support... yes
checking for _nl_msg_cat_cntr... no
checking for AIX ACL support... no
checking --disable-gpm argument... no
checking for gpm... yes
checking dlfcn.h usability... yes
checking --disable-sysmouse argument... no
checking for sysmouse... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for dlopen()... no
checking for FD_CLOEXEC... yes
checking for rename... no
checking for dlopen() in -ldl... yes
checking for sysctl... yes
checking for dlsym()... not usable
checking for sysinfo... yes
checking for sysinfo.mem_unit... yes
checking setjmp.h usability... yes
checking for sysconf... 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... 4
checking size of time_t... 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 off_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 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/screen.o screen.c
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 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/search.o search.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 -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
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 -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/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/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/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
dh_testdir
dh_prep -p vim-gtk3
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
*** 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
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
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 -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 -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/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 -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/window.o window.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
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/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 -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 -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/message.o message.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
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
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 -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 -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 -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/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 -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/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 -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/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/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 -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_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 -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 -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/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/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/window.o window.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/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 -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/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/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 -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-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 -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-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 -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 -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 -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 -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/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 -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/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 -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/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/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/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/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/misc2.o misc2.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
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
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
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
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/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/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/tag.o tag.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 -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
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 -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/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/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/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/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 -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/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/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/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/os_unix.o os_unix.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/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 -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 -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/pathdef.o 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/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 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
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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test1.in" 57 lines, 2069 characters[2;1HFirst 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[20;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 35 lines, 1133 characters written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[21;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If columns or lines are too small, create wrongtermsize.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" (Some tests will fail. When columns and/or lines are small)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Write a single line to test.out to check if testing works at all.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%d
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25lthis is a test[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 15 characters written[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Create small.vim and tiny.vim empty, create mbyte.vim to skip the test.
[?25l[1;14H[?12l[?25h
[?25l[1;1H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! small.vim
[?25l"small.vim" [24;13H[K[24;13H[New File] 1 line, 1 character written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! tiny.vim
[?25l"tiny.vim" [24;12H[K[24;12H[New File] 1 line, 1 character written[1;1H[?12l[?25h[?25le! test.ok
w! test.out[2;12H[K[3;1Hqa![3;4H[K[4;1H[K[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! mbyte.vim
[?25l"mbyte.vim" [24;13H[K[24;13H[New File] 4 lines, 28 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! mzscheme.vim
[?25l"mzscheme.vim" [24;16H[K[24;16H[New File] 4 lines, 28 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! lua.vim
[?25l"lua.vim" [24;11H[K[24;11H[New File] 4 lines, 28 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +multi_byte feature supported, make mbyte.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif has("multi_byte") | sp another | w! mbyte.vim | q | endif
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +mzscheme feature supported, make mzscheme.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif has("mzscheme") | sp another | w! mzscheme.vim | q | endif
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +lua feature supported, make lua.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif has("lua") | sp another | w! lua.vim | q | endif
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Otherwise write small.vim to skip the test.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif 1 | q! | endif
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! small.vim
[?25l"small.vim" [24;13H[K[24;13H4 lines, 28 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +windows feature not supported :sp will fail and tiny.vim will be
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" written to skip the test.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp another
[?25l"another" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[12;1H[1m[7manother [m[13;1Hqa![13;4H[K[14;1H[K[23;1H[7mtest1.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwq! tiny.vim
[?25l"tiny.vim" [24;12H[K[24;12H0 lines, 0 characters written[1;1He! test.ok
w! test.out[2;12H[K[3;1Hqa![3;4H[K[4;1H[K[12;1H[1m[34m~ [13;1H~ [14;1H~ [23;1H~ [4;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test3.in" 2342 lines, 23089 characters[1;1H/* vim: set cin ts=4 sw=4 : */
Test for 'cindent'
STARTTEST
:so small.vim
:set nocompatible viminfo+=nviminfo modeline
:edit[16C" read modeline
/start of AUTO
=/end of AUTO
ENDTEST
/* start of AUTO matically checked vim: set ts=4 : */
{[15;9Hif (test)[16;17Hcmd1;[17;9Hcmd2;
}
{[21;9Hif (test)[22;17Hcmd1;[23;9Helse[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1H/* vim: set cin ts=4 sw=4 : */[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 125 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H2096 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test4.in" 34 lines, 960 characters[1;1HTest 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[13C" split to Xxx, autocmd will do :brew
G?this is a
othis should be auto-indented[34m^[[m
:[19C" Append text with autoindent to this file
:au! BufEnter Xxx
:buf Xxx[12C" go to Xxx, no autocmd anymore
G?this is a
othis should be in column 1[34m^[[m:wq " append text without autoindent to Xxx
G:r Xxx[13C" include Xxx in the current file
:set fo+=r[10C" issue #57 do not move cursor on <c-o> when autoindent is ss[21;1Het
Go# abcdef[34m^[[m2hi
[34m^O[md0[34m^[[mo# abcdef[34m^[[m2hi[34m^O[md0[34m^[[m:[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for autocommand that changes current buffer on BufEnter event.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 20 lines, 678 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:?startstart?,$w! test.out
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H20 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.
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
VIMRUNTIME=../../runtime; export VIMRUNTIME; ../vim -f -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test5.in
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test5.in" 29 lines, 949 characters[1;1HTest 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[15C" write test file Xxx
:sp Xxx[25C" split to Xxx
:bwipe[26C" delete buffer Xxx, now we're back here
G?this is a
othis is some more text[34m^[[m
:[31C" Append some text to this file
:?start?,$w! test.out[11C" Write current file contents
:bwipe test.out[17C" delete alternate buffer
:au bufleave test5.in bwipe
:bwipe![25C" delete current buffer, get an empty one
ithis is another test line[34m^[[m:w >>test.out
:[31C" append an extra line to the output file
:qa!
ENDTEST
start of test file Xxx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for autocommand that deletes the current buffer on BufLeave event.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 16 lines, 664 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H9 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.
VIMRUNTIME=../../runtime; export VIMRUNTIME; ../vim -f -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test7.in
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test7.in" 26 lines, 675 characters[1;1HTest for autocommand that changes the buffer list, when doing ":ball".
STARTTEST
:so small.vim
/^start of
A1[34m^[[m:.,/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[17C" open window for all args, close Xxx2
:.,$w! test.out[10C" Write contents of this file
[34m^W^W[m:w >>test.out[8C" Append contents of second window (Xxx1)
[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa!
ENDTEST
start of test file Xxx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 508 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H12 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test8.in" 46 lines, 1236 characters[1;1HTest 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[34m^[[m:.,/end of/w! Xxx1 " write test file Xxx1
$r2:.,/end of/w! Xxx2 " write test file Xxx2
:e! Xxx2[16C" edit Xxx2
:bdel test8.in[10C" delete this file from the buffer list
:e Xxx1[17C" edit Xxx1
:w[22C" write it, will unload it and give an error msg
:w! test.out[12C" Write contents of this file
:e! Xxx2[16C" start editing Xxx2
:bwipe test.out[9C" remove test.out from the buffer list
:w[22C" write it, will delete the buffer and give an error msg[19;1H:w >>test.out[11C" Append contents of this file
:au! BufWritePre
:func CloseAll()
let i = 0
while i <= bufnr('$')[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for BufWritePre autocommand that deletes or unloads the buffer.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 37 lines, 1054 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[19M[1;24r[5;5Hif i != bufnr('%') && bufloaded(i)[6;7Hexe 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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H7 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test9.in" 12 lines, 255 characters[1;1HTest 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
[1m[34m~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for Bufleave autocommand that deletes the buffer we are about to edit.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 117 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H2 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test14.in" 99 lines, 1606 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for "vaBiB", end could be wrong.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 56 lines, 1141 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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):[15;9H{[16;17Hcmd;[17;17H{[18;25Hcmd; /* <-- Start cursor here */[19;25H{[20;25H}[21;17H}[22;9H}[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H26 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test15.in" 136 lines, 2246 characters[1;1HTests 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[34m^R[m
:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
/^aa
ggu
:?test for :left?,$w! test.out
:qa!
ENDTEST[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :right on text with embedded TAB.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 401 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H111 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test19.in" 33 lines, 692 characters[1;1HTests 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=[34m^V[mx7f t_kb=[34m^V[mx08
/some
r[7C:set noexpandtab
/other
r
:" Test replacing with Tabs and then backspacing to undo it
0wR[21C[34m^H^H^H^[[m
:" Test replacing with Tabs
0wR[21C[34m^[[m
:" Test that copyindent works with expandtab set
:set expandtab smartindent copyindent ts=8 sw=8 sts=8
o{
x[34m^[[m:set nosol
/Second line/
fwdv_:?^start?,$w! test.out
:qa![1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 19 lines, 447 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[23;1H
[1;24r[23;1HENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H10 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test20.in" 28 lines, 398 characters[1;1HTests 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$[34m^V[mjjlld
/456$
[34m^V[mjj"bP
:/56$/,$-1w! test.out
:qa!
ENDTEST
123456
234567
345678
test text test tex start here[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests Blockwise Visual when there are TABs before the text.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 11 lines, 107 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso tiny.vim
[?25l[18;1H[?12l[?25h[?25l[1;23r[1;1H[5M[1;24r[19;17Hsome text[20;17Htest text
test text
Ox[34m^[[mjAy[34m^[[mkdd[24;1H[K[23;1H[?12l[?25h[22;1H[?25lx[23;1H[K[22;1H[?12l[?25h
[?25ly[?12l[?25h[22;1H[?25ly
Ox[34m^[[mjAy[34m^[[mkdd[22;1H[?12l[?25h[?25l
2 changes; before #1 0 seconds ago[22;1H[K[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1H123456
234567
345678[16;1H[K[17;1Htest text test tex start here
some text[18;26H[K[19;17Htest
test text[20;17H[K[21;1H[K[22;1HOx[34m^[[mjAy[34m^[[mkdd
[7mtest20.in [1;1H[?12l[?25h[?25l[1;11r[m[1;1H[L[1;24r[1;1Hx[12;11H[1m[7m[+][m[24;1H[K[1;1H[?12l[?25h
[?25ly[?12l[?25h[1;1H[?25l[1;11r[11;1H
[1;24r[11;1H[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H1 line less; before #1 0 seconds ago[1;1H[K[12;11H[1m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hquit!
[?25l[1;1H:so tiny.vim
G0"ay$k@au[2;11H[K[3;1H:new[3;5H[K[4;1H@auY:quit![4;11H[K[5;1HGP[5;3H[K[6;1H/start here$[6;13H[K[7;1H"by$[34m^V[mjjlld[7;12H[K[8;1H/456$[8;6H[K[9;1H[34m^V[mjj"bP[9;8H[K[10;1H:/56$/,$-1w! test.out[10;22H[K[11;1H:qa![11;5H[K[12;1HENDTEST[12;8H[K[13;1H[K[14;1H123456
234567
345678[17;1H[K[18;1Htest text test tex start here[19;17Hsome
[7Ctest text
test text[22;1H[K[23;1HOx[34m^[[mjAy[34m^[[mkdd[23;13H[K[23;1H[?12l[?25h[?25l[23;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HOx[34m^[[mjAy[34m^[[mkdd[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25hstart here$
[?25l[31msearch hit BOTTOM, continuing at TOP[17;20H[?12l[?25h[?25l[?12l[?25h[?25l[m[7ms[18;20H[?12l[?25h[?25le[19;20H[?12l[?25h[?25l[17;21Ht[18;21H [19;20Ht[?12l[?25h[?25l[17;22Ha[18;22Ht[19;21H [?12l[?25h[?25l[m[17;20Hrt here[17;27H[K[18;20Hext[18;23H[K[19;20Hex[19;23H[K[17;20H[?12l[?25h[18;20H[?25l[24;1H[K[24;1H/[?12l[?25h456$
[?25l[31msearch hit BOTTOM, continuing at TOP[13;4H[?12l[?25h[?25l[?12l[?25h[?25l[m[7m4
[m234[?12l[?25h[?25l[7m5
[m345[?12l[?25h[?25l[?12l[?25h[?25l[13;4Hstart here56
234start here67
345start here78[13;13H[?12l[?25h[14;13H[?25l[24;1H[K[24;1H:[?12l[?25h/56$/,$-1w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 10 lines, 106 characters written[14;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test22.in" 13 lines, 197 characters[1;1HTests for file with some lines ending in CTRL-M, some not[34m^M
^M[m
STARTTEST
:set ta tx
:e!
:$-3,$w! test.out
:qa!
ENDTEST
this lines ends in a[34m^M[m
this one doesn't
this one does[34m^M[m
and the last one doesn't
[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for file with some lines ending in CTRL-M, some not[34m^M[m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 4 lines, 38 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ta tx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he!
[?25l"test22.in" 13 lines, 197 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$-3,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 4 lines, 79 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test23.in" 15 lines, 282 characters[1;1HTests 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
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for complicated + argument to :edit command[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 7 lines, 125 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$-1w! Xfile1
[?25l"Xfile1" [24;10H[K[24;10H[New File] 1 line, 8 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! Xfile2
[?25l"Xfile2" [24;10H[K[24;10H[New File] 1 line, 8 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w
[?25l"Xfile1" [24;10H[K[24;10H1 line, 8 characters
foo|bar
"Xfile1" 1 line, 11 characters written
"Xfile2" 1 line, 8 characters
foo/bar
"Xfile2" 1 line, 12 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 12 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfile1
[?25l"Xfile1" 1 line, 11 characters[1;1H[7L[1;1HfooPIPEbar
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[24;1H[K[24;1H"Xfile1" 1 line, 11 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >> test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test24.in" 89 lines, 1301 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with backslash and other special characters inside [][24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 51 lines, 519 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[2;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\x]
[?25l[15;6H[?12l[?25h[?25ltext test text[15;20H[K[15;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\t\]]
[?25l[16;8H[?12l[?25h[?25ltext test tex[16;20H[K[16;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[]y]
[?25l[17;11H[?12l[?25h[?25ltest text[17;20H[K[17;11H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\]]
[?25l[18;6H[?12l[?25h[?25ltext test text[18;20H[K[18;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[y^]
[?25l[19;13H[?12l[?25h[?25lst text[19;20H[K[19;13H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[$y]
[?25l[20;8H[?12l[?25h[?25lxt test text[20;20H[K[20;8H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\x61]
[?25l[21;7H[?12l[?25h[?25lext test text x61[21;25H[K[21;7H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\x60-\x64]
[?25l[22;7H[?12l[?25h[?25lext test text x60-x64[22;29H[K[22;7H[?12l[?25h[23;7H
[?25l[24;1H[K[24;1H/[?12l[?25h[\x785]
[?25l[23;6H[?12l[?25h[?25ltext test text x78 5[23;27H[K[23;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\o143]
[?25l[1;23r[23;1H
[1;24r[23;1Htestc text test text o143[24;1H[K[23;5H[?12l[?25h[?25l text test text o143[23;26H[K[23;5H[?12l[?25h[?25l
/[?12l[?25h[\o140-\o144]
[?25l[1;23r[23;1H
[1;24r[23;1Htesdt text test text o140-o144[24;1H[K[23;4H[?12l[?25h[?25lt text test text o140-o14[23;31H[K[23;4H[?12l[?25h[?25l
/[?12l[?25h[\o417]
[?25l[1;23r[23;1H
[1;24r[23;1Htest7 text test text o41 7[24;1H[K[23;5H[?12l[?25h[?25l text test text o41 7[23;27H[K[23;5H[?12l[?25h[?25l
/[?12l[?25h\%x42
[?25l[1;23r[23;1H
[1;24r[23;1Htest text tBest text \%x42[24;1H[K[23;12H[?12l[?25h[?25lest text \%x42[23;27H[K[23;12H[?12l[?25h[?25l
/[?12l[?25h\%o103
[?25l[1;23r[23;1H
[1;24r[23;1Htest text teCst text \%o103[24;1H[K[23;13H[?12l[?25h[?25lst text \%o103[23;28H[K[23;13H[?12l[?25h[?25l
/[?12l[?25h[\x00]
[?25l[1;23r[23;1H
[1;24r[23;1Htest text [34m^@[mtest text [\x00][24;1H[K[23;11H[?12l[?25h[?25ltest text [\x00][23;28H[K[23;11H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest te[34m^@[mxt t[34m^D[mest t[34m^P[mext [\x00-\x10][23;11H[?12l[?25h[?25l
:[?12l[?25hs/[\x00-\x10]//g
[?25l3 substitutions on 1 line[23;8Hxt test text [\x00-\x10][23;33H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest \xyztext test text [\x-z][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/[\x-z]\+//
[?25l[23;6Htext test text [\x-z][23;28H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest text tev\uyst text [\u-z][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/[\u-z]\{2,}//
[?25l[23;13Hst text [\u-z][23;28H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)\+//
[?25l[23;4H xx [23;10H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a*\)\+//
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a*\)*//
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)\{2,3}/A/
[?25l[23;4HAaa xx[23;10H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)\{-2,3}/A/
[?25l[23;4HAaaa x[23;11H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaa12aa xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)*\(12\)\@>/A/
[?25l[23;4HAaa xx[23;10H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx foobar xbar xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(foo\)\@<!bar/A/
[?25l[23;12HA xx[23;16H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx an file xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(an\_s\+\)\@<=file/A/
[?25l[23;7HA xx[23;12H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hx= 9;[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/XX/
[?25l[23;1HXX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hhh= 77;[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/
[?25l[23;1HYY 77;[23;7H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/aaa/xyz/
[?25l[23;2Hxyz
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Hxyz[24;1H[K[23;2H[?12l[?25h[?25l
:[?12l[?25hs/~/bcd/
[?25l[23;2Hbcd
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Hbcdbcdbcd[24;1H[K[23;2H[?12l[?25h[?25l
:[?12l[?25hs/~\+/BB/
[?25l[23;2HBB[23;4H[K[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?start?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 32L, 586C written[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test26.in" 44 lines, 750 characters[1;1HTest 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[34m^V^[[m
: if i == 9
: break
: endif
: if i == 5
: continue
: else
: let j = 9
: while j > 0
:[8Cif has("ebcdic")[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for :execute, :while and :if[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 39 lines, 696 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: let j = 9
: while j > 0
:[8Cif has("ebcdic")
:[10Cexecute "normal" j . "a" . j . "\x27"
:[8Celse
:[10Cexecute "normal" j . "a" . j . "\x1b"
:[8Cendif
:[8Clet 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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H10 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test28.in" 23 lines, 364 characters[1;1HTest for sourcing a file with CTRL-V's at the end of the line
STARTTEST
:/firstline/+1,/lastline/-1w! Xtestfile
:so Xtestfile
Gmm__1[34m^[^[[m__2[34m^[[m__3[34m^[^[[m__4[34m^[[m__5[34m^[[m:'m,$s/[34m^@[m/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[34m^V[m
map __2 asd[34m^V^V[m
map __3 asd[34m^V^V[m
map __4 asd[34m^V^V^V[m
map __5 asd[34m^V^V^V[m
lastline[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for sourcing a file with CTRL-V's at the end of the line[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 114 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/firstline/+1,/lastline/-1w! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;13H[New File] 10 lines, 148 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso Xtestfile
[?25l[10;1H[?12l[?25h[23;1H[?25l[1;23r[23;1H
[1;24r[22;1Hsd
map __2 asd[34m^[[m[24;1H[K[23;12H[?12l[?25h[?25l[2Csecond[?12l[?25h[?25ldsd[34m^[[?12l[?25h[?25l[m[2Csd[34m^@[mmap __5 asd[34m^@[?12l[?25h[?25l[m[2Cfifth[?12l[?25h[?25l
:[?12l[?25h'm,$s/[34m^@[m/0/g
[?25l[23;26H0map __5 asd0fifth[23;44H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h'm,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 2 lines, 45 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test29.in" 230 lines, 4261 characters[1;1HTest 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+=j[14;1Hj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j joinspaces
j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptionss[16;1H+=j
j05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j nojoinspaces compatible
j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj4Jy3l$pjd/STARTTEST/-2
ENDTEST
firstline
asdfasdf.
asdf[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for joining lines and marks in them[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 11 lines, 478 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H97 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
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
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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test31.in" 95 lines, 1832 characters[1;1HTest for commands that close windows and/or buffers:
:quit
:close
:hide
:only
:sall
:all
:ball
:buf
:edit
STARTTEST
:so small.vim
GA 1[34m^[[m:$w! Xtest1
$r2:$w! Xtest2
$r3:$w! Xtest3
:n! Xtest1 Xtest2
A 1[34m^[[m: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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for commands that close windows and/or buffers:[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[12;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 80 lines, 1697 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:" 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[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H14 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.
VIMRUNTIME=../../runtime; export VIMRUNTIME; ../vim -f -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test33.in
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test33.in" 34 lines, 616 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for 'lisp'[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 63 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H23 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test34.in" 87 lines, 1833 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for user functions.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 78 lines, 1621 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H10 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test36.in" 108 lines, 2025 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest character classes in regexp using regexpengine 0, 1, 2.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 101 lines, 1850 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hp: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
:[?12l[?25hs/\%#=0\D//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\D//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\D//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^0-9]//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^0-9]//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^0-9]//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\O//g
[?25l74 substitutions on 1 line[21;1H01234567[21;9H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=2\O//g
[?25l74 substitutions on 1 line[21;1H01234567[21;9H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
:[?12l[?25hs/\%#=1[^0-7]//g
[?25l74 substitutions on 1 line[22;1H01234567[22;9H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^0-7]//g
[?25l74 substitutions on 1 line[22;1H01234567[22;9H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\X//g
[?25l60 substitutions on 1 line[21;1H0123456789ABCDEFabcdef[21;23H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=2\X//g
[?25l60 substitutions on 1 line[21;1H0123456789ABCDEFabcdef[21;23H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=1[^0-9A-Fa-f]//g
[?25l60 substitutions on 1 line[21;1H0123456789ABCDEFabcdef[21;23H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\W//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\W//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\W//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0\H//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\H//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\H//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^A-Za-z_]//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^A-Za-z_]//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^A-Za-z_]//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0\A//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\A//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\A//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^A-Za-z]//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^A-Za-z]//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^A-Za-z]//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0\L//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\L//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\L//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^a-z]//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^a-z]//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^a-z]//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\U//g
[?25l70 substitutions on 1 line[21;1HABCDEFGHIXYZ[21;14H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=2\U//g
[?25l70 substitutions on 1 line[21;1HABCDEFGHIXYZ[21;14H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
:[?12l[?25hs/\%#=1[^A-Z]//g
[?25l70 substitutions on 1 line[22;1HABCDEFGHIXYZ[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^A-Z]//g
[?25l70 substitutions on 1 line[22;1HABCDEFGHIXYZ[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test37.in" 116 lines, 3262 characters[1;1HTest 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
[34m^W[mt:
:resize 8
/^start of window 1$/
zt:
:set scrollbind
[34m^W[mj:
:resize 7
/^start of window 2$/
zt:
:set scrollbind
:" -- start of tests --[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for 'scrollbind'. <eralston@computer.org> Do not add a line below![24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 72 lines, 1498 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[3;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1HHk[34m^W[mtH[34m^W[mjHyy[34m^W[mbp[34m^W[mtyy[34m^W[mbp:
[34m^W[mt:set noscb
ggL[34m^W[mj:set noscb
ggL:set scb
[34m^W[mt:set scb
[34m^W[mtG[34m^W[mjG[34m^W[mt:syncbind
Hk[34m^W[mjH[34m^W[mtHyy[34m^W[mbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
[34m^W[mtH3k[34m^W[mjH[34m^W[mtHyy[34m^W[mbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
:" ***** done with tests *****
:w! test.out[13C" 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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H33 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.
VIMRUNTIME=../../runtime; export VIMRUNTIME; ../vim -f -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test38.in
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test38.in" 35 lines, 455 characters[2;1HTest Virtual replace mode.
STARTTEST
:so small.vim
:" make sure that backspace works, no matter what termcap is used
:set t_kD=[34m^V[mx7f t_kb=[34m^V[mx08
ggdGa
abcdefghi
jk lmn
opq rst
[34m^D[muvwxyz
[34m^[[mgg:set ai
:set bs=2
gR0[34m^D[m 1
A
BCDEFGHIJ[18;9HKL
MNO
PQR[34m^[[mG:ka
o0[34m^D[m
abcdefghi
jk lmn[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[Kgcc -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
[24;11H[New File] 29 lines, 407 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[11M[1;24r[13;5Hopq rst
[34m^D[muvwxyz
[34m^[[m'ajgR0[34m^D[m 1
A
BCDEFGHIJ[18;9HKL
MNO
PQR[34m^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^[[m:$
iab cdefghi jkl[34m^[[m0gRAB......CDEFGHI.J[34m^[[mo[34m^[[m:
iabcdefghijklmnopqrst[34m^[[m0gRAB IJKLMNO QR[34m^[[m:wq! test.out
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H13 lines, 107 characters
"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test39.in" 118 lines, 2435 characters[2;1HTest Visual block mode commands
And test "U" in Visual mode, also on German sharp S.
#define BO_ALL 0x0001
#define BO_BS[7C0x0002
#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[34m^V[mjj>wll[34m^V[mjlll>
:" Test shift-left of a block
G$hhhh[34m^V[mkk<
:" Test block-insert
Gkl[34m^V[mkkkIxyz[34m^[[m
:" Test block-replace
Gllll[34m^V[mkkklllrq
:" Test block-change[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 75 lines, 2061 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[10;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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!
ENDTEST[14;17Hline1[15;17Hline2[16;17Hline3
aaaaaa
bbbbbb
cccccc
dddddd
xaaa[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H63 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test40.in" 63 lines, 1536 characters[1;1HTest for "*Cmd" autocommands
STARTTEST
:so small.vim
:/^start/,$w! Xxx[15C" write lines below to Xxx
:au BufReadCmd XtestA 0r Xxx|$del
:e XtestA[23C" will read text of Xxd instead
:au BufWriteCmd XtestA call append(line("$"), "write")
:w[30C" will append a line to the file
:r XtestA[23C" should not read anything
:[31C" now we have:
:[31C" 1 start of Xxx
:[31C" 2[13Ctest40
:[31C" 3 end of Xxx
:[31C" 4 write
:au FileReadCmd XtestB '[r Xxx
:2r XtestB[22C" will read Xxx below line 2 instead
:[31C" 1 start of Xxx
:[31C" 2[13Ctest40
:[31C" 3 start of Xxx
:[31C" 4[13Ctest40
:[31C" 5 end of Xxx
:[31C" 6 end of Xxx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for "*Cmd" autocommands[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 55 lines, 1455 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$w >>test.out[18C" append "end of Xxx" to test.out
:au BufReadCmd XtestE 0r test.out|$del
:sp XtestE[22C" split window with test.out
5Goasdf[34m^[^W^W[m:"
:au BufWriteCmd XtestE w! test.out
:wall[27C" will write other window to test.out
:[31C" 1 start of Xxx
:[31C" 2[13Ctest40
:[31C" 3 start of Xxx
:[31C" 4[13Ctest401
:[31C" 5 end of Xxx
:[31C" 6 asdf
:[31C" 7 end of Xxx
:[31C" 8 write
:[31C" 9[13Ctest401
:[31C" 10 end of Xxx
:[31C" 11 end of Xxx
:qa!
ENDTEST
start of Xxx[22;9Htest40
end of Xxx[19;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H11 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test41.in" 24 lines, 421 characters[1;1HTest 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[34m^[[mkY3000p2GY3000p
:w! Xtest
:%d
:e! Xtest
:.w! test.out
3003G:.w >>test.out
6005G:.w >>test.out
:qa!
ENDTEST[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for writing and reading a file of over 100 Kbyte[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 13 lines, 196 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[10;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%d
[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25lThis is the start
This is the leader[2;19H[K[3;1HThis is the middle[3;19H[K[4;1HThis is the trailer[4;20H[K[5;1HThis is the end[5;16H[K[5;15H[?12l[?25h[4;15H[?25l[24;1H3000 more lines[24;16H[K[5;13Htrailer
This is the trailer[6;20H[K[7;1HThis is the trailer[7;20H[K[8;1HThis is the trailer[8;20H[K[9;1HThis is the trailer[9;20H[K[10;1HThis is the trailer[10;20H[K[11;1HThis is the trailer[11;20H[K[12;1HThis is the trailer[12;20H[K[13;1HThis is the trailer[13;20H[K[14;1HThis is the trailer[14;20H[K[15;1HThis is the trailer[15;20H[K[16;1HThis is the trailer[16;20H[K[17;1HThis is the trailer[17;20H[K[18;1HThis is the trailer[18;20H[K[19;1HThis is the trailer[19;20H[K[20;1HThis is the trailer[20;20H[K[21;1HThis is the trailer[21;20H[K[22;1HThis is the trailer[22;20H[K[23;1HThis is the trailer[23;20H[K[5;1H[?12l[?25h[2;1H[?25l[3;13Hleader[4;13Hleader[4;19H[K[5;13Hleader[5;19H[K[6;13Hleader[6;19H[K[7;13Hleader[7;19H[K[8;13Hleader[8;19H[K[9;13Hleader[9;19H[K[10;13Hleader[10;19H[K[11;13Hleader[11;19H[K[12;13Hleader[12;19H[K[13;13Hleader[13;19H[K[14;13Hleader[14;19H[K[15;13Hleader[15;19H[K[16;13Hleader[16;19H[K[17;13Hleader[17;19H[K[18;13Hleader[18;19H[K[19;13Hleader[19;19H[K[20;13Hleader[20;19H[K[21;13Hleader[21;19H[K[22;13Hleader[22;19H[K[23;13Hleader[23;19H[K[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest
[?25l"Xtest" [24;9H[K[24;9H[New File] 6005 lines, 117092 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%d
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest
[?25l"Xtest" [24;9H[K[24;9H6005 lines, 117092 characters[1;1HThis is the start
This is the leader[2;19H[K[3;1HThis is the leader[3;19H[K[4;1HThis is the leader[4;19H[K[5;1HThis is the leader[5;19H[K[6;1HThis is the leader[6;19H[K[7;1HThis is the leader[7;19H[K[8;1HThis is the leader[8;19H[K[9;1HThis is the leader[9;19H[K[10;1HThis is the leader[10;19H[K[11;1HThis is the leader[11;19H[K[12;1HThis is the leader[12;19H[K[13;1HThis is the leader[13;19H[K[14;1HThis is the leader[14;19H[K[15;1HThis is the leader[15;19H[K[16;1HThis is the leader[16;19H[K[17;1HThis is the leader[17;19H[K[18;1HThis is the leader[18;19H[K[19;1HThis is the leader[19;19H[K[20;1HThis is the leader[20;19H[K[21;1HThis is the leader[21;19H[K[22;1HThis is the leader[22;19H[K[23;1HThis is the leader[23;19H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w! test.out
[?25l"test.out" [24;12H[Kgcc -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
[24;12H[New File] 1 line, 18 characters written[1;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HThis 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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 19 characters appended[12;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HThis 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" [24;12H[K[24;12H1 line, 16 characters appended[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test42.in" 130 lines, 2368 characters[1;1HTest 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[11C" 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[22C" Ignore change from setting 'ff'
o[34m^V^@^[[m:set noeol
:w
:set ffs& nobinary[14C" Allow default test42.in format
:e #
:set ff=unix[20C" Format for files to write
:/^ucs-4$/+1w! Xtest5
:/^ucs-4le$/+1w! Xtest6[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for writing and reading a file starting with a BOM[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 111 lines, 2116 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:e! test.out
:$r Xtest0x
:$r Xtest1x
:$r Xtest2x
:$r Xtest3x
:$r Xtest4x
:$r Xtest5x
:$r Xtest6x
:set nobin ff&[15C" Write the file in default format
:w! test.out
:qa!
ENDTEST
latin-1
utf-8
utf-8
utf-8-err
utf-8[34m~@[merr
ucs-2
ucs-2le
[?25l[24;1H[m:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l"test.ok" [24;11H[K[24;11H44 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test43.in" 34 lines, 473 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with various magic settings.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 19 lines, 268 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H11 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test44.in" 81 lines, 1492 characters[1;1HTests 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
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with multi-byte encoding and various magic settings.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
: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[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l"test.ok" [24;11H[K[24;11H25 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test45.in" 90 lines, 1953 characters[1;1HTests 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{{ [34m^[[mr{jj:call append("$", foldlevel("."))
kYpj:call append("$", foldlevel("."))[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for folding. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 73 lines, 1820 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:new
iTest fdm=indent and :move bug END
line2[4;9HTest fdm=indent START[5;9Hline3[6;9Hline4[34m^[[m
: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H23 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test48.in" 83 lines, 1658 characters[1;1HThis 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[34m^N^[[m
:"
:" Using "C" then then <CR> moves the last remaining character to the next
:" line. (Mary Ellen Foster)
j^/are
C[34m^M[mare belong to vim[34m^[[m
:"
:" When past the end of a line that ends in a single character "b" skips
:" that word.
^$15lbC7[34m^[[m
:"
:" Make sure 'i' works[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HThis is a test of 'virtualedit'.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[Kgcc -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
[24;11H[New File] 61 lines, 1442 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:set display=
:"
:" Test for ^Y/^E due to bad w_virtcol value, reported by
:" Roy <royl@netropolis.net>.
^O[34m^[[m3li[34m^E^[[m4li[34m^E^[[m4li[34m^E[m <-- should show the name of a noted text editor[34m^[[m
^o[34m^[[m4li[34m^Y^[[m4li[34m^Y^[[m4li[34m^Y[m <-- and its version number[34m^[[m-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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H23 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.
VIMRUNTIME=../../runtime; export VIMRUNTIME; ../vim -f -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test51.in
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test51.in" 36 lines, 809 characters[1;1HTests 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=#000[11;1Hff00 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for ":highlight". vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 31 lines, 747 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[13M[1;24r[11;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H20 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test53.in" 75 lines, 1763 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for string and html text objects. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 47 lines, 1237 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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>-[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H45 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test55.in" 586 lines, 12256 characters[1;1HTests 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])
:"[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for List and Dictionary types. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 580 lines, 12170 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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[34m^R[m=a[34m^M^[[m:"
:lang C
:redir => a
:try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
:redir END
o[34m^R[m=a[34m^M^[[m:"
:"
:/^start:/,$wq! test.out
ENDTEST
start:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H197 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test56.in" 21 lines, 457 characters[1;1HTest 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>delfunn[21;1Hc <SID>DoNothing<bar>delfunc <SID>DoLast<cr>
end:
[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for script-local function. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 7 lines, 120 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H2 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test57.in" 545 lines, 4110 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :sort command. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 33 lines, 920 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:/^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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H501 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test60.in" 601 lines, 13116 characters[1;1HTests 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:result[7;9Hecho "OK"
else[9;9Hecho "FAILED: Checking for " . a:str
endif
endfunction
:function! TestExists()
augroup myagroup[14;9Hautocmd! BufEnter[7C*.my echo "myfile edited"[15;9Hautocmd! FuncUndefined UndefFun exec "fu UndefFun()\nendfu"
augroup END
set rtp+=./sautest[19;5Hlet test_cases = [][21;5H" valid autocmd group
let test_cases += [['#myagroup', 1]]
" valid autocmd group with garbage[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for the exists() and has() functions. vim: set ft=vim ts=8 sw=2 :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 596 lines, 13023 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;9Hendif
endfunction[4;5Hcall TestFuncArg("arg1", "arg2")[6;5Hecho ' g:footest#x =' g:footest#x
echo ' footest#F()' footest#F()
echo 'UndefFun()' UndefFun()[10;5Hredir 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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H206 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test64.in" 654 lines, 27565 characters[1;1HTest 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 """"""""""""""""""""""""""""""""
:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
:"[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for regexp patterns without multi-byte support.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 621 lines, 27090 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H1107 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test65.in" 95 lines, 2153 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for floating point and logical operators.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 89 lines, 2067 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H73 lines, 430 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/userfunc.o userfunc.c
[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test66.in" 33 lines, 509 characters[2;1HTest for visual block shift and tab characters.
STARTTEST
:so small.vim
/^one
fe[34m^V[m4jR[34m^[[mugvr1:'<,'>w! test.out
/^abcdefgh
[34m^V[m4jI [34m^[[mj<<11|D
7|a[13C[34m^[[m
7|a[16C[34m^[[m
7|a[13C[34m^[[m4k13|[34m^V[m4j<
:$-5,$w >> test.out
:$-4,$s/\s\+//g
[34m^V[m4kI [34m^[[mj<<
7|a[13C[34m^[[m
7|a[37C[34m^[[m
7|a[21C[34m^[[m4k13|[34m^V[m4j3<
:$-4,$w >> test.out
:qa!
ENDTEST
one two three[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 16 lines, 234 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H16 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test67.in" 33 lines, 1110 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest that groups and patterns are tested correctly when calling exists() for[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 27 lines, 999 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[9M[1;24r[15;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H10 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test68.in" 131 lines, 1004 characters[1;1HTest for text formatting.
Results of test68:
STARTTEST
:so small.vim
/^{/+1
:set noai tw=2 fo=t
gRa b[34m^[[m
ENDTEST
{
}
STARTTEST
/^{/+1
:set ai tw=2 fo=tw
gqgqjjllab[34m^[[m
ENDTEST
{[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for text formatting.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 4 lines, 48 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H77 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test69.in" 192 lines, 2185 characters[1;1HTest 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[34m^[[m
ENDTEST
{
XYZ
abc XYZ[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for multi-byte text formatting.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 2 lines, 34 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l"test.ok" [24;11H[K[24;11H166 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test70.in" 63 lines, 1501 characters[1;1HSmoke 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HSmoke test for MzScheme interface and mzeval() function[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 55 lines, 1398 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[19;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mzscheme.vim
[?25l"test.ok" [24;11H[K[24;11H6 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test73.in" 169 lines, 3647 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for find completion.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 164 lines, 3600 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H21 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.
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
VIMRUNTIME=../../runtime; export VIMRUNTIME; ../vim -f -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test75.in
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test75.in" 41 lines, 1000 characters[1;1HTests 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[34m^[[m:"[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for maparg().[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 34 lines, 919 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[16M[1;24r[8;1H:" 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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H7 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.
VIMRUNTIME=../../runtime; export VIMRUNTIME; ../vim -f -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test77.in
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test77.in" 30 lines, 719 characters[1;1HInserts 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 | endwhile[22;1Hggdd
:w! Xtest[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HInserts 2 million lines with consecutive integers starting from 1[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 288 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[12;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[6M[1;24r[18;1H:r !cksum Xtest
:s/\s/ /g
:set fileformat&
:.w! test.out
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H1 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test79.in" 255 lines, 3381 characters[1;1HTest 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/[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for *sub-replace-special* and *sub-replace-expression* on :substitute.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1 line, 14 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H134 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test80.in" 201 lines, 6298 characters[1;1HTest 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\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[18;1H, '\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', '')[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for *sub-replace-special* and *sub-replace-expression* on substitute().[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1 line, 14 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H131 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test82.in" 103 lines, 3166 characters[1;1HTests 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[17;1H:b, a:expected))
: else
: let b:passed += 1
: endif
:endfunction
:
:function! Chk(a, b, result)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 97 lines, 3055 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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%.22[4;1HX', n)) | endfor
:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ[6;1H\xc2\x%.2XuVw', n)) | endfor
:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ[8;1H\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[34m^[[mgg0g~ap:let lns = getline(1,3)
:q!
:call append(line('$'), lns)
:"
:wq! test.out
ENDTEST
[1m[34m~ [23;1H~ [20;1H[?12l[?25h
[?25l
[m:so! Xdotest
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H5 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.
VIMRUNTIME=../../runtime; export VIMRUNTIME; ../vim -f -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test84.in
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test84.in" 35 lines, 786 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for curswant not changing when setting an option[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 25 lines, 637 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[6M[1;24r[18;1H:put =map(copy(result), 'join(v:val, '' '')')
:1 delete _
:write test.out
:
:qall!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H3 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test88.in" 99 lines, 1449 characters[1;1Hvim: 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1Hvim: set ft=vim[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 82 lines, 1216 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[19;9H.concealed. text[20;9H|concealed| text
.a. .b. .c. .d.
|a| |b| |c| |d|[13;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H29 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test90.in" 53 lines, 1204 characters[1;1HTests 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("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b78522[12;1Hb855'
: let res='ok'
:else
: let res='ng'
:endif
:$put =testcase.res
:"
:let testcase='test for 1 char: '
:if sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee[21;1He48bb'
: let res='ok'
:else[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for sha256() function. vim: set ft=vim et ts=2 sw=2 :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 47 lines, 1114 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:"
:let testcase='test for contains meta char: '
:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[4;1H39ed110ca776'
: 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") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb00[13;1Hb8d27db8d5feaa813953'
: let res='ok'
:else
: let res='ng'
:endif
:$put =testcase.res
:"
:/^start:/,$wq! test.out
ENDTEST
start:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H6 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test91.in" 116 lines, 3240 characters[1;1HTests 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))[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 109 lines, 3127 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H50 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.
VIMRUNTIME=../../runtime; export VIMRUNTIME; ../vim -f -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test94.in
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test94.in" 256 lines, 4824 characters[1;1HTest 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()[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for Visual mode and operators[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[18;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 211 lines, 3837 characters written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[19;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hkv3lyjv3lpgvcxxx[34m^[[m
:$put ='---'
:
:$put =''
:$put ='gv in exclusive select mode without operation'
:$put ='zzz '
:set selection=exclusive
0v3l[34m^[[mgvcxxx[34m^[[m
:$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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H123 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test95.in" 141 lines, 5827 characters[1;1HTest 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.[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for regexp patterns with multi-byte support, using utf-8.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 131 lines, 5590 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:[8Cendif
: 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:
[1m[34m~ [20;1H[?12l[?25h
[?25l
[m:so! Xdotest
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H140 lines, 2022 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/window.o window.c
[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test98.in" 43 lines, 908 characters[1;1HTest 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.[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for 'scrollbind' causing an unexpected scroll of one of the windows.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 35 lines, 791 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[3;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[16M[1;24r[8;1H: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(too[20;1HpLineLeft - topLineRight))
:w! test.out
:brewind
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H1 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test99.in" 69 lines, 1400 characters[1;1HTests 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
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with multi-byte encoding and various magic settings.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 43 lines, 931 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:" 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[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l"test.ok" [24;11H[K[24;11H23 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test103.in" 37 lines, 823 characters[1;1HTest for visual mode not being reset causing E315 error.
STARTTEST
:so small.vim
:enew
:let g:msg="Everything's fine."
:function! TriggerTheProblem()
:[7C" At this point there is no visual selection because :call reset it.
:[7C" Let's restore the selection:
:[7Cnormal gv
:[7C'<,'>del _
:[7Ctry
:[15Cexe "normal \<Esc>"
:[7Ccatch /^Vim\%((\a\+)\)\=:E315/
:[15Cechom 'Snap! E315 error!'
:[15Clet g:msg='Snap! E315 error!'
:[7Cendtry
: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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for visual mode not being reset causing E315 error.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 29 lines, 723 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[3;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[10M[1;24r[14;1H:"[7Cex-way will require the colon operator which resets the visual mode thuu[15;1Hs
:"[7Cpreventing the problem:
:"
GV:call TriggerTheProblem()
:%del _
:call append(line('$'), g:msg)
:w! test.out
:brewind
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H2 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.
VIMRUNTIME=../../runtime; export VIMRUNTIME; ../vim -f -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test104.in
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test104.in" 30 lines, 698 characters[1;1HTests 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 [16;1H== 1 ? "a" : "b"}']
: try
: redir => messages
: execute 'let' letargs
: redir END
: $put ='OK:'
: $put =split(substitute(messages, '\n', '\0 ', 'g'), '\n')
: catch[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :let. vim: set ft=vim ts=8 :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 24 lines, 618 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[6M[1;24r[18;1H: $put ='FAIL: ' . v:exception
: redir END
: endtry
:endfor
:/^Results/,$wq! test.out
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H13 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
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
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test107.in" 38 lines, 717 characters[1;1HTests 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)
:[7Clet 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for adjusting window and contents vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 32 lines, 628 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[13M[1;24r[11;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H4 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test108.in" 88 lines, 1329 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for backtrace debug commands. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 83 lines, 1251 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hup
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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H84 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_autocmd_option.in" 77 lines, 2954 characters[1;1HTest for option autocommand
STARTTEST
:so small.vim
:if !has("eval") || !has("autocmd") || !exists("+autochdir") | e! test.ok | w! tt[6;1Hest.out | qa! | endif
:fu! AutoCommand(match)
:[7Clet c=g:testcase
:[7Clet item=remove(g:options, 0)
:[7Clet c.=printf("Expected: Name: <%s>, Oldval: <%s>, NewVal: <%s>, Scope: [11;1H<%s>\n", item[0], item[1], item[2], item[3])
:[7Clet c.=printf("Autocmd Option: <%s>,", a:match)
:[7Clet c.=printf(" OldVal: <%s>,", v:option_old)
:[7Clet c.=printf(" NewVal: <%s>,", v:option_new)
:[7Clet c.=printf(" Scope: <%s>\n", v:option_type)
:[7Ccall 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']][1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for option autocommand[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 72 lines, 2896 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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, secoo[4;1Hnd 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[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H64 lines, 2700 characters
"test.out"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
[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_autoformat_join.in" 23 lines, 524 characters[1;1HTests 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
ENDTEST[16;17HO 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:[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for setting the '[,'] marks when joining lines.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 9 lines, 265 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H8 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_changelist.in" 22 lines, 288 characters[1;1HTest 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[34m^[[m
:catch
: normal ggVGcfail[34m^[[m
:finally
: %w! test.out
:endtry
:qa!
ENDTEST
1
2
[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest changelist position after splitting window[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 14 lines, 163 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H1 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_close_count.in" 153 lines, 2665 characters[1;1HTests 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![1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :[count]close! and :[count]hide vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 41 lines, 749 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H23 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_comparators.in" 21 lines, 283 characters[1;1H" 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
[1m[34m~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1H" Test for expression comparators. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 14 lines, 200 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H1 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_erasebackword.in" 19 lines, 427 characters[1;1HTest for erasing backword
STARTTEST
:so small.vim
:so mbyte.vim
:set encoding=utf-8
G
:/^test/,$w! test.out
:qa!
ENDTEST
test starts here:
[1m[34m~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for erasing backword[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 12 lines, 362 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H8 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.
VIMRUNTIME=../../runtime; export VIMRUNTIME; ../vim -f -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_eval.in
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_eval.in" 247 lines, 6201 characters[1;1HTest 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:rr[15;1Heg, 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[19;1H:type, a:cont, a:strcont, a:cont1, a:strcont1))
endfun
:command -nargs=? AR :call AppendRegContents(<q-args>)
:fun SetReg(...)
call call('setreg', a:000)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for various eval features. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 233 lines, 6010 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[9;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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:[18;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H362 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_fixeol.in" 40 lines, 780 characters[1;1HTests for 'fixeol'[25Cvim: set ft=vim :
STARTTEST
:" use Unix fileformat for consistency
:set ff=unix
:enew!
awith eol[34m^[[m:w! XXEol
:enew!
:set noeol nofixeol
awithout eol[34m^[[m:w! XXNoEol
:set eol fixeol
:bwipe XXEol XXNoEol
:"
:" try editing files with 'fixeol' disabled
:e! XXEol
ostays eol[34m^[[m:set nofixeol
:w! XXTestEol
:e! XXNoEol
ostays without[34m^[[m:set nofixeol
:w! XXTestNoEol
:bwipe XXEol XXNoEol XXTestEol XXTestNoEol
:set fixeol[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for 'fixeol'[25Cvim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 35 lines, 698 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[16M[1;24r[8;1H:"
:" Append "END" to each file so that we can see what the last written char was.
ggdGaEND[34m^[[m:w >>XXEol
:w >>XXNoEol
:w >>XXTestEol
:w >>XXTestNoEol
:"
:" Concatenate the results
:e! test.out
a0[34m^[[m:$r XXEol
:$r XXNoEol
Go1[34m^[[m:$r XXTestEol
:$r XXTestNoEol
:w
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
stays eol[2;10H[K[2;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nofixeol
[?25l[2;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXTestEol
[?25l"XXTestEol" [24;13H[K[24;13H[New File] 2 lines, 19 characters written[2;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXNoEol
[?25l"XXNoEol" [24;11H[K[24;11H[Incomplete last line] 1 line, 11 characters[1;5Hout eol
[1m[34m~ [1;1H[?12l[?25h[?25l[m
stays without[2;14H[K[2;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nofixeol
[?25l[2;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXTestNoEol
[?25l"XXTestNoEol" [24;15H[K[24;15H[New File][Incomplete last line] 2 lines, 25 characters written[2;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXEol XXNoEol XXTestEol XXTestNoEol
[?25l[1m[37m[41mE319: Sorry, the command is not available in this version[2;13H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fixeol
[?25l[2;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[2;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Append "END" to each file so that we can see what the last written char was.
[?25l[2;13H[?12l[?25h[1;1H[?25l[1;1H[K[2;1H[1m[34m~ [m[24;1H--No lines in buffer--[24;23H[K[1;1H[?12l[?25h[?25lEND[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXEol
[?25l"XXEol" [24;9H[K[24;9H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXNoEol
[?25l"XXNoEol" [24;11H[Kif 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
[24;11H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXTestEol
[?25l"XXTestEol" [24;13H[K[24;13H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXTestNoEol
[?25l"XXTestNoEol" [24;15H[K[24;15H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Concatenate the results
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [New File][1;1H[K[1;1H[?12l[?25h[?25l0[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXEol
[?25l"XXEol" [24;9H[K[24;9H2 lines, 13 characters[2;1Hwith eol[2;9H[K[3;1HEND[3;4H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXNoEol
[?25l"XXNoEol" [24;11H[K[24;11H1 line, 15 characters[4;1Hwithout eolEND[4;15H[K[4;1H[?12l[?25h[?25l
1[5;2H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXTestEol
[?25l"XXTestEol" [24;13H[K[24;13H3 lines, 23 characters[6;1Hwith eol[6;9H[K[7;1Hstays eol[7;10H[K[8;1HEND[8;4H[K[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXTestNoEol
[?25l"XXTestNoEol" [24;15H[K[24;15H2 lines, 29 characters[9;1Hwithout eol[9;12H[K[10;1Hstays withoutEND[10;17H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" [New File] 10 lines, 84 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_getcwd.in" 96 lines, 2374 characters[1;1HTests for getcwd(), haslocaldir(), and :lcd[19Cvim: 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for getcwd(), haslocaldir(), and :lcd[19Cvim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 90 lines, 2273 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H18 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_insertcount.in" 14 lines, 204 characters[1;1HTests for repeating insert and replace.
STARTTEST
:so small.vim
:/Second
4gro
:/^First/,$wq! test.out
:" get here when failed and in Insert mode
[34m^[[m:.wq! test.out
ENDTEST
First line
Second line
Last line
[1m[34m~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for repeating insert and replace.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 6 lines, 111 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H3 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_listchars.in" 54 lines, 705 characters[1;1HTests 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))'))[9;1H, '')
:endfunction
:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\\[12;1H<CR>"
:set listchars+=tab:>-,space:.,trail:<
:set list
:
/^start:/
:normal! jzt
GG
GG
GG
GG
GGH:
:set listchars-=trail:<[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for 'listchars' display with 'list' and :list[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 25 lines, 431 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[9M[1;24r[15;1HGG
GG
GG
GG
GG:
:put =g:lines
:'[,']w! test.out
ENDTEST[24;1H[K[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H16 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_listlbr.in" 119 lines, 2868 characters[1;1HTest for linebreak and list option (non-utf8)
STARTTEST
:so small.vim
:if !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! | [6;1Hendif
: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)
:[7Clet c=''
:[7Cfor j in range(1,4)
:[11Cfor i in range(1,a:width)
:[15Clet c.=nr2char(screenchar(j, i))
:[11Cendfor
:[11Clet c.="\n"
:[7Cendfor
:[7Creturn c
:endfu
:fu! DoRecordScreen()
:[7Cwincmd l
:[7C$put =printf(\"\n%s\", g:test)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for linebreak and list option (non-utf8)[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 114 lines, 2792 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Habcd{ef
ghijklm
no}pqrs[34m^[[m2k0f{[34m^V^V[mc%[34m^[[m
:"
:let g:test ="Test 11: using block replace mode after wrapping"
:$put =g:test
:set linebreak wrap
Go[34m^[[m150aa[34m^[[myypk147|[34m^V[mjr0
:"
:let g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$"[11;1H: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[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H62 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_search_mbyte.in" 15 lines, 226 characters[1;1HTest 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
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for search('multi-byte char', 'bce')[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 6 lines, 140 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsource small.vim
[?25l"test.ok" [24;11H[K[24;11H5 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_utf8.in" 46 lines, 1245 characters[1;1HTests for Unicode manipulations[16Cvim: 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()
:[7C$put=strchars(str)
:[7C$put=strchars(str, 0)
:[7C$put=strchars(str, 1)
:endfor
:"
:" Test for customlist completion[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for Unicode manipulations[16Cvim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 40 lines, 1151 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:"
:" 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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H22 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.
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 test_wordcount.in
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_wordcount.in" 126 lines, 2815 characters[1;1HTest for wordcount() function
STARTTEST
:so small.vim
:so mbyte.vim
:set enc=utf8
:set selection=inclusive fileformat=unix fileformats=unix
:new
:fu DoRecordWin(...)
:[7Cwincmd k
:[7Cif exists("a:1")
:[11Ccall cursor(a:1)
:[7Cendif
:[7Clet result=[]
:[7Ccall add(result, g:test)
:[7Ccall add(result, getline(1, '$'))
:[7Ccall add(result, wordcount())
:[7Cwincmd j
:[7Creturn result
:endfu
:fu PutInWindow(args)
:[7Cwincmd k
:[7C%d _[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for wordcount() function[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 121 lines, 2753 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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:[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H34 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.
VIMRUNTIME=../../runtime; export VIMRUNTIME; ../vim -f -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test11.in
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test11.in" 84 lines, 3366 characters[1;1HTests for autocommands:
- FileWritePre[10Cwriting a compressed file
- FileReadPost[10Creading a compressed file
- BufNewFile[12Creading a file template
- BufReadPre[12Cdecompressing the file to be read
- FilterReadPre[9Csubstituting characters in the temp file
- FilterReadPost[8Csubstituting characters after filtering
- FileReadPre[11Cset options for decompression
- FileReadPost[10Cdecompress 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for autocommands:[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 48 lines, 2298 characters written[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[17;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:au! FileReadPre *.gz exe 'silent !gzip -d ' . shellescape(expand("<afile>""[2;1H))
:au FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
:au! FileReadPost *.gz '[,']s/l/L/
:$r Xtestfile.gz[13C" Read compressed file
:w[27C" write it, after filtering
:au![13C" remove all autocommands
:e[15C" 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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H61 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
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test52.in" 65 lines, 1645 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for reading and writing files with conversion for Win32.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 57 lines, 1333 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[24;1H:so! Xdotest
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l"test.ok" [24;11H[K[24;11H18 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test85.in" 85 lines, 1868 characters[1;1HTest 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)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for Lua interface and luaeval() function[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 77 lines, 1775 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[19;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H7 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test86.in" 1711 lines, 48481 characters[1;1HTests 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])[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for various python features. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1700 lines, 48188 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[9;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: endif
: call Test()
: if i == 0
:[7Clet 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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H1445 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test87.in" 1707 lines, 49069 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for various python features. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1701 lines, 48985 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: call Test()
: if i == 0
:[7Clet 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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H1445 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test12.in" 52 lines, 1199 characters[1;1HTests 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/[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for 'directory' option.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 40 lines, 965 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:!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[18;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H10 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.
VIMRUNTIME=../../runtime; export VIMRUNTIME; ../vim -f -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test25.in
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test25.in" 31 lines, 840 characters[1;1HTest 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[34m^][m x:.w! test.out
:!rm -f test25.dir tags.test
:qa!
ENDTEST[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 540 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H1 line, 23 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_beval.o gui_beval.c
[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.
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
VIMRUNTIME=../../runtime; export VIMRUNTIME; ../vim -f -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test49.in
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test49.in" 32 lines, 705 characters[1;1HThis 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HThis is a test of the script language.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 23 lines, 475 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[7M[1;24r[17;1H:endfor
:for v in keys(g:)
: silent! exe "unlet " . v
:endfor
:unlet v
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H84 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test97.in" 23 lines, 484 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest whether glob()/globpath() return correct results with certain escaped[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 377 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H8 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_listlbr_utf8.in" 134 lines, 4027 characters[1;1HTest for linebreak and list option in utf-8 mode
STARTTEST
:so small.vim
:if !exists("+linebreak") || !has("conceal") || !has("signs") | e! test.ok | w! [6;1Htest.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)
:[7Clet c=''
:[7Cfor j in range(1,a:lines)
:[11Cfor i in range(1,a:width)
:[15Clet c.=nr2char(screenchar(j, i))
:[11Cendfor
:[11Clet c.="\n"
:[7Cendfor
:[7Creturn c
:endfu[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for linebreak and list option in utf-8 mode[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 129 lines, 3948 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:set list nolinebreak cc=3
:sign define foo text=[34m^V[muff0b
: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[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H57 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test54.in" 22 lines, 658 characters[1;1HSome 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.oo[9;1Hut
:else
: !rm -f test.out
: au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out
:endif
:e somefile[11C" here, autocommand for xx shall write test.out
:[21C" but autocommand shall not apply to buffer named <buffer>[16;1H:bwipe xx[13C" here, autocommand shall be auto-deleted
:e xx[17C" nothing shall be written
:e somefile[11C" nothing shall be written
:qa!
ENDTEST
start of test file xx
end of test file xx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HSome tests for buffer-local autocommands[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K/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
[24;11H[New File] 15 lines, 555 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[20;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H1 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.
VIMRUNTIME=../../runtime; export VIMRUNTIME; ../vim -f -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test17.in
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test17.in" 135 lines, 2431 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for:[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 27 lines, 564 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[10M[1;24r[14;1H:" 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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H33 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test30.in" 237 lines, 3762 characters[1;1HTest 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[34m^[[m
:$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.[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for a lot of variations of the 'fileformats' option[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 221 lines, 3592 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$r XXtt64
Go7[34m^[[m:$r XXtt71
:$r XXtt72
Go8[34m^[[m:$r XXtt81
:$r XXtt82
Go9[34m^[[m:$r XXtt91
:$r XXtt92
:$r XXtt93
Go10[34m^[[m:$r XXUnix
:set nobinary ff&
:w
:qa!
ENDTEST
unix
unix
eof
dos[34m^M[m
dos[34m^M[m
eof
mac[34m^M[mmac[34m^M[13;1H[?12l[?25h
[?25l[24;1H[m:so! Xdotest
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H130 lines, 786 characters
"test.out" [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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test32.in" 60 lines, 1391 characters[1;1HTest 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)[11;1H: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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for insert expansion[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:so small.vim[24;1H[K[23;1H[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 27 lines, 533 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1HO[34m^N^[[mIX[34m^[[mA[34m^X^F^N^[[m
:" 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[34m^X^F^H^H^H^H^H^H^H^H^X^F^[[mddk
:se cpt=w
OST[34m^N^P^P^P^P^[[m
:se cpt=u nohid
[34m^W[moOEN[34m^N[m
unl[34m^N^X^X^P^[[m
:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch
O[34m^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D[m
a[34m^N^[[m
:wq! test.out
ENDTEST
start of testfile
run1
run2
end of testfile
test11 36Gepeto[8C/Tag/
asd test11file 36G
Makefile[8Cto run[14;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H15 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test58.in" 656 lines, 11024 characters[1;1HTests 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[34m^[[mz=:"
:"
:" 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for spell checking. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 111 lines, 2591 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:"
:" 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[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H289 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test59.in" 626 lines, 10897 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for spell checking with 'encoding' set to "utf-8". vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 106 lines, 2520 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H270 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test72.in" 146 lines, 2110 characters[1;1HTests 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[34m^[[m: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/[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for undo file.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 135 lines, 1913 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[18;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H31 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.
/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 test78.in
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test78.in" 46 lines, 1464 characters[1;1HInserts 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 = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0122[13;1H3456789abcdefghijklmnoparstuvwxyz0123456789"
: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:][::[23;1Hcntrl:]]*$', '\1', '')[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HInserts 10000 lines with text to fill the swap file with two levels of pointer[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 37 lines, 1208 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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 ""[13;1H . linecount . " lines but found only " . linedollar) | exe 'wincmd w' | let linn[14;1Hecount = linedollar | endif
:let i = 1
:while i <= linecount | if getline(i) != i . text | exe 'wincmd w' | call appendd[17;1H(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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H3 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test83.in" 76 lines, 1273 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for tag search with !_TAG_FILE_ENCODING.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[Kgcc -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
[24;11H[New File] 58 lines, 1021 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
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
[?25l"test.ok" [24;11H[K[24;11H4 lines, 48 characters
"test.out"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
[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test89.in" 71 lines, 1514 characters[1;1H- 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1H- Some tests for setting 'number' and 'relativenumber'[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 63 lines, 1305 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l"test.ok" [24;11H[K[24;11H28 lines, 356 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 -I/usr/include/python3.5m -DPYTHON3_HOME='L"/usr"' -pthread -fPIE -o objects/if_python3.o if_python3.c
[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_job_fails.vim" 19 lines, 598 charactersif 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
"test.ok" [New File]
"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/pty.o pty.c
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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_viml.vim" 1315 lines, 31693 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_alot.vim" 49 lines, 1258 characters
"test.ok" [New File]
"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_gtk_f.o gui_gtk_f.c
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
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-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 -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
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
/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
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;
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/tcl8.6 -D_REENTRANT=1 -D_THREAD_SAFE=1 -D_LARGEFILE64_SOURCE=1 -o objects/if_tcl.o if_tcl.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 -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 -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 -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 -DTINY_VIMRC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 version.c -o objects/version.o
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
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/netbeans.o netbeans.c
dh_testdir
dh_prep -p vim-athena
*** 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 -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/channel.o channel.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_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-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/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-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
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
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_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/memfile.o memfile.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 -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 -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-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
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
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
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
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
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
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 -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/memfile.o memfile.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-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 -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 -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/charset.o charset.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 -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[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
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
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
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 -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/buffer.o buffer.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_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
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/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_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
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-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
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/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-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/mark.o mark.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 -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 -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_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/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/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/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/eval.o 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/spellfile.o spellfile.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 -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 -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/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 -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_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_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/normal.o normal.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/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/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/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/ops.o ops.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_cmds2.o ex_cmds2.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_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/option.o option.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 -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_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_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/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 -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 -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_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
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_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 -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_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
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 -o objects/gui_at_fs.o gui_at_fs.c
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
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 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
/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
touch fi.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq fr.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/python3.5m -DPYTHON3_HOME='L"/usr"' -pthread -fPIE -o objects/if_python3.o if_python3.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
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
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
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
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
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 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_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
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
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
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_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 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
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 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 -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-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 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
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
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/getchar.o getchar.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_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 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_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 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
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
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 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_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
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
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_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 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-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
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.cp1250.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq uk.cp1251.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
touch uk.cp1251.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq zh_CN.cp936.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
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
1882 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o sk.cp1250.mo sk.cp1250.po
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test1.in" 57 lines, 2069 characters[2;1HFirst 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[20;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K1628 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
[24;11H[New File] 35 lines, 1133 characters written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[21;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If columns or lines are too small, create wrongtermsize.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" (Some tests will fail. When columns and/or lines are small)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Write a single line to test.out to check if testing works at all.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%d
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25lthis is a test[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K1633 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
[24;12H[New File] 1 line, 15 characters written[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Create small.vim and tiny.vim empty, create mbyte.vim to skip the test.
[?25l[1;14H[?12l[?25h
[?25l[1;1H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! small.vim
[?25l"small.vim" [24;13H[K[24;13H[New File] 1 line, 1 character written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! tiny.vim
[?25l"tiny.vim" [24;12H[K[24;12H[New File] 1 line, 1 character written[1;1H[?12l[?25h[?25le! test.ok
w! test.out[2;12H[K[3;1Hqa![3;4H[K[4;1H[K[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! mbyte.vim
[?25l"mbyte.vim" [24;13H[K[24;13H[New File] 4 lines, 28 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! mzscheme.vim
[?25l"mzscheme.vim" [24;16H[K[24;16H[New File] 4 lines, 28 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! lua.vim
[?25l"lua.vim" [24;11H[K[24;11H[New File] 4 lines, 28 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +multi_byte feature supported, make mbyte.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif has("multi_byte") | sp another | w! mbyte.vim | q | endif
[?25l"another" [New File][24;21H[K[24;1H
"mbyte.vim" 0 lines, 0 characters written[1;1H[L[1;1He! test.ok[24;1H[K[4;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +mzscheme feature supported, make mzscheme.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif has("mzscheme") | sp another | w! mzscheme.vim | q | endif
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +lua feature supported, make lua.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif has("lua") | sp another | w! lua.vim | q | endif
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Otherwise write small.vim to skip the test.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif 1 | q! | endif
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test3.in" 2342 lines, 23089 characters[1;1H/* vim: set cin ts=4 sw=4 : */
Test for 'cindent'
STARTTEST
:so small.vim
:set nocompatible viminfo+=nviminfo modeline
:edit[16C" read modeline
/start of AUTO
=/end of AUTO
ENDTEST
/* start of AUTO matically checked vim: set ts=4 : */
{[15;9Hif (test)[16;17Hcmd1;[17;9Hcmd2;
}
{[21;9Hif (test)[22;17Hcmd1;[23;9Helse[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1H/* vim: set cin ts=4 sw=4 : */[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 125 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo modeline
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit " read modeline
[?25l"test3.in"[24;22H[K[24;12H2342L, 23089C[15;5Hif (test)[15;14H[K[16;9Hcmd1;[16;17H[K[17;5Hcmd2;[17;10H[K[21;5Hif (test)[21;14H[K[22;9Hcmd1;[22;17H[K[23;5Helse[23;9H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hstart of AUTO
[?25l[13;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hend of AUTO
[?25l956 lines to indent...
9500
850
750
650
550
450
350
250
150
50 lines to indent...
957 lines indented [24;20H[K[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;13H}[2;13Hbreak;[3;9Hdefault:[4;13Hbaz();[5;13Hbaz();[6;13Hbreak;
}
}
/* end of AUTO */
STARTTEST
:set tw=0 wm=60 columns=80 noai fo=croq
/serious/e
a about life, the universe, and the rest[34m^[[m
ENDTEST
{
/* this is
* a real serious important big
* comment
*/[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[Kgcc -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
[24;11H3L, 93C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=0 wm=60 columns=80 noai fo=croq
[?25l[27m[23m[m[H[2J[1;13H}[2;13Hbreak;[3;9Hdefault:[4;13Hbaz();[5;13Hbaz();[6;13Hbreak;
}
}
/* end of AUTO */
STARTTEST
:set tw=0 wm=60 columns=80 noai fo=croq
/serious/e
a about life, the universe, and the rest[34m^[[m
ENDTEST
{
/* this is
* a real serious important big
* comment
*/[16;1H[?12l[?25h[?25l[24;1H/[?12l[?25hserious/e
[?25l[21;17H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[20;19H[K[21;4Habout life, the
* universe, and the
* rest important big[23;7H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H* comment[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[5M[1;24r[19;2H*/
/* insert " about life, the universe, and the rest" after "serious" */
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set nocin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H6L, 78C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H/comments
joabout life[34m^[[m/happens
jothere[34m^[[m/below
oline[34m^[[m/this
Ohello[34m^[[m[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hcomments
[?25l[1;23r[1;1H[4M[1;24r[21;1H{
/*[23;6H* Testing for comments, without 'cin' set[24;1H[K[23;20H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;6H*/[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1Habout life[?12l[?25h[?25l
/[?12l[?25hhappens
[?25l[1;23r[1;1H[3M[1;24r[22;1H/*
* what happens here?[24;1H[K[23;8H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H*/[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1Hthere[?12l[?25h[?25l
/[?12l[?25hbelow
[?25l[1;23r[1;1H[3M[1;24r[22;5H/*[23;8Hthe end of the comment, try inserting a line below */[24;1H[K[23;53H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1Hline[?12l[?25h[?25l
/[?12l[?25hthis
[?25l[1;23r[1;1H[3M[1;24r[22;9H/* how about[23;25Hthis one */[24;1H[K[23;25H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[23;1Hhello[23;25H[K[23;5H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;25Hthis one */[23;8H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 18C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/vec2
==[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hvec2
[?25l[1;23r[1;1H[5M[1;24r[20;1H{
var = this + that + vec[0] * vec[0][22;23H+ vec[1] * vec[1][23;23H+ vec2[2] * vec[2];[24;1H[K[23;25H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5L, 51C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H:set cino=}4
/testing1
k2==/testing2
k2==[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=}4
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25htesting1
[?25l[1;23r[1;1H[8M[1;24r[17;1H{[18;9Hasdf asdflkajds f;
if (tes & ting) {[20;9Hasdf asdf asdf ;[21;9Hasdfa sdf asdf;[22;9H}
testing1;[24;1H[K[23;5H[?12l[?25h[22;8H [?25l
/[?12l[?25htesting2
[?25l[1;23r[1;1H[6M[1;24r[18;5Hif (tes & ting)
{[20;9Hasdf asdf asdf ;[21;9Hasdfa sdf asdf;[22;9H}
testing2;[24;1H[K[23;5H[?12l[?25h[22;8H [23;9H[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H4L, 36C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set cino=(0,)20
/main
=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,)20
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hmain
[?25l[1;23r[1;1H[2M[1;24r[23;1Hmain ( int first_par, /*[24;1H[K[23;1H[?12l[?25h[?25l
19 lines to indent...
20[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;24H* Comment for[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[1;23H* Comment for[2;23H* first par[3;23H*/[4;11Hsecond_par /*[5;23H* Comment for[6;23H* second par[7;23H*/[8;9H);
}
STARTTEST
:set cin
:set cino=es,n0s
/main
=][
ENDTEST
main(void)
{
/* Make sure that cino=X0s is not parsed like cino=Xs. */
if (cond)[23;9Hfoo();[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H4L, 36C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=es,ngcc -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
0s
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hmain
[?25l[19;1H[?12l[?25h[?25l[24;1H8 lines to indent...
9[7Cindented [24;18H[K[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;5Helse
{[19;9Hbar();
}
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 26C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H:set cino=
]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H{[24;1H[K[23;1H[?12l[?25h[?25l
11 lines to indent...
12[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hdo[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[1;9Hif ()[2;9H{[3;13Hif ()[4;17Hasdf;[5;13Helse[6;17Hasdf;[7;9H}
} while ();
cmd;[8C/* this should go under the } */
}
STARTTEST
]]=][
ENDTEST
void f()
{
if ( k() ) {[19;9Hl();[21;5H} else { /* Start (two words) end */[22;9Hm();
}[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H1L, 6C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[14;1H[?12l[?25h
[?25l[24;1H8 lines to indent...
9[7Cindented [24;18H[K[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[5M[1;24r[20;5Hn();
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino={s,e-s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[Kgcc -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
[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino={s,e-s
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
7 lines to indent...
8[7Cindented [24;18H[K[23;1H {[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif ( k() )[24;1H[K[23;5H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[9M[1;24r[15;9H{[16;9Hl();[17;9H} else { /* Start (two words) end */[18;9Hm();[19;9H}
n(); /* should be under the if () */
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino={s,fs
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 25C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H]]=/ foo[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino={s,fs
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Hvoid bar(void)
{[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h foo
[?25l30 lines to indent...
31[7Cindented [24;19H[K[23;1H {[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;1Hvoid func(void)
{
a = 1;[4;9H{[5;9Hb = 2;[6;9H}
c = 3;
d = 4;
}
/* foo */
STARTTEST
:set cino=
/while
ohere[34m^[[m
ENDTEST
a()
{
do {
a = a +[22;7Ha;
} while ( a );[8C/* add text under this line */[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 25C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hwhile
[?25l[23;5H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;3Hhere[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif ( a )
i[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[4M[1;24r[20;7Ha;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino= com=
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 109C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H/comment
olabel2: b();[34m^M[mlabel3 /* post */:[34m^M[m/* pre */ label4:[34m^M[mf(/*com*/);[34m^M[mif (/*com*/)[34m^^[23;1HM[mcmd();[34m^[[m[24;1H[K[22;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino= com=
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hcomment
[?25l[1;23r[1;1H[6M[1;24r[19;1Ha()
{
label1:[22;13H/* hmm */[23;13H// comment[24;1H[K[23;16H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[1;1H[6M[1;24r[18;1Hlabel2: b();
label3 /* post */:
/* pre */ label4:[21;9Hf(/*com*/);[22;9Hif (/*com*/)[23;13Hcmd();[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set comments& comments^=s:/*,m:**,ex:*/
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 53C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/simple
=5j[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments& comments^=s:/*,m:**,ex:*/
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hsimple
[?25l[1;23r[1;1H[3M[1;24r[22;1H/*
* A simple comment[24;1H[K[23;7H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;2H* A simple comment[23;20H[K[23;2H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H*/[24;1H[K[23;2H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[19;1H/*
** A different comment
*/
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=c0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 70C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H:set comments& comments-=s1:/* comments^=s0:/*
2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=c0
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments& comments-=s1:/* comments^=s0:/*
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;5H/*********[19;7HA comment.
*********/
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=c0,C1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 73C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H:set comments& comments-=s1:/* comments^=s0:/*
2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=c0,C1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments& comments-=s1:/* comments^=s0:/*
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;5H/*********
A comment.
*********/
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 17C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 &&[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;9H([18;10Hc2 ||[19;10Hc3[20;9H) && c4;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(s
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 &&[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;9H([18;10Hc2 ||[19;10Hc3[20;9H) && c4;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(s,U1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 28C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(s,U1
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 &&[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;9H([18;13Hc2 ||[19;13Hc3[20;9H) && c4;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif ( c1[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;12H&& ( c2[19;19H|| c3))[20;9Hfoo;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,w1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 28C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,w1
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif ( c1[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;9H&& ( c2[19;13H|| c3))[20;9Hfoo;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(s
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
8 lines to indent...
9[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 && ([24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;9Hc2 ||[15;9Hc3[16;9H) && c4;
if ([18;9Hc1 && c2[19;8H)[20;9Hfoo;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(s,m1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 28C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(s,m1
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
8 lines to indent...
9[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 && ([24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;9Hc2 ||[15;9Hc3
) && c4;
if ([18;9Hc1 && c2
)[20;9Hfoo;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=b1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=b1
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
9 lines to indent...
10 lines indented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hswitch (x)[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[11M[1;24r[13;5H{[14;9Hcase 1:[15;13Ha = b;[16;9Hbreak;[17;9Hdefault:[18;13Ha = 0;[19;9Hbreak;
}
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,W5
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 26C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,W5
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
10 lines to indent...
11[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hinvokeme([24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[12M[1;24r[12;10Hargu,[13;10Hment);
invokeme([15;10Hargu,[16;10Hment[17;10H);
invokeme(argu,[19;14Hment[20;13H);
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=/6
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=/6
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
3 lines to indent...
4[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hstatement;[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[5M[1;24r[19;11H// comment 1[20;11H// comment 2
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 34C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H2kdd]]/comment 1/+1
==[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=
[?25l[23;1H[?12l[?25h[21;1H[?25l==[21;3H[K[22;1HENDTEST[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25hcomment 1/+1
[?25l[1;23r[1;1H[3M[1;24r[21;5Hstatement;[22;8H// comment 1
// comment 2[24;1H[K[23;4H[?12l[?25h[?25l // comment 2[23;8H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=g0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=g0
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hclass CAbc
{[24;1H[K[23;1H[?12l[?25h[?25l
6 lines to indent...
7[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hint Test() { return FALSE; }[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[8M[1;24r[17;1Hpublic: // comment
void testfall();
protected:
void testfall();
};
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,gs,hs
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 29C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,gs,hs
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hclass Foo : public Bar
{[24;1H[K[23;1H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hpublic:[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;9Hvirtual void method1(void) = 0;[18;9Hvirtual void method2(int arg1,[19;30Hint arg2,[20;30Hint arg3) = 0;
};
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=+20
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 24C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=+20
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;5Hvoid
foo()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif (a)[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;5H{
} else[20;9Hasdf;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,W2s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 27C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,W2s
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H{[24;1H[K[23;1H[?12l[?25h[?25l
34 lines to indent...
35[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haverylongfunctionnamelongfunctionnameaverylongfunctionname()->asd([24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[1;21Hdec)->asdfasdfasdf([2;29Hasdfadsf,[3;29Hasdfasdf,[4;29Hasdfasdf,[5;29H),[6;13Hfunc(asdfadf,[7;18Hasdfasdf),[8;13Hasdasdf[9;13H);
}
STARTTEST
:set cino=M1
2kdd]]=][
ENDTEST
int main ()
{
if (cond1 &&[20;13Hcond2[21;13H)[22;9Hfoo;
}[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=M1
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h[17;1H[?25l[24;1H4 lines to indent...
5[7Cindented [24;18H[K[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,ts
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 26C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd2j=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,ts
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd2j=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h
[?25l
7 lines to indent...
8[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hvoid func(int a[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[9M[1;24r[15;1H#if defined(FOO)[16;11H, int b[17;11H, int c
#endif[19;10H)
{
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd2j=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd2j=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h
[?25l
8 lines to indent...
9[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hvoid[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;1Hfunc(int a
#if defined(FOO)[16;6H, int b[17;6H, int c
#endif
)
{
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 22C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd2j=7][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino&
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd2j=7][
ENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h
[?25l
69 lines to indent...
50
7[8Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hvoid func(void)[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[1;9Hint a,[2;9Hint b)
{
}[6;5Hvoid
func6([8;9Hint a)
{
}
STARTTEST
:set cino&
:set cino+=l1
2kdd2j=][
ENDTEST
void func(void)
{
int tab[] =
{[22;9H1, 2, 3,[23;9H4, 5, 6};[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino&
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino+=l1
[?25l[16;1H[?12l[?25h[14;1H[?25l[14;23r[23;1H
[1;24r[24;1H[K[14;1H[?12l[?25h
[?25l[24;1H22 lines to indent...
23[7Cindented [24;19H[K[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;13Hbreak;[2;9Hcase baz: {[3;13Hprintf("baz");[4;13Hbreak;[5;9H}[6;9Hcase quux:[7;13Hprintf("But don't break the indentation of this instruction\n");[8;13Hbreak;
}
}
STARTTEST
:set cino&
2kdd2j=][
ENDTEST
void func(void)
{
cout << "a"
<< "b"
<< ") :"
<< "c";
}[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 21C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino&
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H6 lines to indent...
7[7Cindented [24;18H[K[19;5H << "b"
<< ") :"
<< "c";[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set com=s1:/*,m:*,ex:*/
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[Kgcc -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
[24;11H2L, 38C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H]]3jofoo();[34m^[[m[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset com=s1:/*,m:*,ex:*/
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Hvoid func(void)
{[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;5H/*[22;6H* This is a comment.[23;6H*/[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;5Hfoo();[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 21C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd2j=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino&
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd2j=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h
[?25l
8 lines to indent...
9[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hvoid func(void)[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;1H{
for (int i = 0; i < 10; ++i)[16;9Hif (i & 1) {[17;13Hfoo(1);[18;9H} else[19;13Hfoo(0);
baz();
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=k2s,(0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 27C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd3j=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(0
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd3j=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hvoid func(void)[24;1H[K[23;1H[?12l[?25h[?25l
23 lines to indent...
24[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H{[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[2;5Hif ( c1[3;13H&& ( c2[4;23H|| c3))[5;9Hfoo;
func( c1[7;11H&& ( c2[8;20H|| c3))[9;9Hfoo;
}
STARTTEST
:set cino=k2s,(s
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 27C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(s
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H23 lines to indent...
24[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[2;5Hif ( c1[3;13H&& ( c2[4;17H|| c3))[5;9Hfoo;
func( c1[7;9H&& ( c2[8;13H|| c3))[9;9Hfoo;
}
STARTTEST
:set cino=k2s,(s,U1
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 30C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(s,U1
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H24 lines to indent...
25[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;13H&& (c22345[2;17H|| c3))[3;9Hprintf("foo\n");[5;5Hc = c1 &&[6;9H([7;13Hc2 ||[8;13Hc3[9;9H) && c4;
}
STARTTEST
:set cino=k2s,(0,W4
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 30C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(0,W4
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H29 lines to indent...
30[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;13H&& ( c2[2;20H|| c3))[3;9Hfoo;[5;5Ha_long_line([6;9Hargument,[7;9Hargument);
a_short_line(argument,[9;18Hargument);
}
STARTTEST
:set cino=k2s,u2
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 27C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,u2
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H18 lines to indent...
19[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;9Hfoo;
if (c1 &&[3;13H(c2 || c3))
{
}
if (c123456789[7;13H&& (c22345[8;15H|| c3))[9;9Hprintf("foo\n");
}
STARTTEST
:set cino=k2s,(0,w1
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 30C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(0,w1
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H27 lines to indent...
28[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[2;5Hif ( c1[3;13H&& ( c2[4;17H|| c3))[5;9Hfoo;
func( c1[7;10H&& ( c2[8;14H|| c3))[9;9Hfoo;
}
STARTTEST
:set cino=k2,(s
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1[20;7H&& condition2)[21;9Haction();
function(argument1[23;9H&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 26C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2,(s
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H14 lines to indent...
15[7Cindented [24;19H[K[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;5Hif (c1 && (c2 ||[15;11Hc3))[16;9Hfoo;
if (c1 &&[18;7H(c2 || c3))
{
}
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=N-s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 47C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^NAMESPACESTART
=/^NAMESPACEEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=N-s
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^NAMESPACESTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HNAMESPACESTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^NAMESPACEEND
[?25l81 lines to indent...
50
82[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;1Hnamespace test test2
{
1111111111111111111;
}
namespace111111111
{
111111111111111111;
}
NAMESPACEEND
STARTTEST
:set cino=j1,J1
/^JSSTART
=/^JSEND
ENDTEST
JSSTART
var bar = {
foo: {
that: this,
some: ok,
},[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSEND
[?25l12 lines to indent...
13[7Cindented [24;19H[K[20;1H foo: {
that: this,
some: ok,
},[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;5H"bar":{[15;9Ha : 2,[16;9Hb: "123abc",[17;9Hx: 4,[18;9H"y": 5
}
}
JSEND
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=j1,J1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^JSSTART
=/^JSEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HJSSTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^JSEND
[?25l5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[8M[1;24r[16;1Hvar foo = [
1,
2,
3
];
JSEND
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=j1,J1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^JSSTART
=/^JSEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HJSSTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^JSEND
[?25l7 lines to indent...
8[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;1Hfunction bar() {
var foo = [[16;9H1,[17;9H2,[18;9H3
];
}
JSEND
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=j1,J1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^JSSTART
=/^JSEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HJSSTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^JSEND
[?25l58 lines to indent...
509[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;21Hreturn false;[2;17H}[3;17H_arguments[0]=options;[4;17Hmethod.apply(this,_arguments);[5;13H}[6;9H});
}
})(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: [[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSEND
[?25l14 lines to indent...
15[7Cindented [24;19H[K[20;1H $(this).data(class_name+'_public',$.extend({},{
foo: 'bar',
bar: 2,
foobar: [[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[12M[1;24r[12;13H1,[13;13H2,[14;13H3[15;9H],[16;9Hcallback: function(){[17;13Hreturn true;[18;9H}
}, options||{}));
}
JSEND
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=j1,J1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^JSSTART
=/^JSEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HJSSTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^JSEND
[?25l16 lines to indent...
17[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;17H2,[2;17H3[3;13H],[4;13Hcallback: function(){[5;17Hreturn true;[6;13H}[7;9H}, options||{}));
}
})(jQuery);
JSEND
STARTTEST
:set cino=j1,J1,+2
/^JSSTART
=/^JSEND
ENDTEST
JSSTART
// Results of JavaScript indent
// 1
(function(){
var a = [
'a',[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 38C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1,+2
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSEND
[?25l149 lines to indent...
100
50 lines to indent...
150 lines indented [24;20H[K[22;1H var a = [
'a',[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;1Hvar 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[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 48C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin cino&
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hstart of define
[?25l[18;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hend of define
[?25l11 lines to indent...
12[7Cindented [24;19H[K[22;1H BBB\
CCC[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[8M[1;24r[17;1H#define CNT \
1 + \
2 + \
4
/* end of define */
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 61C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l226 fewer lines[24;16H[K[1;1H c,
d,
e,[3;7H[K[4;1H f,[4;7H[K[5;1H g,[5;8H[K[6;1H h,[6;7H[K[7;1H i;[7;7H[K[8;1HJSEND[9;1H[K[10;1H[K[11;1H/* start of define */
{[12;2H[K[13;1H}[13;5H[K[14;1H#define AAA \
BBB\
CCC[16;9H[K[17;5H[K[18;1H#define CNT \
1 + \
2 + \[20;11H[K[21;5H4
/* end of define */[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/start of AUTO/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test4.in" 34 lines, 960 characters[1;1HTest 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[13C" split to Xxx, autocmd will do :brew
G?this is a
othis should be auto-indented[34m^[[m
:[19C" Append text with autoindent to this file
:au! BufEnter Xxx
:buf Xxx[12C" go to Xxx, no autocmd anymore
G?this is a
othis should be in column 1[34m^[[m:wq " append text without autoindent to Xxx
G:r Xxx[13C" include Xxx in the current file
:set fo+=r[10C" issue #57 do not move cursor on <c-o> when autoindent is ss[21;1Het
Go# abcdef[34m^[[m2hi
[34m^O[md0[34m^[[mo# abcdef[34m^[[m2hi[34m^O[md0[34m^[[m:[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for autocommand that changes current buffer on BufEnter event.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 20 lines, 678 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:?startstart?,$w! test.out
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter Xxx brew
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hstart of
[?25l[1;23r[1;1H[2M[1;24r[22;1Hstartstart
start of test file Xxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h.,/end of/w! Xxx " write test file Xxx
[?25l"Xxx" [24;7H[K[24;7H[New] 7L, 124C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ai modeline modelines=3
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx " split to Xxx, autocmd will do :brew
[?25l"Xxx" [24;7H[K[24;7H7L, 124C[1;1HTest for autocommand that changes current buffer on BufEnter event.
Check if modelines are interpreted for the correct buffer.[3;1H[K[4;1HSTARTTEST[4;10H[K[5;3Ho small.vim[5;21H[K[6;1H:set nocompatible viminfo+=nviminfo
:au BufEnter Xxx brew[7;22H[K[8;1H/start of[8;21H[K[9;2H.,/end of/w![7C" write test file Xxx
:set ai modeline modelines=3[10;29H[K[11;1H:sp Xxx [9C" split to Xxx, autocmd will do :brew
[1m[7mtest4.in [m[13;1H:set fo+=r[13Cssue #57 do not move cursor on <c-o> when autoindent is ss[14;1Het[14;3H[K[15;1HGo# abcdef[34m^[[m2hi
[34m^O[md0[34m^[[mo# abcdef[34m^[[m2hi[34m^O[md0[34m^[[m:
:?startstart?,$w! test.out[17;27H[K[18;2Hqa![18;5H[K[19;1HENDTEST[20;1H[K[21;1Hstartstart[22;6H of test file Xxx
[7mtest4.in [m[24;2Htest4.in" line 1 of 34 --2%-- col 1[1;1H[?12l[?25h[?25l:qa![1;6H[K[2;1HENDTEST[2;8H[K[4;1Hstartstart
start of test file Xxx
vim: set noai :[6;16H[K[7;1H this is a test
this is a test
this is a test[9;23H[K[10;1H this is a test[10;23H[K[11;1Hend of test file Xxx[11;21H[K[11;1H[?12l[?25h[?25l[24;1H[K[24;1H?[?12l[?25hthis is a
[?25l[10;9H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;1H[K[11;1H this should be auto-indented[12;10H[1m[7m[+][m[23;10H[7m[+][11;36H[?12l[?25h[?25l[1;11r[m[11;1H
[1;24r[11;1Hend of test file Xxx[?12l[?25h[?25l[24;1H:[?12l[?25h " Append text with autoindent to this file
[?25l[11;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau! BufEnter Xxx
[?25l[11;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbuf Xxx " go to Xxx, no autocmd anymore
[?25l"Xxx" [24;7H[K[24;7H7L, 124C[1;1Hstart of test file Xxx
vim: set noai :
this is a test
this is a test
this is a test
end of test file Xxx[7;21H[K[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxxt [1;1H[?12l[?25h[7;1H[?25l[m[24;1H[K[24;1H?[?12l[?25hthis is a
[?25l[6;9H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;1H[K[7;11r[7;1H[L[1;24r[7;1Hthis should be in column 1[12;5H[1m[7m[+][7;26H[?12l[?25h[?25l[24;1H[m:[?12l[?25hwq " append text without autoindent to Xxx
[?25l"Xxx[24;7H[K[24;7H8L, 151C written[1;1H:au BufEnter Xxx brew[1;22H[K[2;1H/start of[2;10H[K[3;1H:.,/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[6;12H[K[7;1Hothis should be auto-indented[34m^[[m
: " Append text with autoindent to this file
:au! BufEnter Xxx[9;18H[K[10;1H:buf Xxx " go to Xxx, no autocmd anymore[10;52H[K[11;1HG?this is a[11;12H[K[12;1Hothis should be in column 1[34m^[[m:wq " append text without autoindent to Xxx[12;73H[K[13;1HG:r Xxx [13Cnclude Xxx in the current file[13;55H[K[14;1H:set fo+=r[10C" issue #57 do not move cursor on <c-o> when autoindent is ss[15;1Het[15;3H[K[16;1HGo# abcdef[34m^[[m2hi[16;16H[K[17;1H[34m^O[md0[34m^[[mo# abcdef[34m^[[m2hi[34m^O[md0[34m^[[m:
:?startstart?,$w! test.out
:qa![19;5H[K[20;1HENDTEST[21;1H[K[22;6Hstar[22;11H[K[23;1Hstart of test file Xxx[23;23H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[7M[1;24r[17;1Hvim: set noai :[18;9Hthis is a test[19;9Hthis is a test[20;9Hthis is a test[21;9Hthis is a test[22;9Hthis should be auto-indented
end of test file Xxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hr Xxx " include Xxx in the current file
[?25l"Xxx" [24;20H[K[24;7H8L, 151C[1;23r[23;1H
[1;24r[23;1Hstart of test file Xxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset fo+=r " issue #57 do not move cursor on <c-o> when autoindent is
[23;80Hs[24;1Het
[?25l[1;1H[L[1;1H:au! BufEnter Xxx[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[7M[1;24r[17;1Hvim: set noai :[18;9Hthis is a test[19;9Hthis is a test[20;9Hthis is a test[21;9Hthis is a test
this should be in column 1
end of test file Xxx
[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1H# abcdef[?12l[?25h[?25l
[1m-- INSERT --
-- (insert)- --[1;23r[m[23;1H
[1;24r[22;6H[K[23;1H# def[?12l[?25h[?25l[24;4H[1mINSERTt --[m[24;13H[K[23;1Hdef[23;4H[K[23;1Ho[?12l[?25hd[24;1H[K[?25l[23;1H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1H# abcdef[?12l[?25h[?25l
[1m-- INSERT --
-- (insert)- --[23;6H[?12l[?25h[?25l
-- INSERTt --[m[24;13H[K[23;1Hdef[23;4H[K[23;1H:[?12l[?25hd[24;1H[K[?25l[23;1H[?12l[?25h[?25l
:[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?startstart?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 20L, 330C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test5.in" 29 lines, 949 characters[1;1HTest 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[15C" write test file Xxx
:sp Xxx[25C" split to Xxx
:bwipe[26C" delete buffer Xxx, now we're back here
G?this is a
othis is some more text[34m^[[m
:[31C" Append some text to this file
:?start?,$w! test.out[11C" Write current file contents
:bwipe test.out[17C" delete alternate buffer
:au bufleave test5.in bwipe
:bwipe![25C" delete current buffer, get an empty one
ithis is another test line[34m^[[m:w >>test.out
:[31C" append an extra line to the output file
:qa!
ENDTEST
start of test file Xxx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for autocommand that deletes the current buffer on BufLeave event.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 16 lines, 664 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufLeave Xxx bwipe
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hstart of
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx " write test file Xxx
[?25l"Xxx" [24;7H[K[24;7H[New File] 7 lines, 124 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx " split to Xxx
[?25l"Xxx" [24;7H[K[24;7H7 lines, 124 characters[1;1Hstart of test file Xxx[1;23H[K[2;1Hvim: set noai :[2;16H[K[3;9Hthis is a test
this is a test
this is a test
this is a test
end of test file Xxx
[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxx [m[13;2H?start?,$w! test.out[13CWrite current file contents[13;62H[K[14;2Hbwipe test.out [13Cdelete alternate buffer[14;58H[K[15;2Hau bufleave test5.in bwipe[15;33H[K[16;2Hbwipe! " delete current buffer, get an empty one
ithis is another test line[34m^[[m:w >>test.out[17;42H[K[18;1H: " append an extra line to the output file
:qa![19;33H[K[20;1HENDTEST[21;1H[K[22;1Hstart of test file Xxx
[7mtest5.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbwipe " delete buffer Xxx, now we're back here
[?25l[1;1HTest for autocommand that deletes the current buffer on BufLeave event.
Also test deleting the last buffer, should give a new, empty buffer.[3;9H[K[4;1HSTARTTEST[4;10H[K[5;1H:so small.vim[5;14H[K[6;1H:au BufLeave Xxx bwipe
/start of[7;10H[K[8;1H:.,/end of/w! Xxx " write test file Xxx[8;54H[K[9;1H:sp Xxx " split to Xxx[9;47H[K[10;1H:bwipe " delete buffer Xxx, now we're back here[10;73H[K[11;1HG?this is a[11;12H[K[12;1Hothis is some more text[34m^[[m[12;26H[K[13;2H [13CAppend some text to this file
:?start?,$w! test.out[13CWrite current file contents
:bwipe test.out " delete alternate buffer
:au bufleave test5.in bwipe[16;33H[K[17;1H:bwipe! " delete current buffer, get an empty one
ithis is another test line[34m^[[m:w >>test.out[18;42H[K[19;2H [28C" append an extra line to the output file
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1Hstart of test file Xxx[23;23H[K[24;1H"test5.in" line 23 of 29 --79%-- col 1[24;39H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[6M[1;24r[18;1Hvim: set noai :[19;9Hthis is a test[20;9Hthis is a test[21;9Hthis is a test[22;9Hthis is a test
end of test file Xxx[24;1H[K[23;1H[?12l[?25h[?25l
?[?12l[?25hthis is a
[?25l[22;9H[?12l[?25h[?25l
this is some more text[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hend of test file Xxx[24;1H[K[23;20H[?12l[?25h[?25l
:[?12l[?25h " Append some text to this file
[?25l[23;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?start?,$w! test.out " Write current file contents
[?25l"test.out" [24;12H[K[24;12H[New File] 8 lines, 147 characters written[23;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe test.out " delete alternate buffer
[?25l[23;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau bufleave test5.in bwipe
[?25l[23;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe! " delete current buffer, get an empty one
[?25l[1m[37m[41mError detected while processing BufLeave Auto commands for "test5.in":[m[24;71H[K[24;1H
[1m[37m[41mE89: No write since last change for buffer 1 (add ! to override)[m
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[2L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25lthis is another test line[?12l[?25h[?25l[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 26 characters appended[1;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h " append an extra line to the output file
[?25l[1;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test7.in" 26 lines, 675 characters[1;1HTest for autocommand that changes the buffer list, when doing ":ball".
STARTTEST
:so small.vim
/^start of
A1[34m^[[m:.,/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[17C" open window for all args, close Xxx2
:.,$w! test.out[10C" Write contents of this file
[34m^W^W[m:w >>test.out[8C" Append contents of second window (Xxx1)
[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa!
ENDTEST
start of test file Xxx[1;1H[?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/mark.o mark.c
[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 508 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of
[?25l[23;1H[?12l[?25h[?25l[22C1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx1 " write test file Xxx1
[?25l"Xxx1" [24;9H[K[24;8H[New File] 4 lines, 77 characters written[23;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx1
[?25l"Xxx1" [24;8H[K[24;8H4 lines, 77 characters[1;1Hstart of test file Xxx1[1;24H[K[2;9Hthis is a test
this is a test
end of test file Xxx
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxx1 [m[13;2Hclose[13;7H[K[14;2Hau BufReadPost Xxx2 bwipe
$r4:ball " open window for all args, close Xxx2
:.,$w! test.out[12CWrite contents of this file[16;55H[K[17;1H[34m^W^W[m:w >>test.out[10CAppend contents of second window (Xxx1)[18;6H/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![19;5H[K[20;1HENDTEST[21;1H[K[22;1Hstart of test file Xxx1
[7mtest7.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[2;9H[K[3;1HSTARTTEST[3;10H[K[4;1H:so small.vim[4;14H[K[5;1H/^start of[5;11H[K[6;1HA1[34m^[[m:.,/end of/w! Xxx1 " write test file Xxx1[6;48H[K[7;1H:sp Xxx1[7;9H[K[8;1H:close[8;7H[K[9;1H$r2:.,/end of/w! Xxx2 " write test file Xxx2[9;48H[K[10;1H:sp Xxx2[10;9H[K[11;1H:close[11;7H[K[12;1H$r3:.,/end of/w! Xxx3 " write test file Xxx3[12;48H[K[13;2Hsp Xxx3
:close[14;7H[K[15;1H:au BufReadPost Xxx2 bwipe[15;28H[K[16;1H$r4:ball [12Copen window for all args, close Xxx2
:.,$w! test.out [10CWrite contents of this file[17;55H[K[18;6Hw >>test.out " Append contents of second window (Xxx1)[18;67H[K[19;1H[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1Hstart of test file Xxx1[23;24H[K[23;23H[?12l[?25h[?25l2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx2 " write test file Xxx2
[?25l"Xxx2" [24;9H[K[24;8H[New File] 4 lines, 77 characters written[23;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx2
[?25l"Xxx2" [24;8H[K[24;8H4 lines, 77 characters[1;1Hstart of test file Xxx2[1;24H[K[2;9Hthis is a test
this is a test
end of test file Xxx
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxx2 [m[13;2Hclose[13;7H[K[14;2Hau BufReadPost Xxx2 bwipe
$r4:ball " open window for all args, close Xxx2
:.,$w! test.out[12CWrite contents of this file[16;55H[K[17;1H[34m^W^W[m:w >>test.out[10CAppend contents of second window (Xxx1)[18;6H/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![19;5H[K[20;1HENDTEST[21;1H[K[22;1Hstart of test file Xxx2
[7mtest7.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[2;9H[K[3;1HSTARTTEST[3;10H[K[4;1H:so small.vim[4;14H[K[5;1H/^start of[5;11H[K[6;1HA1[34m^[[m:.,/end of/w! Xxx1 " write test file Xxx1[6;48H[K[7;1H:sp Xxx1[7;9H[K[8;1H:close[8;7H[K[9;1H$r2:.,/end of/w! Xxx2 " write test file Xxx2[9;48H[K[10;1H:sp Xxx2[10;9H[K[11;1H:close[11;7H[K[12;1H$r3:.,/end of/w! Xxx3 " write test file Xxx3[12;48H[K[13;2Hsp Xxx3
:close[14;7H[K[15;1H:au BufReadPost Xxx2 bwipe[15;28H[K[16;1H$r4:ball [12Copen window for all args, close Xxx2
:.,$w! test.out [10CWrite contents of this file[17;55H[K[18;6Hw >>test.out " Append contents of second window (Xxx1)[18;67H[K[19;1H[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1Hstart of test file Xxx2[23;24H[K[23;23H[?12l[?25h[?25l3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx3 " write test file Xxx3
[?25l"Xxx3" [24;9H[K[24;8H[New File] 4 lines, 77 characters written[23;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx3
[?25l"Xxx3" [24;8H[K[24;8H4 lines, 77 characters[1;1Hstart of test file Xxx3[1;24H[K[2;9Hthis is a test
this is a test
end of test file Xxx
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxx3 [m[13;2Hclose[13;7H[K[14;2Hau BufReadPost Xxx2 bwipe
$r4:ball " open window for all args, close Xxx2
:.,$w! test.out[12CWrite contents of this file[16;55H[K[17;1H[34m^W^W[m:w >>test.out[10CAppend contents of second window (Xxx1)[18;6H/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![19;5H[K[20;1HENDTEST[21;1H[K[22;1Hstart of test file Xxx3
[7mtest7.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[2;9H[K[3;1HSTARTTEST[3;10H[K[4;1H:so small.vim[4;14H[K[5;1H/^start of[5;11H[K[6;1HA1[34m^[[m:.,/end of/w! Xxx1 " write test file Xxx1[6;48H[K[7;1H:sp Xxx1[7;9H[K[8;1H:close[8;7H[K[9;1H$r2:.,/end of/w! Xxx2 " write test file Xxx2[9;48H[K[10;1H:sp Xxx2[10;9H[K[11;1H:close[11;7H[K[12;1H$r3:.,/end of/w! Xxx3 " write test file Xxx3[12;48H[K[13;2Hsp Xxx3
:close[14;7H[K[15;1H:au BufReadPost Xxx2 bwipe[15;28H[K[16;1H$r4:ball [12Copen window for all args, close Xxx2
:.,$w! test.out [10CWrite contents of this file[17;55H[K[18;6Hw >>test.out " Append contents of second window (Xxx1)[18;67H[K[19;1H[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1Hstart of test file Xxx3[23;24H[K[23;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPost Xxx2 bwipe
[?25l[23;23H[?12l[?25h[?25l4[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hball " open window for all args, close Xxx2
[?25l"Xxx1"[24;23H[K[24;8H4 lines, 77 characters
"Xxx2" 4 lines, 77 characters
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.,$w! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 4 lines, 77 characters written
[32mPress ENTER or type command to continue[?12l[?25h[27m[23m[m[H[2J[?25l[1;1H:close
:au BufReadPost Xxx2 bwipe
$r4:ball[17C" open window for all args, close Xxx2
:.,$w! test.out[10C" Write contents of this file
[34m^W^W[m:w >>test.out[8C" Append contents of second window (Xxx1)
[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa!
ENDTEST
start of test file Xxx4
[1m[7mtest7.in [+] [m[12;1Hstart of test file Xxx1[13;9Hthis is a test[14;9Hthis is a test
end of test file Xxx
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mXxx1 [10;23H[?12l[?25h
test7.in [+][m[1m[7m [m[7m [m[23;1H[1m[7mXxx1 [12;1H[?25l[24;1H[m:[?12l[?25hw >>test.out " Append contents of second window (Xxx1)
[?25l"test.out" [24;12H[K[24;12H4 lines, 77 characters appended[12;1H[?12l[?25h[11;1H[1m[7mtest7.in [+] [m[23;1H[7mXxx1[m[1m[7m [m[7m [10;23H[?25l[m[24;1H[K[24;1H:[?12l[?25h/^start of/,$w >>test.out " Append contents of last window (this file)
[?25l[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[24;1H"test.out" [24;12H[K[24;12H4 lines, 77 characters appended[10;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test8.in" 46 lines, 1236 characters[1;1HTest 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[34m^[[m:.,/end of/w! Xxx1 " write test file Xxx1
$r2:.,/end of/w! Xxx2 " write test file Xxx2
:e! Xxx2[16C" edit Xxx2
:bdel test8.in[10C" delete this file from the buffer list
:e Xxx1[17C" edit Xxx1
:w[22C" write it, will unload it and give an error msg
:w! test.out[12C" Write contents of this file
:e! Xxx2[16C" start editing Xxx2
:bwipe test.out[9C" remove test.out from the buffer list
:w[22C" write it, will delete the buffer and give an error msg[19;1H:w >>test.out[11C" Append contents of this file
:au! BufWritePre
:func CloseAll()
let i = 0
while i <= bufnr('$')[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for BufWritePre autocommand that deletes or unloads the buffer.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 37 lines, 1054 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[19M[1;24r[5;5Hif i != bufnr('%') && bufloaded(i)[6;7Hexe 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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufWritePre Xxx1 bunload
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufWritePre Xxx2 bwipe
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of
[?25l[1;23r[23;1H
[1;24r[23;1Hstart of Xxx[24;1H[K[23;1H[?12l[?25h[?25l[12C1[?12l[?25h[?25l
:[?12l[?25h.,/end of/w! Xxx1 " write test file Xxx1
[?25l"Xxx1" [24;9H[K[24;8H[New File] 3 lines, 31 characters written[23;13H[?12l[?25h[?25l2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx2 " write test file Xxx2
[?25l"Xxx2" [24;9H[K[24;8H[New File] 3 lines, 31 characters written[23;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xxx2 " edit Xxx2
[?25l"Xxx2" [24;8H[K[24;8H3 lines, 31 characters[1;1Hstart of Xxx2
test[2;14H[K[3;1Hend of Xxx[3;11H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbdel test8.in[34m^I^I[m" delete this file from the buffer list
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xxx1 " edit Xxx1
[?25l"Xxx1" [24;25H[K[24;8H3 lines, 31 characters[1;13H1
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw " write it, will unload it and give an error msg
[?25l"Xxx2"[24;25H[K[24;8H3 lines, 31 characters
[1m[37m[41mE203: Autocommands deleted or unloaded buffer to be written[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 3 lines, 31 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he! Xxx2 " start editing Xxx2
[?25l"Xxx2" [24;8H[K[24;8H3 lines, 31 characters[1;1H[3L[1;1Hstart of Xxx2[2;9Htest
end of Xxx[24;1H[K[24;1H"Xxx2" 3 lines, 31 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe test.out " remove test.out from the buffer list
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw " write it, will delete the buffer and give an error ms
[23;80Hg[24;1H[?25l[23;1H"Xxx1"[23;25H[K[23;8H3 lines, 31 characters
[1m[37m[41mE203: Autocommands deleted or unloaded buffer to be written[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out " Append contents of this file
[?25l"test.out" [24;12H[K[24;12H3 lines, 31 characters appended
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau! BufWritePre
[?25l[1;1H[3L[1;1Hstart of Xxx1[2;9Htest
end of Xxx[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[8L[?25l[1;1Hstart of Xxx1[2;9Htest
end of Xxx
[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfunc WriteToOut()
[?25l
: [?12l[?25h edit! test.out
[?25l: [?12l[?25h $put ='VimLeave done'
[?25l: [?12l[?25h write
[?25l: [?12l[?25hendfunc
[1;1H[4L[?25l[1;1Hstart of Xxx1[2;9Htest
end of Xxx
[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset viminfo='100,nviminfo
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufUnload * call CloseAll()
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau VimLeave * call WriteToOut()
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he small.vim
[?25l[1m[37m[41mError detected while processing function CloseAll:[m
[33mline 4:[m
[1m[37m[41mE16: Invalid range: 0bunload[m
"small.vim" 1 line, 1 character
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsp mbyte.vim
[?25l"mbyte.vim" [24;13H[K[24;13H0 lines, 0 characters[1;1H[4L[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[12;1H[1m[7mmbyte.vim [m[13;1H[K[23;1H[7msmall.vim [m[24;1H[K[24;1H"mbyte.vim" 0 lines, 0 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq
[?25l[1m[37m[41mError detected while processing function CloseAll:[m
[33mline 4:[m
[1m[37m[41mE16: Invalid range: 0bunload
[m
"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test9.in" 12 lines, 255 characters[1;1HTest 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
[1m[34m~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for Bufleave autocommand that deletes the buffer we are about to edit.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 117 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufLeave test9.in bwipe yy
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he yy
[?25l[1m[37m[41mE143: Autocommands unexpectedly deleted new buffer yy[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h/^start of/,$w! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 2 lines, 42 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test14.in" 99 lines, 1606 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for "vaBiB", end could be wrong.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 56 lines, 1141 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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):[15;9H{[16;17Hcmd;[17;17H{[18;25Hcmd; /* <-- Start cursor here */[19;25H{[20;25H}[21;17H}[22;9H}[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hStart cursor here
[?25l[18;40H[?12l[?25h[?25l[?12l[?25h[?25l[17;17H[7m{
cmd; /* <-- Start cursor here */
{
}
[?12l[?25h[?25l[16;1H cmd;
[21;17H}[?12l[?25h[?25l[m
6 fewer lines[24;15H[K[16;1H }[16;10H[K[17;1H[K[18;1HPiece of Java[18;14H[K[19;1H{[19;2H[K[20;1H tt m1 {[20;16H[K[21;1H t1;[22;11He1[16;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?Bug?,/Piece/-2w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 3 lines, 44 characters written[16;9H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^- Bug
[?25l[31msearch hit BOTTOM, continuing at TOP[14;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hs/u/~u~/
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hs/i/~u~/
[?25l[14;7Huuun "vPPPP" on this text (Webb):
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hs/o/~~~/
[?25l[14;20Huuuuuuuuun this text (Webb):
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 48 characters appended[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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>
[23;80H"[24;1H
[?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
[1;1H[5L[?25l[1;1H:$put =@/
/^substitute
:keeppatterns s/asdf/xyz/
:$put =@/
/^substitute[24;1H[K[14;1H[?12l[?25h[?25l[24;1H:[?12l[?25hexe "normal " . tt
[?25l[15;23r[15;1H[L[1;24r[15;1HABC !a[34m^O[mg[34m^G[m8[24;1H[K[15;12H[?12l[?25h[?25l[24;1H:[?12l[?25hunlet tt
[?25l[15;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[15;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset vb
[?25l[15;12H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Piece
[?25l[19;1H[?12l[?25h[21;15H[?25l{A[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[Kgcc -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
[24;12H1 line, 10 characters appended[21;16H[?12l[?25h[22;16H[?25l[1;23r[1;1H[2M[1;24r[23;9Htt m2 {[24;1H[K[23;15H[?12l[?25h[?25l{B[?12l[?25h[?25l
:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[Kgcc -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
[24;12H1 line, 10 characters appended[23;16H[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[20;17Ht2;[21;9H} e2[23;9Htt m3 {[24;1H[K[23;15H[?12l[?25h[?25l{C[?12l[?25h[?25l
:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 10 characters appended[23;16H[?12l[?25h[?25l{DC[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[23;16H[?12l[?25h[22;1H[15;15H[?25l{EA[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[15;16H[?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/charset.o charset.c
[14;1H[?25l{F[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 3 characters appended[14;2H[?12l[?25h[17;9H[?25l}G e1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[Kgcc -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
[24;12H1 line, 7 characters appended[17;10H[?12l[?25h
[?25l[1;23r[1;1H[5M[1;24r[19;17Hif (x)[20;17H{[21;25Ht3;[22;17H}[23;9H} e3[24;1H[K[23;9H[?12l[?25h[?25l}H e3[?12l[?25h[?25l
:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 7 characters appended[23;10H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[24;1H[K[23;1H[?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/crypt.o crypt.c
[?5h[?5l[?25l}I[?12l[?25h[?25l
:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 3 characters appended[23;2H[?12l[?25h[22;9H[?25l}JH e3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 8 characters appended[22;10H[?12l[?25h[21;16H[15;9H[?25l}K e2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 7 characters appended[15;10H[?12l[?25h[8;1H[?25l{LF[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 4 characters appended[8;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[8;2H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^foobar
[?25l[1;23r[1;1H[2M[1;24r[23;1Hfoobar[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet startline = line('.')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall search('foobar', 'c')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcall search('^$', 'c')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall search('^$', 'bc')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25htwo
[?25l[1;23r[1;1H[3M[1;24r[21;1Hsubstitute foo asdf
one two[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25hcall search('.', 'c')
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), getline('.')[col('.') - 1:])
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^substitute
[?25l[31msearch hit BOTTOM, continuing at TOP[21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hs/foo/bar/
[?25l[21;12Hbar
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =@/
[?25l[1;23r[1;1H[6M[1;24r[18;1Hsearch()
0
1
1
two
foo[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^substitute
[?25l[31msearch hit BOTTOM, continuing at TOP[15;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hkeeppatterns s/asdf/xyz/
[?25l[15;16Hxyz[15;19H[K[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =@/
[?25l[1;23r[23;1H
[1;24r[23;1H^substitute[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^substitute
[?25l[31msearch hit BOTTOM, continuing at TOP[14;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =@0
[?25l[1;23r[23;1H
[1;24r[23;1Hsubstitute bar xyz[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25hbar /e
[?25l[23;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =@0
[?25l[1;23r[23;1H
[1;24r[23;1Hsubstitute bar xyz[24;1H[K[23;1H[?12l[?25h[22;1H[?25l
:[?12l[?25hkeeppatterns /xyz
[?25l[23;1H[?12l[?25h[?25l
/bar /e[24;8H[K[24;1H[23;1Hxyz[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^search()/,$w >>test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H9 lines, 58 characters appended[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test15.in" 136 lines, 2246 characters[1;1HTests 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[34m^R[m
:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
/^aa
ggu
:?test for :left?,$w! test.out
:qa!
ENDTEST[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :right on text with embedded TAB.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 401 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=65
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;9Htest for :left[24;1H[K[23;8H[?12l[?25h[?25l
:[?12l[?25h/^\s*test for :left/,/^\s*test for :center/ left
[?25l[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[23;1Htest for :left[23;15H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^\s*test for :center/,/^\s*test for :right/ center
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^\s*test for :right/,/^xxx/-1 right
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fo+=tcroql tw=72
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hxxxxxxxx$
[?25l[27m[23m[m[H[2J[1;40Hasxa;ofa[9Caxxxoike[2;39Hasdfaqwer[9Caxxxoike[3;47Ha[9Caxxxoikey[4;46Hfa[9Caxxxoikey[5;45Hdfa[9Caxxxoikey[6;44Hsdfa[9Caxxxoikey[7;43Hasdfa[9Caxxxoikey[8;42Hxasdfa[9Caxxxoikey[9;41Hasxxdfa[9Caxxxoikey[10;40Hasxa;ofa[9Caxxxoikey[11;39Hasdfaqwer[9Caxxxoikey
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[19;50H[?12l[?25h
[?25l[13;23r[23;1H
[1;24r[13;6H xx xxxxxx xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx[14;62Hxx xxxxxxx.
xxxx xxxx.[15;11H[K[17;65Hxxxxxx[18;9Hx: xxxx xxxxxxx, xx xxxx[7C xxxxxxx[18;51H[K[23;1H[1m[34m~ [18;1H[?12l[?25h[17;1H
[?25l[24;1H[m:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" undo/redo here to make the next undo only work on the following changes
[?25l[18;1H[?12l[?25h[?25l[24;1H1 more line; before #1 0 seconds ago[24;38H[K[27m[23m[m[H[2J[1;1H0gq6kk
:set nocp viminfo+=nviminfo
:" undo/redo here to make the next undo only work on the following changes
u[34m^R[m
:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
/^aa
ggu
:?test for :left?,$w! test.out
:qa!
ENDTEST[12;9Htest for :left[13;11Ha[13Ca[14;13Hfa[10Ca[15;11Hdfa[11Ca[16;17Hsdfa[12Ca[17;11Hasdfa[9Ca[18;17Hxasdfa[10Ca
asxxdfa[9Ca[21;9Htest for :center[22;11Ha[13Ca[23;13Hfa[10Cafd asdf[12;8H[?12l[?25h[?25l[24;1H1 line less; after #1 0 seconds ago[12;1Htest for :left[12;15H[K[13;1Ha[9C a[13;25H[K[14;1Hfa[10C a[14;25H[K[15;1Hdfa[7C a[15;25H[K[16;1Hsdfa[12Ca[16;18H[K[17;1Hasdfa a[17;25H[K[18;1Hxasdfa[10Ca[18;18H[K[21;9H test for :center[22;11H [13C a[14Ca[23;13H [8Cfa [8Cafd asdf[12;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hmap gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^aa
[?25l[27m[23m[m[H[2J[1;41Hasxxdfa[9Caxxxoike[2;40Hasxa;ofa[9Caxxxoike[3;39Hasdfaqwer[9Caxxxoike[4;47Ha[9Caxxxoikey[5;46Hfa[9Caxxxoikey[6;45Hdfa[9Caxxxoikey[7;44Hsdfa[9Caxxxoikey[8;43Hasdfa[9Caxxxoikey[9;42Hxasdfa[9Caxxxoikey[10;41Hasxxdfa[9Caxxxoikey[11;40Hasxa;ofa[9Caxxxoikey[12;39Hasdfaqwer[9Caxxxoikey
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[21;1H[?12l[?25h[?25l
:.,.+2s/^/x/
3 substitutions on 3 lines[21;1Hxaa aa aa aa
xbb bb bb bb
xcc cc cc cc
[?12l[?25h[22;1H[21;1H[?25l[24;1H[K[24;1H:set tw=3
[21;1H[?12l[?25h[?25l
3 more lines[1;23r[23;1H
[1;24r[20;5H[K[21;1Haa[21;3H[K[22;1Haa[22;3H[K[23;1Haa[24;1H[K[24;1H3 more lines[23;1H[?12l[?25h[?25l
3 fewer lines; before #2 0 seconds ago[20;1Haa aa aa aa
bb bb bb bb
cc cc cc cc
[1m[34m~ [20;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25h?test for :left?,$w! test.out
[?25l"test.out"[24;12H[K[24;12H[New] 111L, 2304C written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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.
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
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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test19.in" 33 lines, 692 characters[1;1HTests 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=[34m^V[mx7f t_kb=[34m^V[mx08
/some
r[7C:set noexpandtab
/other
r
:" Test replacing with Tabs and then backspacing to undo it
0wR[21C[34m^H^H^H^[[m
:" Test replacing with Tabs
0wR[21C[34m^[[m
:" Test that copyindent works with expandtab set
:set expandtab smartindent copyindent ts=8 sw=8 sts=8
o{
x[34m^[[m:set nosol
/Second line/
fwdv_:?^start?,$w! test.out
:qa![1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 19 lines, 447 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[23;1H
[1;24r[23;1HENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset smarttab expandtab ts=8 sw=4
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make sure that backspace works, no matter what termcap is used
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset t_kD=^[34m^?[m t_kb=^[34m^H
[?25l[27m[23m[m[H[2J[2;1HSTARTTEST
:so small.vim
:set smarttab expandtab ts=8 sw=4
:" make sure that backspace works, no matter what termcap is used
:set t_kD=[34m^V[mx7f t_kb=[34m^V[mx08
/some
r[7C:set noexpandtab
/other
r
:" Test replacing with Tabs and then backspacing to undo it
0wR[21C[34m^H^H^H^[[m
:" Test replacing with Tabs
0wR[21C[34m^[[m
:" Test that copyindent works with expandtab set
:set expandtab smartindent copyindent ts=8 sw=8 sts=8
o{
x[34m^[[m:set nosol
/Second line/
fwdv_:?^start?,$w! test.out
:qa!
ENDTEST
[?12l[?25h[?25l
/[?12l[?25hsome
[?25l[1;23r[1;1H[2M[1;24r[22;1Hstart text[23;17Hsome test text[24;1H[K[23;17H[?12l[?25h[?25l ome test text[23;20H[?12l[?25h[?25l
:[?12l[?25hset noexpandtab
[?25l[23;20H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hother
[?25l[1;23r[1;1H[2M[1;24r[22;1Htest text[23;17Hother test text[24;1H[K[23;17H[?12l[?25h[?25l ther test text[23;20H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Ha cde[?12l[?25h[?25l
:[?12l[?25h" Test replacing with Tabs and then backspacing to undo it
[?25l[23;9H[?12l[?25h
[?25l[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hf ghi[24;1H[K[23;4H[?12l[?25h[?25l
:[?12l[?25h" Test replacing wigcc -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
th Tabs
[?25l[23;4H[?12l[?25h
[?25l [7Chi[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest text[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25h" Test that copyindent works with expandtab set
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset expandtab smartindent copyindent ts=8 sw=8 sts=8
[?25l[23;9H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1H{[23;9Hx[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25hset nosol
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hSecond line/
[?25l[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;3HSecond line beginning with whitespace[24;1H[K[23;3H[?12l[?25h[22C[?25l
with whitespace[23;18H[K[23;3H[?12l[?25h[?25l
:[?12l[?25h?^start?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 10 lines, 121 characters written[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test20.in" 28 lines, 398 characters[1;1HTests 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$[34m^V[mjjlld
/456$
[34m^V[mjj"bP
:/56$/,$-1w! test.out
:qa!
ENDTEST
123456
234567
345678
test text test tex start here[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests Blockwise Visual when there are TABs before the text.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 11 lines, 107 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso tiny.vim
[?25l[18;1H[?12l[?25h[?25l[1;23r[1;1H[5M[1;24r[19;17Hsome text[20;17Htest text
test text
Ox[34m^[[mjAy[34m^[[mkdd[24;1H[K[23;1H[?12l[?25h[22;1H[?25lx[23;1H[K[22;1H[?12l[?25h
[?25ly[?12l[?25h[22;1H[?25ly
Ox[34m^[[mjAy[34m^[[mkdd[22;1H[?12l[?25h[?25l
2 changes; before #1 0 seconds ago[22;1H[K[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1H123456
234567
345678[16;1H[K[17;1Htest text test tex start here
some text[18;26H[K[19;17Htest
test text[20;17H[K[21;1H[K[22;1HOx[34m^[[mjAy[34m^[[mkdd
[7mtest20.in [1;1H[?12l[?25h[?25l[1;11r[m[1;1H[L[1;24r[1;1Hx[12;11H[1m[7m[+][m[24;1H[K[1;1H[?12l[?25h
[?25ly[?12l[?25h[1;1H[?25l[1;11r[11;1H
[1;24r[11;1H[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H1 line less; before #1 0 seconds ago[1;1H[K[12;11H[1m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hquit!
[?25l[1;1H:so tiny.vim
G0"ay$k@au[2;11H[K[3;1H:new[3;5H[K[4;1H@auY:quit![4;11H[K[5;1HGP[5;3H[K[6;1H/start here$[6;13H[K[7;1H"by$[34m^V[mjjlld[7;12H[K[8;1H/456$[8;6H[K[9;1H[34m^V[mjj"bP[9;8H[K[10;1H:/56$/,$-1w! test.out[10;22H[K[11;1H:qa![11;5H[K[12;1HENDTEST[12;8H[K[13;1H[K[14;1H123456
234567
345678[17;1H[K[18;1Htest text test tex start here[19;17Hsome
[7Ctest text
test text[22;1H[K[23;1HOx[34m^[[mjAy[34m^[[mkdd[23;13H[K[23;1H[?12l[?25h[?25l[23;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HOx[34m^[[mjAy[34m^[[mkdd[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25hstart here$
[?25l[31msearch hit BOTTOM, continuing at TOP[17;20H[?12l[?25h[?25l[?12l[?25h[?25l[m[7ms[18;20H[?12l[?25h[?25le[19;20H[?12l[?25h[?25l[17;21Ht[18;21H [19;20Ht[?12l[?25h[?25l[17;22Ha[18;22Ht[19;21H [?12l[?25h[?25l[m[17;20Hrt here[17;27H[K[18;20Hext[18;23H[K[19;20Hex[19;23H[K[17;20H[?12l[?25h[18;20H[?25l[24;1H[K[24;1H/[?12l[?25h456$
[?25l[31msearch hit BOTTOM, continuing at TOP[13;4H[?12l[?25h[?25l[?12l[?25h[?25l[m[7m4
[m234[?12l[?25h[?25l[7m5
[m345[?12l[?25h[?25l[?12l[?25h[?25l[13;4Hstart here56
234start here67
345start here78[13;13H[?12l[?25h[14;13H[?25l[24;1H[K[24;1H:[?12l[?25h/56$/,$-1w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 10 lines, 106 characters written[14;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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
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
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test22.in" 13 lines, 197 characters[1;1HTests for file with some lines ending in CTRL-M, some not[34m^M
^M[m
STARTTEST
:set ta tx
:e!
:$-3,$w! test.out
:qa!
ENDTEST
this lines ends in a[34m^M[m
this one doesn't
this one does[34m^M[m
and the last one doesn't
[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for file with some lines ending in CTRL-M, some not[34m^M[m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 4 lines, 38 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ta tx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he!
[?25l"test22.in" 13 lines, 197 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$-3,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 4 lines, 79 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test23.in" 15 lines, 282 characters[1;1HTests 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
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for complicated + argument to :edit command[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 7 lines, 125 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$-1w! Xfile1
[?25l"Xfile1" [24;10H[K[24;10H[New File] 1 line, 8 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! Xfile2
[?25l"Xfile2" [24;10H[K[24;10H[New File] 1 line, 8 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w
[?25l"Xfile1" [24;10H[K[24;10H1 line, 8 characters
foo|bar
"Xfile1" 1 line, 11 characters written
"Xfile2" 1 line, 8 characters
foo/bar
"Xfile2"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
1 line, 12 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 12 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfile1
[?25l"Xfile1" 1 line, 11 characters[1;1H[7L[1;1HfooPIPEbar
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[24;1H[K[24;1H"Xfile1" 1 line, 11 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >> test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test24.in" 89 lines, 1301 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with backslash and other special characters inside [][24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 51 lines, 519 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[2;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\x]
[?25l[15;6H[?12l[?25h[?25ltext test text[15;20H[K[15;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\t\]]
[?25l[16;8H[?12l[?25h[?25ltext test tex[16;20H[K[16;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[]y]
[?25l[17;11H[?12l[?25h[?25ltest text[17;20H[K[17;11H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\]]
[?25l[18;6H[?12l[?25h[?25ltext test text[18;20H[K[18;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[y^]
[?25l[19;13H[?12l[?25h[?25lst text[19;20H[K[19;13H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[$y]
[?25l[20;8H[?12l[?25h[?25lxt test text[20;20H[K[20;8H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\x61]
[?25l[21;7H[?12l[?25h[?25lext test text x61[21;25H[K[21;7H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\x60-\x64]
[?25l[22;7H[?12l[?25h[?25lext test text x60-x64[22;29H[K[22;7H[?12l[?25h[23;7H
[?25l[24;1H[K[24;1H/[?12l[?25h[\x785]
[?25l[23;6H[?12l[?25h[?25ltext test text x78 5[23;27H[K[23;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\o143]
[?25l[1;23r[23;1H
[1;24r[23;1Htestc text test text o143[24;1H[K[23;5H[?12l[?25h[?25l text test text o143[23;26H[K[23;5H[?12l[?25h[?25l
/[?12l[?25h[\o140-\o144]
[?25l[1;23r[23;1H
[1;24r[23;1Htesdt text test text o140-o144[24;1H[K[23;4H[?12l[?25h[?25lt text test text o140-o14[23;31H[K[23;4H[?12l[?25h[?25l
/[?12l[?25h[\o417]
[?25l[1;23r[23;1H
[1;24r[23;1Htest7 text test text o41 7[24;1H[K[23;5H[?12l[?25h[?25l text test text o41 7[23;27H[K[23;5H[?12l[?25h[?25l
/[?12l[?25h\%x42
[?25l[1;23r[23;1H
[1;24r[23;1Htest text tBest text \%x42[24;1H[K[23;12H[?12l[?25h[?25lest text \%x42[23;27H[K[23;12H[?12l[?25h[?25l
/[?12l[?25h\%o103
[?25l[1;23r[23;1H
[1;24r[23;1Htest text teCst text \%o103[24;1H[K[23;13H[?12l[?25h[?25lst text \%o103[23;28H[K[23;13H[?12l[?25h[?25l
/[?12l[?25h[\x00]
[?25l[1;23r[23;1H
[1;24r[23;1Htest text [34m^@[mtest text [\x00][24;1H[K[23;11H[?12l[?25h[?25ltest text [\x00][23;28H[K[23;11H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest te[34m^@[mxt t[34m^D[mest t[34m^P[mext [\x00-\x10][23;11H[?12l[?25h[?25l
:[?12l[?25hs/[\x00-\x10]//g
[?25l3 substitutions on 1 line[23;8Hxt test text [\x00-\x10][23;33H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest \xyztext test text [\x-z][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/[\x-z]\+//
[?25l[23;6Htext test text [\x-z][23;28H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest text tev\uyst text [\u-z][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/[\u-z]\{2,}//
[?25l[23;13Hst text [\u-z][23;28H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)\+//
[?25l[23;4H xx [23;10H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a*\)\+//
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a*\)*//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
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)\{2,3}/A/
[?25l[23;4HAaa xx[23;10H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)\{-2,3}/A/
[?25l[23;4HAaaa x[23;11H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaa12aa xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)*\(12\)\@>/A/
[?25l[23;4HAaa xx[23;10H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx foobar xbar xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(foo\)\@<!bar/A/
[?25l[23;12HA xx[23;16H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx an file xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(an\_s\+\)\@<=file/A/
[?25l[23;7HA xx[23;12H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hx= 9;[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/XX/
[?25l[23;1HXX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hhh= 77;[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/
[?25l[23;1HYY 77;[23;7H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/aaa/xyz/
[?25l[23;2Hxyz
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Hxyz[24;1H[K[23;2H[?12l[?25h[?25l
:[?12l[?25hs/~/bcd/
[?25l[23;2Hbcd
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Hbcdbcdbcd[24;1H[K[23;2H[?12l[?25h[?25l
:[?12l[?25hs/~\+/BB/
[?25l[23;2HBB[23;4H[K[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?start?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 32L, 586C written[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test26.in" 44 lines, 750 characters[1;1HTest 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[34m^V^[[m
: if i == 9
: break
: endif
: if i == 5
: continue
: else
: let j = 9
: while j > 0
:[8Cif has("ebcdic")[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for :execute, :while and :if[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 39 lines, 696 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: let j = 9
: while j > 0
:[8Cif has("ebcdic")
:[10Cexecute "normal" j . "a" . j . "\x27"
:[8Celse
:[10Cexecute "normal" j . "a" . j . "\x1b"
:[8Cendif
:[8Clet 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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet i = 0
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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^[34m^[
[m
[?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:[8C[?12l[?25h: if has("ebcdic")
[?25l:[10C[?12l[?25h: execute "normal" j . "a" . j . "\x27"
[?25l:[10C[?12l[?25h: else
[?25l:[10C[?12l[?25h: execute "normal" j . "a" . j . "\x1b"
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: let j = j - 1
[?25l:[8C[?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
[27m[23m[m[H[2J[?25l[1;1H: 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[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h't,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 10 lines, 159 characters written[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test28.in" 23 lines, 364 characters[1;1HTest for sourcing a file with CTRL-V's at the end of the line
STARTTEST
:/firstline/+1,/lastline/-1w! Xtestfile
:so Xtestfile
Gmm__1[34m^[^[[m__2[34m^[[m__3[34m^[^[[m__4[34m^[[m__5[34m^[[m:'m,$s/[34m^@[m/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[34m^V[m
map __2 asd[34m^V^V[m
map __3 asd[34m^V^V[m
map __4 asd[34m^V^V^V[m
map __5 asd[34m^V^V^V[m
lastline[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for sourcing a file with CTRL-V's at the end of the line[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 114 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/firstline/+1,/lastline/-1w! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;13H[New File] 10 lines, 148 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso Xtestfile
[?25l[10;1H[?12l[?25h[23;1H[11C[?25l[1;23r[23;1H
[1;24r[22;1Hsd
map __2 asd[34m^[[m[24;1H[K[23;12H[?12l[?25h[?25l[2Csecond[?12l[?25hd [?25lsd[34m^[[?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/menu.o menu.c
^[[m [13C[?25l[23;24Hsd[34m^@[mmap __5 asd[34m^@[?12l[?25h[?25l[m[2Cfifth[?12l[?25h[?25l
:[?12l[?25h'm,$s/[34m^@[m/0/g
[?25l[23;26H0map __5 asd0fifth[23;44H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h'm,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 2 lines, 45 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test29.in" 230 lines, 4261 characters[1;1HTest 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+=j[14;1Hj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j joinspaces
j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptionss[16;1H+=j
j05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j nojoinspaces compatible
j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj4Jy3l$pjd/STARTTEST/-2
ENDTEST
firstline
asdfasdf.
asdf[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for joining lines and marks in them[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 11 lines, 478 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nojoinspaces
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpoptions-=j
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hfirstline/
[?25l[24;11H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H/[?12l[?25h^STARTTEST/-1
[?25l[12C+-1
37 fewer lines[24;15H[K[22;1HSTARTTEST
/^{/+1[22;1H[?12l[?25h[?25l[24;4Hmore lines[24;14H[K[22;1Hasdfasdf.
asdf[23;5H[K[22;1H[?12l[?25h[?25l[10Casdf
asdfasdf.[22;10H[?12l[?25h[23;10H[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[24;1H[K[23;11H[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[14C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[8C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[15C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hzx cvn.[?12l[?25h
zx cv[?25l[1;23r[1;1H[3M[1;24r[21;1Has dfg?
hjkl iop!
ert[22;6H[?12l[?25h
hjkl i[20;7H[?25l. as dfg? hjkl iop! ert
zx cvn.
as dfg?[22;8H[K[23;1Hhjkl iop![20;26H[?12l[?25h er[?25lt er[?12l[?25h
zx cv[26C[?25lrn[?12l[?25h[20;23H[10C[?25lnop[?12l[?25h[?25l[24;1H:[?12l[?25hset cpoptions+=j
[?25l[20;35H[?12l[?25h[21;7H
zx cv[23;6H
hjkl i[21;7H[?25l. as dfg? hjkl iop! ert[22;1H[K[23;1HSTARTTEST[21;26H[?12l[?25h er[?25lt er[?12l[?25h
zx cv[26C[?25lrn[?12l[?25h[21;23H[10C[?25lnop[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpoptions-=j joinspaces
[?25l[21;35H[?12l[?25h
[?25l
37 more lines[24;14H[K[23;1Hasdfasdf.
[?12l[?25h[?25l[11Casdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[24;1H[K[23;10H[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[14C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[8C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[15C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hzx cvn.[?12l[?25h
zx cv[?25l[1;23r[1;1H[2M[1;24r[22;1Has dfg?
hjkl iop![?12l[?25h
hjkl i[21;7H[?25l. as dfg? hjkl iop! ert
zx cvn.
as dfg?[23;8H[K[21;28H[?12l[?25h er[?25lt e[?12l[?25h
zx cv[29C[?25len[?12l[?25h[21;25H[11C[?25lnop[?12l[?25h[?25l
:[?12l[?25hset cpoptions+=j
[?25l[21;38H[?12l[?25h[22;7H
zx cv[?25l[1;23r[23;1H
[1;24r[23;1Hhjkl iop![24;1H[K[23;6H[?12l[?25h
hjkl i[21;7H[?25l. as dfg? hjkl iop! ert[22;1H[K[23;1HSTARTTEST[21;27H[?12l[?25h er[?25lt er[?12l[?25h
zx cv[27C[?25lrn[?12l[?25h[21;24H[10C[?25lnop[?12l[?25h[?25l
:[?12l[?25hset cpoptions-=j nojoinspaces compatible
[?25l[21;36H[?12l[?25h
[?25l
37 more lines[24;14H[K[23;1Hasdfasdf.
[?12l[?25h[?25l[11Casdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[24;1H[K[23;10H[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[14C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[8C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[15C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hzx cvn.[?12l[?25h[?25l. as dfg? hjkl iop! ert[23;8H[?12l[?25h[22C[?25lt a[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hzx cvn.[?12l[?25h[?25l
/[?12l[?25hSTARTTEST/-2
[?25l[11C+-2
4 fewer lines[24;14H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H12 lines, 147 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[12M[1;24r[12;1H:set comments=s1:/*,mb:*,ex:*/,://
:set nojoinspaces fo=j
:set backspace=eol,start
:.,+3join
j4J
:.,+2join
j3J
:.,+2join
j3J
:.,+2join
jj3J
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset comments=s1:/*,mb:*,ex:*/,://
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nojoinspaces fo=j
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset backspace=eol,start
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,+3join
[?25l[23;1H/* Make sure the previous comment leader is not removed. */
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l/* Make sure the previous comment leader is not removed. */
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+2join
[?25l[23;1H// Should the next comment leader be left alone? Yes.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l// Should the next comment leader be left alone? Yes.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+2join
[?25l[23;1H/* Here the comment leader should be left intact. */ // And so should this one.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l/* Here the comment leader should be left intact. */ // And so should this one.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+2join
[?25l[23;1Hif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haction();[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25lif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haction();
[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:" Test with backspace set to the non-compatible setting
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H17 lines, 347 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:inoremap <c-u> <left><c-u>
Avim3[34m^U^[[m
:iunmap <c-u>
Avim4[34m^U^U^[[m
:" Test with backspace set to the compatible setting
:set backspace= visualbell
A vim5[34m^[[mA[34m^U^U^[[m
A vim6[34m^[[mAzwei[34m^G[mu[34m^U^[[m
:inoremap <c-u> <left><c-u>
A vim7[34m^U^U^[[m
: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test with backspace set to the non-compatible setting
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^\d\+ this
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp bs=2
[?25l[14;1H[?12l[?25h[?25l[26C[?12l[?25h[15;27Hd [?25lvim2[?12l[?25h[?25l[15;28H[K[15;27H[?12l[?25h[16;24H[?25l[24;1H[K[24;1H:[?12l[?25hset cpo-=<
[?25l[16;24H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <c-u> <left><c-u>
[?25l[16;24H[?12l[?25h[?25ld3[?12l[?25h[17;24H[?25l[24;1H[K[24;1H:[?12l[?25hiunmap <c-u>
[?25l[17;24H[?12l[?25h[?25l[17;1H[K[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h" Test with backspace set to the compatible setting
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset backspace= visualbell
[?25l[18;1H[?12l[?25h[?25l[28Cvim5[?12l[?25h[?5h[?5l[?5h[?5l[19;27H[?25ld vim6[?12l[?25h6 [?25lzwei[?12l[?25h[?25l[19;33H[K[19;32H[?12l[?25h[20;32H[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <c-u> <left><c-u>
[?25l[20;32H[?12l[?25h[?5h[?5l[?5h[?5l[?25l[15Cvim7[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hset compatible novisualbell
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H21 lines, 356 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj3J
:.,+2join
j3J
:.,+2join
jj3J
j:.,+2join
jj3J
j:.,+5join
j6J
oSome code![34m^M[m// Make sure backspacing does not remove this comment leader.[34m^[[m0i[34m^HH[11;1H^[[m
ENDTEST
{
/*
* Make sure the previous comment leader is not removed.
*/
/*
* Make sure the previous comment leader is not removed.
*/[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments=sO:*\ -,mO:*\ \ ,exO:*/
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments+=s1:/*,mb:*,ex:*/,://
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments+=s1:>#,mb:#,ex:#<,:<
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpoptions-=j joinspaces fo=j
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset backspace=eol,start
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,+3join
[?25l[15;23r[15;1H[3M[1;24r[15;1H/* Make sure the previous comment leader is not removed. */[21;1H/* List:
* - item1
* foo bar baz[24;1H[K[15;1H[?12l[?25h
[?25l[16;23r[16;1H[3M[1;24r[16;1H/* Make sure the previous comment leader is not removed. */[21;2H* foo bar baz
* - item2
* foo bar baz[16;1H[?12l[?25h
[?25l[24;1H:[?12l[?25h.,+8join
[?25l[17;1H/* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz */[18;1H[K[19;1H/* List:[19;9H[K[20;4H- item1[20;11H[K[22;4H foo bar baz
* - item2[23;11H[K[17;1H[?12l[?25h
[?25l/* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz */[19;1H[K[20;1H// Should the next comment leader be left alone?
// Yes.[21;8H[K[22;2H[K[23;1H// Should the next comment leader be left alone?[18;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h.,+2join
[?25l[19;23r[19;1H[2M[1;24r[19;4HShould the next comment leader be left alone? Yes.
// Yes.[24;1H[K[19;1H[?12l[?25h
[?25l// Should the next comment leader be left alone? Yes.[21;1H[K[22;2H* Here the comment leader should be left intact. */
// And so should this one.[20;1H[?12l[?25h
[?25l
:[?12l[?25h.,+2join
[?25l[21;1H/* Here the comment leader should be left intact. */ // And so should this one.[22;1H[K[23;2H* Here the comment leader should be left intact. */[21;1H[?12l[?25h
[?25l/* Here the comment leader should be left intact. */ // And so should this one.[23;1H[K[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h.,+2join
[?25l[23;1Hif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haction();[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25lif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haction();
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+2join
[?25l[23;1Hint i = 7 /* foo *// 3 // comment
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H;[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25lint i = 7 /* foo *// 3 // comment
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H;
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+5join
[?25l[23;1H># Note that the last character of the ending comment leader (left angle bracket[23;1H[1m[34m@ [1;23r[m[1;1H[3M[1;24r[20;1H># Note that the last character of the ending comment leader (left angle brackett[21;1H) is a comment leader itself. Make sure that this comment leader is not removed [22;1Hfrom the next line #< < On this line a new comment is opened which spans 2 liness[23;1H. This comment should retain its comment leader.[24;1H[K[20;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l># Note that the last character of the ending comment leader (left angle bracket[23;1H[1m[34m@ [1;23r[m[1;1H[3M[1;24r[20;1H># Note that the last character of the ending comment leader (left angle brackett[21;1H) is a comment leader itself. Make sure that this comment leader is not removed [22;1Hfrom the next line #< < On this line a new comment is opened which spans 2 liness[23;1H. This comment should retain its comment leader.[20;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HSome code!
// Make sure backspacing does not remove this comment leader.[?12l[?25h
[?25l[22;11H// Make sure backspacing does not remove this comment leader.
}[23;2H[K[22;10H[?12l[?25h
[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 61 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[23;19H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:?firstline?+1,$w! test.out[24;1H[K[23;19H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l74 fewer lines[24;15H[K[1;1H// Should the next comment leader be left alone? Yes.[1;56H[K[2;1H/* 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();[5;14H[K[6;1Hif (condition) // Remove the next comment leader! OK, I will.
action();[7;14H[K[8;1Hint i = 7 /* foo *// 3 // comment
;[9;4H[K[10;1Hint i = 7 /* foo *// 3 // comment[10;34H[K[11;1H ;[11;3H[K[12;1H># Note that the last character of the ending comment leader (left angle brackett[13;1H) is a comment leader itself. Make sure that this comment leader is not removed [14;1Hfrom the next line #< < On this line a new comment is opened which spans 2 liness[15;1H. This comment should retain its comment leader.[15;49H[K[16;1H># Note that the last character of the ending comment leader (left angle brackett[17;1H) is a comment leader itself. Make sure that this comment leader is not removed [18;1Hfrom the next line #< < On this line a new comment is opened which spans 2 liness[19;1H. This comment should retain its comment leader.
Some code!// Make sure backspacing does not remove this comment leader.
}[22;2H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?firstline?+1,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 97 lines, 3018 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test31.in" 95 lines, 1832 characters[1;1HTest for commands that close windows and/or buffers:
:quit
:close
:hide
:only
:sall
:all
:ball
:buf
:edit
STARTTEST
:so small.vim
GA 1[34m^[[m:$w! Xtest1
$r2:$w! Xtest2
$r3:$w! Xtest3
:n! Xtest1 Xtest2
A 1[34m^[[m: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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for commands that close windows and/or buffers:[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[12;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 80 lines, 1697 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:" 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[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h
[?25l[9C1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! Xtest1
[?25l"Xtest1" [24;10H[K[24;10H[New File] 1 line, 11 characters written[23;10H[?12l[?25h[?25l2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! Xtest2
[?25l"Xtest2" [24;10H[K[24;10H[New File] 1 line, 11 characters written[23;10H[?12l[?25h[?25l3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! Xtest3
[?25l"Xtest3" [24;10H[K[24;10H[New File] 1 line, 11 characters written[23;10H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hn! Xtest1gcc -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
Xtest2
[?25l"Xtest1" [24;10H[K[24;10H1 line, 11 characters[1;1Htesttext 1[1;11H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[11C1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for working :n when hidden set; write "testtext 2"
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hn
[?25l"Xtest2" 1 line, 11 characters[1;10H2[1;12H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 11 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for failing :rew when hidden not set; write "testtext 2 2"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[11C2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hrew
[?25l[1m[37m[41mE37: No write since last change (add ! to override)[1;12H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for working :rew when hidden set; write "testtext 1 1"
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hrew
[?25l"Xtest1" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)[1;10H1 1
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for :all keeping a buffer when it's modified; write "testtext 1 1 1"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[13C1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp
[?25l[12;1H[1m[7mXtest1 [+] [m[13;1Htesttext 1 1 1[13;15H[K[23;1H[7mXtest1 [+] [1;14H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hn Xtest2 Xtest3
[?25l"Xtest2" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)[1;10H2 2[1;14H[K[12;6H[1m[7m2 [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hall
[?25l"Xtest3" 1 line, 11 characters[27m[23m[m[H[2J[1;1Htesttext 1 1 1
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7mXtest1 [+] [m[9;1Htesttext 2 2
[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[1m[7mXtest2 [+] [m[16;1Htesttext 3
[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mXtest3 [9;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h1wincmd w
[?25l[8;1H[1m[7mXtest1 [+] [m[15;1H[7mXtest2 [+][m[1m[7m [m[7m [1;14H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 15 characters appended[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test abandoning changed buffer, should be unloaded even when 'hidden' set
[?25l[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" write "testtext 2 2" twice
[?25l[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[1;14H[?12l[?25h[?25l1 1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[27m[23m[m[H[2J[1;1Htesttext 2 2
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXtest2 [+] [m[13;1Htesttext 3
[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mXtest3 [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hunhide
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":hide" hides anyway when 'hidden' not set; write "testtext 3"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[13C2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhide
[?25l[1;10H3[1;12H[K[12;1H[1m[34m~ [13;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":edit" failing in modified buffer when 'hidden' not set
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" write "testtext 3gcc -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
3"
[?25l[1;1H[?12l[?25h[?25l[11C3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtest1
[?25l[1m[37m[41mE37: No write since last change (add ! to override)[1;12H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":edit" working in modified buffer when 'hidden' set; write "testtext 1
[23;80H"[24;1H[?25l[1;1H[L[1;1Htesttext 3 3[24;1H[K[1;12H[?12l[?25h[?25l[24;1H:[?12l[?25hset hidden
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtest1
[?25l"Xtest1" 1 line, 11 characters[1;10H1[1;12H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":close" not hiding when 'hidden' not set in modified buffer;
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" write "testtext 3 3 3"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xtest3
[?25l"Xtest3" [Modified] line 1 of 1 --100%-- col 1 (file 2 of 2)[1;10H3 3[12;1H[1m[7mXtest3 [+] [m[13;1Htesttext 1[13;11H[K[23;1H[7mXtest1 [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[13C3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1m[37m[41mE37: No write since last change (add ! to override)[1;14H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 15 characters appended[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":close!" does hide when 'hidden' not set in modified buffer;
[?25l[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" write "testtext 1"
[?25l[1;14H[?12l[?25h[?25l3 3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose!
[?25l[1;10H1[1;12H[K[12;1H[1m[34m~ [13;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":all!" hides changed buffer; write "testtext 2 2 2"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xtest4
[?25l"Xtest4" [New File][1;1H[K[12;1H[1m[7mXtest4 [m[13;1Htesttext 1[13;11H[K[23;1H[7mXtest1 [1;1H[?12l[?25h[?25l[m 4[12;8H[1m[7m[+][1;2H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?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)
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[1;1H[2L[1;1Htesttext 2 2 2
[1m[34m~ [m[11;1H[1m[7mXtest2 [+] [m[12;1Htesttext 3 3 3 3[12;17H[K[13;1H[1m[34m~ [m[23;6H[7m3 [+][m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 15 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":q!" and hidden buffer.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbw! Xtest1 Xtest2 Xtest3 Xtest4
[?25l"test31.in"[24;13H[K[24;13H95 lines, 1832 characters
4 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsp Xtest1
[?25l"Xtest1" [24;10H[K[24;10H1 line, 11 characters[1;1H[2L[1;1Htesttext 1
[1m[34m~ [11;1H~ [m[12;1H[1m[7mXtest1 [m[13;1H:w >>test.out[13;14H[K[14;1H:q![14;4H[K[15;1H:w >>test.out[15;14H[K[16;1H:q![16;4H[K[17;1H:call append(line('$'), "Oh, Not finished yet.")[17;49H[K[18;1H:w >>test.out[18;14H[K[19;1H:qa![19;5H[K[20;1HENDTEST[20;8H[K[21;1H[K[22;1Htesttext[22;9H[K[23;1H[7mtest31.in [m[24;1H[K[24;1H"Xtest1" 1 line, 11 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd w
[?25l[12;1H[7mXtest1[m[1m[7m [m[7m [m[23;1H[1m[7mtest31.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbw!
[?25l[12;1H[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset modified
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbot sp Xtest2
[?25l"Xtest2" [24;10H[K[24;10H1 line, 11 characters[11;1H[7mXtest1 [+] [m[12;1Htesttext 2[12;11H[K[23;1H[1m[7mXtest2 [12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset modified
[?25l[23;8H[1m[7m[+][12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbot sp Xtest3
[?25l"Xtest3" [24;10H[K[24;10H1 line, 11 characters[27m[23m[m[H[2J[1;1Htesttext 1
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7mXtest1 [+] [m[9;1Htesttext 2
[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7mXtest2 [+] [m[16;1Htesttext 3
[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7mXtest3 [16;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hset modified
[?25l[23;8H[1m[7m[+][16;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd t
[?25l[8;1H[1m[7mXtest1 [+] [m[23;1H[7mXtest3 [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhide
[?25l[27m[23m[m[H[2J[1;1Htesttext 2
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXtest2 [+] [m[13;1Htesttext 3
[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mXtest3 [+] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hq!
[?25l[1;10H3[12;1H[1m[34m~ [13;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[1m[37m[41mE37: No write since last change[m
[1m[37m[41mE162: No write since last change for buffer "Xtest1"[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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-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
VIMRUNTIME=../../runtime; export VIMRUNTIME; ../vim -f -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test33.in
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test33.in" 34 lines, 616 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for 'lisp'[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 63 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset lisp
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^(defun
[?25l[12;1H[?12l[?25h[?25l[24;1H22 lines to indent...
23[7Cindented [24;19H[K[13;1H (format nil "~(~A~).html" base))
(let ((ti (gensym)))
`(with-open-file (*standard-output*
[8C(html-file ,name)
[7C:direction :output
:if-exists :supersede)
(let ((,ti ,title))
[15C(as title ,ti)
[17C(with center[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^(defun/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 23 lines, 544 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test34.in" 87 lines, 1833 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for user functions.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 78 lines, 1621 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[8L[?25l[1;1H: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[24;1H[K[22;1H[?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
[1;1H[6L[?25l[1;1H: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))[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc Expr1()
[?25l
: [?12l[?25h: normal! v
[?25l: [?12l[?25h: return "111"
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc Expr2()
[?25l
: [?12l[?25h: call search('XX', 'b')
[?25l: [?12l[?25h: return "222"
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc ListItem()
[?25l
: [?12l[?25h: let g:counter += 1
[?25l: [?12l[?25h: return g:counter . '. '
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc ListReset()
[?25l
: [?12l[?25h: let g:counter = 0
[?25l: [?12l[?25h: return ''
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc FuncWithRef(a)
[?25l
: [?12l[?25h: unlet g:FuncRef
[?25l: [?12l[?25h: return a:a
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hlet g:FuncRef=function("FuncWithRef")
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet counter = 0
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <expr> ( ListItem()
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <expr> [ ListReset()
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25himap <expr> + Expr1()
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25himap <expr> * Expr2()
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet retval = "nop"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^here
[?25l[23;1H[?12l[?25h[?25lher$[24;1H[K[24;1H=[?12l[?25hTable("xxx", 4, "asdf")
[?25l[24;1H[K[24;1H=[?12l[?25hCompute(45, 0, "retval")
[?25l[24;1H[K[24;1H=[?12l[?25hretval
[?25l[24;1H[K[24;1H=[?12l[?25hCompute(45, 5, "retval")
[?25l[24;1H[K[24;1H=[?12l[?25hretval
[?25l[24;1H[K[24;1H=[?12l[?25hg:FuncRef(333)
[?25l[1m[37m[41mError detected while processing function Expr1:[m
[33mline 1:[m
[1m[37m[41mE523: Not allowed here[m
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[4L[?25l[1;1H: $put =(0&&(function('tr'))(1, 2, 3))
: $put =(1&&(function('tr'))(1, 2, 3))
:catch
: $put ='!!! Unexpected exception:'[5;6H$put =v:exception
:endtry[6;8H[K[7;2H$-9,$w! test.out[7;18H[K[8;2Hdelfunc Table
:delfunc Compute[9;17H[K[10;2Hdelfunc Expr1[10;15H[K[11;2Hdelfunc Expr2
:delfunc ListItem[13;10HListReset
:unlet retval counter
:q![15;4H[K[16;1HENDTEST[16;8H[K[17;1H[K[18;1Hxxx4asdf fail nop ok 9 333
XX111-XX[19;9H[K[20;1H---222---
1. one[21;7H[K[22;1H2. two[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l1. one again[?12l[?25h[?25l
:[?12l[?25hcall append(line('$'), max([1, 2, 3]))
[?25l[23;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall extend(g:, {'max': function('min')})
[?25l[1m[37m[41mE704: Funcref variable name must start with a capital: max[23;12H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), max([1, 2, 3]))
[?25l[23;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[23;80Hi[24;1Hng
[?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
[1;1H[10L[?25l[1;1H: $put =v:exception
:endtry
:$-9,$w! test.out
:delfunc Table
:delfunc Compute
:delfunc Expr1
:delfunc Expr2
:delfunc ListItem
:delfunc ListReset
:unlet retval counter
:q![11;4H[K[12;1HENDTEST[12;8H[K[13;1H[K[14;1Hxxx4asdf fail nop ok 9 333
XX111-XX
---222---
1. one
2. two[18;7H[K[19;1H1. one again
3[20;2H[K[21;1H3[21;2H[K[22;1H0[22;2H[K[23;2H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$-9,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 10 lines, 81 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc Table
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc Compute
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc Expr1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc Expr2
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc ListItem
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc ListReset
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hunlet retval counter
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test36.in" 108 lines, 2025 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest character classes in regexp using regexpengine 0, 1, 2.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[Kgcc -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
[24;11H[New File] 101 lines, 1850 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hp: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
:[?12l[?25hs/\%#=0\D//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\D//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\D//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^0-9]//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^0-9]//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^0-9]//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\O//g
[?25l74 substitutions on 1 line[21;1H01234567[21;9H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=2\O//g
[?25l74 substitutions on 1 line[21;1H01234567[21;9H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
:[?12l[?25hs/\%#=1[^0-7]//g
[?25l74 substitutions on 1 line[22;1H01234567[22;9H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^0-7]//g
[?25l74 substitutions on 1 line[22;1H01234567[22;9H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\X//g
[?25l60 substitutions on 1 line[21;1H0123456789ABCDEFabcdef[21;23H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=2\X//g
[?25l60 substitutions on 1 line[21;1H0123456789ABCDEFabcdef[21;23H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=1[^0-9A-Fa-f]//g
[?25l60 substitutions on 1 line[21;1H0123456789ABCDEFabcdef[21;23H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\W//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\W//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\W//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0\H//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\H//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\H//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^A-Za-z_]//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^A-Za-z_]//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^A-Za-z_]//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0\A//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\A//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\A//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^A-Za-z]//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^A-Za-z]//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^A-Za-z]//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0\L//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\L//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\L//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^a-z]//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^a-z]//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^a-z]//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\U//g
[?25l70 substitutions on 1 line[21;1HABCDEFGHIXYZ[21;14H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=2\U//g
[?25l70 substitutions on 1 line[21;1HABCDEFGHIXYZ[21;14H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
:[?12l[?25hs/\%#=1[^A-Z]//g
[?25l70 substitutions on 1 line[22;1HABCDEFGHIXYZ[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^A-Z]//g
[?25l70 substitutions on 1 line[22;1HABCDEFGHIXYZ[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test37.in" 116 lines, 3262 characters[1;1HTest 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
[34m^W[mt:
:resize 8
/^start of window 1$/
zt:
:set scrollbind
[34m^W[mj:
:resize 7
/^start of window 2$/
zt:
:set scrollbind
:" -- start of tests --[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for 'scrollbind'. <eralston@computer.org> Do not add a line below![24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 72 lines, 1498 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[3;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1HHk[34m^W[mtH[34m^W[mjHyy[34m^W[mbp[34m^W[mtyy[34m^W[mbp:
[34m^W[mt:set noscb
ggL[34m^W[mj:set noscb
ggL:set scb
[34m^W[mt:set scb
[34m^W[mtG[34m^W[mjG[34m^W[mt:syncbind
Hk[34m^W[mjH[34m^W[mtHyy[34m^W[mbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
[34m^W[mtH3k[34m^W[mjH[34m^W[mtHyy[34m^W[mbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
:" ***** done with tests *****
:w! test.out[13C" 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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noscrollbind
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt=ver,jump
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrolloff=2
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nowrap
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noequalalways
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset splitbelow
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST using two windows open to one buffer, one extra empty window
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsplit
[?25l[1;1H[34m^W[mtH3k[4C[34m^W[mtHyy[2Cbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
:" ***** done with tests *****
:w! test.out [9C" Write contents of this file
:qa![4;5H[K[5;1HENDTEST[5;9H[K[6;1H[K[7;1H[K[8;1Hstart of window 1[8;18H[K[9;1H. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[10;51H[K[11;1H[7mtest37.in [m[12;1HHk[34m^W[mjH[34m^W[mtHyy[34m^W[mbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
[34m^W[mtH3k[34m^W[mjH[34m^W[mtHyy[34m^W[mbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
:" ***** done with tests *****
:w! test.out [8C" Write contents of this file
:qa![16;5H[K[17;1HENDTEST[17;8H[K[18;1H[K[19;1H[K[20;1Hstart of window 1[20;18H[K[21;9H1[39C1[22;9H2[39C2
[1m[7mtest37.in [18;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnew
[?25l[12;1H:w! test.out " Write contents of this file
:qa![13;5H[K[14;1HENDTEST[14;8H[K[15;1H[K[16;1H[K[17;1H[7mtest37.in [m[19;1H[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [18;1H[?12l[?25h[11;1Htest37.in [m[23;1H[7m[No Name][m[1m[7m [m[7m [6;1H[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hresize 8
[?25l[1;1H:" ***** done with tests *****[1;31H[K[2;2Hw! test.out " Write contents of this file
:qa![3;5H[K[4;1HENDTEST[5;1H[K[7;1Hstart of window 1
. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
[1m[7mtest37.in [m[10;1H:" ***** done with tests *****[10;31H[K[11;1H:w! test.out " Write contents of this file[11;55H[K[12;2Hqa![12;5H[K[13;1HENDTEST[14;1H[K[16;1Hstart of window 1[5;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of window 1$/
[?25l[24;21H[K[24;1H[1;8r[8;1H
[1;24r[8;1H. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[24;1H[K[6;1H[?12l[?25h[?25l[1;8r[1;1H[3M[1;24r[6;1H. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03
. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04
. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollbind
[?25l[3;1H[?12l[?25h[9;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7mtest37.in [14;1H[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hresize 7
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of window 2$/
[?25l[24;21H[K[24;1H[10;1Hend of window 1[10;16H[K[11;1H[K[12;1H[K[13;1Hstart of window 2
. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01
. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03[13;1H[?12l[?25h[?25l[10;16r[16;1H
[1;24r[16;1H. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04[24;1H[K[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollbind
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" -- start of tests --
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST scrolling down
[?25l[12;1H[?12l[?25h
[?25l[1;8r[1;1H[5M[1;24r[4;1H. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07
. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08
. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09
. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10[10;16r[10;1H[5M[1;24r[12;1H. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07
. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08
. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09[24;1H[K[14;1H[?12l[?25h[12;1H[17;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [18;1H[?25l[m
. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[19;50H[K[23;11H[1m[7m[+][19;1H[?12l[?25h[?25l[m0[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [19;1H[?25l[m
. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[20;50H[K[20;1H[?12l[?25h[?25l1[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H
[?25l[1;8r[m[1;1H[6M[1;24r[3;1H. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12
. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13
. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14
. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15
end of window 1[10;16r[10;1H[6M[1;24r[11;1H. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10
. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13
. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15[6;1H[?12l[?25h[3;1H[9;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [20;1H[?25l[m
. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[21;50H[K[21;1H[?12l[?25h[?25l2[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[17;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [21;1H[?25l[m
. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[22;50H[K[22;1H[?12l[?25h[?25l3[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST scrolling up
[?25l[22;1H[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[1;8r[m[1;1H[5L[1;24r[1;1H. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04
. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07
. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08[10;9H4[39C4[11;8H05[38C05[12;8H06[38C06[13;8H07[38C07[14;8H08[38C08[15;8H09[38C09[16;9H0[39C0[24;1H[K[4;1H[?12l[?25h[9;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7mtest37.in [14;1H[12;1H[9;1Htest37.in [m[17;1H[7mtest37.in[m[1m[7m [m[7m [4;1H[3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
[?12l[?25h[?25l4[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[17;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
[?12l[?25h[?25l5[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[?25l[1;8r[m[1;1H[4L[1;24r[1;1Hstart of window 1
. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[10;16r[10;1H[4L[1;24r[10;1Hstart of window 2
. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01
. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
[?12l[?25h[9;1H[1m[7mtest37.in [m[17;1H[7mtest37.in[m[1m[7m [m[7m [6;1H[3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7mtest37.in [13;1H[12;1H[m[17;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
[?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/list.o list.c
[?25l6[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l7[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST horizontal scrolling
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt+=hor
[?25l[22;1H[?12l[?25h[?25l[18;1H[K[19;1H0[7C5 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
1[7C5 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[18;1H[?12l[?25h[?25l[18;22r[18;1H[4M[1;24r[19;1H4 line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
5 line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[24;1H[K[22;1H[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[1;1H 1[1;3H[K[2;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01[2;35H[K[3;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[3;35H[K[4;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[4;35H[K[5;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[5;35H[K[6;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[6;35H[K[7;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06[7;35H[K[8;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07[8;35H[K[10;1H 2[10;3H[K[11;1HUTSRQPONMLKJIHGREDCBA9876543210 01[11;35H[K[12;1HUTSRQPONMLKJIHGREDCBA9876543210 02[12;35H[K[13;1HUTSRQPONMLKJIHGREDCBA9876543210 03[13;35H[K[14;1HUTSRQPONMLKJIHGREDCBA9876543210 04[14;35H[K[15;1HUTSRQPONMLKJIHGREDCBA9876543210 05[15;35H[K[16;1HUTSRQPONMLKJIHGREDCBA9876543210 06[16;35H[K[3;1H[?12l[?25h[9;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[17;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[mUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[?25l[m[1;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09[2;33H10[3;33H11[4;33H12[5;33H13[6;33H14[7;33H15[8;1H[K[10;1HUTSRQPONMLKJIHGREDCBA9876543210 09[11;33H10[12;33H11[13;33H12[14;33H13[15;33H14[16;33H15[13;1H[?12l[?25h[?25l[1;1H. 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[12;1H[?12l[?25h[?25l[?12l[?25h[17;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l[18;22r[22;1H
[1;24r[24;1H[K[22;1H[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;16H
[9;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt-=hor
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" ****** tests using two different buffers *****
[?25l[22;1H[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7mtest37.in [12;1H[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[9;1H[K[10;1H[K[11;1Hstart of window 2[11;18H[K[12;8H0[39C0[13;8H0[39C0[14;8H0[39C0[15;8H0[39C0[16;8H0[39C0[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noscrollbind
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start of window 2$/,/^end of window 2$/y
[?25l18 lines yanked[24;16H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[8;1H[7mtest37.in [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [m[17;1H[1m[7m[No Name] [9;1H[?12l[?25h[8;1Htest37.in [m[17;1H[7m[No Name][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [9;1H[?25l[m[24;1H4 more lines[10;1H[K[11;1H[K[12;1H[K[13;1H[K[17;11H[1m[7m[+][10;1H[?12l[?25h
[?25l[m[24;1H18 more lines[14;1Hstart of window 2[14;18H[K[15;1H. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01[15;50H[K[16;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[16;50H[K[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[14;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[24;1H[K[24;1H/[?12l[?25h^start of window 1$/
[?25l[24;21H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[m[1;1HENDTEST[1;8H[K[2;1H[K[3;1H[K[4;1Hstart of window 1[4;18H[K[5;8H01[38C01[6;8H02[38C02[7;8H03[38C03[4;1H[?12l[?25h[?25l[1;7r[7;1H
[1;24r[7;1H. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollbind
[?25l[3;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [14;1H[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of window 2$/
[?25l[24;21H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[14;1H[?12l[?25h[?25l[9;16r[m[9;1H[3M[1;24r[14;1H. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04
. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[24;1H[K[11;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollbind
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" -- start of tests --
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST scrolling down
[?25l[11;1H[?12l[?25h
[?25l[1;7r[1;1H[5M[1;24r[3;1H. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07
. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08
. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09[9;16r[9;1H[5M[1;24r[12;1H. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07
. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08
. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09
. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10[24;1H[K[14;1H[?12l[?25h[11;1H[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
[?12l[?25h[?25l0[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
[?12l[?25h[?25l1[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H
[?25l[1;7r[m[1;1H[6M[1;24r[2;1H. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10
. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12
. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13
. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14
. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15[9;16r[9;1H[6M[1;24r[11;1H. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13
. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[5;1H[?12l[?25h[3;1H[8;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
[?12l[?25h[?25l2[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[17;1H[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
[?12l[?25h[?25l3[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST scrolling up
[?25l[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[1;9H4[39C4[2;8H05[38C05[3;8H06[38C06[4;8H07[38C07[5;8H08[38C08[6;8H09[38C09[7;9H0[39C0[9;16r[9;1H[5L[1;24r[9;1H. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04
. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07
. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08[24;1H[K[4;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [14;1H[11;1H[8;1Htest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [4;1H[3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
[?12l[?25h[?25l4[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[17;1H[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
[?12l[?25h[?25l5[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[?25l[1;7r[m[1;1H[4L[1;24r[1;1Hstart of window 1
. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[9;16r[9;1H[4L[1;24r[9;1Hstart of window 2
. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01
. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [12;1H[11;1H[m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
[?12l[?25h[?25l6[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l7[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST horizontal scrolling
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt+=hor
[?25l[22;1H[?12l[?25h[?25l[18;1H[K[19;1H0[7C5 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
1[7C5 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[18;1H[?12l[?25h[?25l3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
4[7C6 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
5[7C6 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l[18;22r[22;1H
[1;24r[24;1H[K[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[1;1H 1[1;3H[K[2;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01[2;35H[K[3;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[3;35H[K[4;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[4;35H[K[5;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[5;35H[K[6;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[6;35H[K[7;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06[7;35H[K[9;1H 2[9;3H[K[10;1HUTSRQPONMLKJIHGREDCBA9876543210 01[10;35H[K[11;1HUTSRQPONMLKJIHGREDCBA9876543210 02[11;35H[K[12;1HUTSRQPONMLKJIHGREDCBA9876543210 03[12;35H[K[13;1HUTSRQPONMLKJIHGREDCBA9876543210 04[13;35H[K[14;1HUTSRQPONMLKJIHGREDCBA9876543210 05[14;35H[K[15;1HUTSRQPONMLKJIHGREDCBA9876543210 06[15;35H[K[16;1HUTSRQPONMLKJIHGREDCBA9876543210 07[16;35H[K[3;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[17;1H[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[mUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[?25l[m[1;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09[2;33H10[3;33H11[4;33H12[5;33H13[6;33H14[7;33H15
UTSRQPONMLKJIHGREDCBA9876543210 09[10;33H10[11;33H11[12;33H12[13;33H13[14;33H14[15;33H15[16;33H16[12;1H[?12l[?25h[?25l[1;1H. 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[11;1H[?12l[?25h[?25l[?12l[?25h[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l[18;22r[22;1H
[1;24r[24;1H[K[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;16H
[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt-=hor
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST syncbind
[?25l[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset noscb
[?25l[3;1H[?12l[?25h[?25l[1;1HTest for 'scrollbind'. <eralston@computer.org> Do not add a line below!
STARTTEST[2;11H[K[3;1H:so small.vim[3;14H[K[4;1H:set noscrollbind[4;18H[K[5;1H:set scrollopt=ver,jump[5;24H[K[6;1H:set scrolloff=2[6;17H[K[7;1H:set nowrap[7;12H[K[1;1H[?12l[?25h[5;1H
[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset noscb
[?25l[11;1H[?12l[?25h[?25l[9;1H[K[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1Hstart of window 2[14;18H[K[15;8H01[38C01[16;8H02[38C02[9;1H[?12l[?25h[14;1H[?25l[24;1H[K[24;1H:[?12l[?25hset scb
[?25l[14;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset scb
[?25l[5;1H[?12l[?25h[?25l[1;1H. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13[1;50H[K[2;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
end of window 2[5;16H[K[6;1H[K[7;1Hend of test37.in (please don't delete this line)
end of window 2
[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [7;1H[?12l[?25h[?25l[m[1;1Hzt:[1;4H[K[2;1H:set scrollbind[2;16H[K[3;1H:" -- start of tests --[3;24H[K[4;1H:" TEST scrolling down[4;23H[K[5;1HL5jHyy[34m^W[mbpr0[34m^W[mtHyy[34m^W[mbpr1[34m^W[mtL6jHyy[34m^W[mbpr2[34m^W[mkHyy[34m^W[mbpr3:
:" TEST scrolling up
[34m^W[mtH4k[34m^W[mjH[34m^W[mtHyy[34m^W[mbpr4[34m^W[mkHyy[34m^W[mbpr5[34m^W[mk3k[34m^W[mtH[34m^W[mjHyy[34m^W[mbpr6[34m^W[mtHyy[34m^W[mbpr7:
[7mtest37.in[m[1m[7m [m[7m [9;16r[m[9;1H[2L[1;24r[9;1H. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[17;1H[1m[7m[No Name] [+] [m[24;1H[K[11;1H[?12l[?25h[?25l[24;1H:[?12l[?25hsyncbind
[?25l[11;1H[?12l[?25h[?25l[1;7r[1;1H[L[1;24r[1;1H/^start of window 2$/[9;16r[9;1H[L[1;24r[9;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[24;1H[K[11;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H:set scrollbind
[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset noscb
[?25l[3;1H[?12l[?25h[?25l[1;1HTest for 'scrollbind'. <eralston@computer.org> Do not add a line below!
STARTTEST
:so small.vim[3;14H[K[4;2Hset noscrollbind[4;18H[K[5;2Hset scrollopt=ver,jump
:set scrolloff=2[6;17H[K[7;2Hset nowrap[7;12H[K[1;1H[?12l[?25h[5;1H
[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset noscb
[?25l[11;1H[?12l[?25h[?25l[9;1H[K[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1Hstart of window 2[14;18H[K[15;1H. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01[15;50H[K[16;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[16;50H[K[9;1H[?12l[?25h[14;1H[?25l[24;1H[K[24;1H:[?12l[?25hset scb
[?25l[14;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset scb
[?25l[5;1H[?12l[?25h[?25l[1;1H. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13[1;50H[K[2;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
end of window 2[5;16H[K[6;1H[K[7;1Hend of test37.in (please don't delete this line)
end of window 2
[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [7;1H[?12l[?25h[?25l[m[1;1Hzt:[1;4H[K[2;1H:set scrollbind[2;16H[K[3;1H:" -- start of tests --[3;24H[K[4;1H:" TEST scrolling down[4;23H[K[5;1HL5jHyy[34m^W[mbpr0[34m^W[mtHyy[34m^W[mbpr1[34m^W[mtL6jHyy[34m^W[mbpr2[34m^W[mkHyy[34m^W[mbpr3:
:" TEST scrolling up
[34m^W[mtH4k[34m^W[mjH[34m^W[mtHyy[34m^W[mbpr4[34m^W[mkHyy[34m^W[mbpr5[34m^W[mk3k[34m^W[mtH[34m^W[mjHyy[34m^W[mbpr6[34m^W[mtHyy[34m^W[mbpr7:
[7mtest37.in[m[1m[7m [m[7m [9;16r[m[9;1H[2L[1;24r[9;1H. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[17;1H[1m[7m[No Name] [+] [m[24;1H[K[11;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[?25l[24;1H[m:[?12l[?25hsyncbind
[?25l[5;1H[?12l[?25h[3;1H[?25l[1;7r[1;1H[L[1;24r[1;1H/^start of window 2$/[9;16r[9;1H[L[1;24r[9;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[24;1H[K[3;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [12;1H[11;1H[8;1Htest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H:set scrollbind
[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[1;7r[m[1;1H[4L[1;24r[1;1Hzt:
:set scrollbind
[34m^W[mj:
:resize 7[9;16r[9;1H[4L[1;24r[9;1H. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10
. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13[24;1H[K[4;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [15;1H[11;1H[8;1Htest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [4;1H[3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H[34m^W[mj:
[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" ***** done with tests *****
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 33 lines, 1329 characters written[23;1H[1m[7mtest.out] [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test38.in" 35 lines, 455 characters[2;1HTest Virtual replace mode.
STARTTEST
:so small.vim
:" make sure that backspace works, no matter what termcap is used
:set t_kD=[34m^V[mx7f t_kb=[34m^V[mx08
ggdGa
abcdefghi
jk lmn
opq rst
[34m^D[muvwxyz
[34m^[[mgg:set ai
:set bs=2
gR0[34m^D[m 1
A
BCDEFGHIJ[18;9HKL
MNO
PQR[34m^[[mG:ka
o0[34m^D[m
abcdefghi
jk lmn[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 29 lines, 407 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[11M[1;24r[13;5Hopq rst
[34m^D[muvwxyz
[34m^[[m'ajgR0[34m^D[m 1
A
BCDEFGHIJ[18;9HKL
MNO
PQR[34m^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^[[m:$
iab cdefghi jkl[34m^[[m0gRAB......CDEFGHI.J[34m^[[mo[34m^[[m:
iabcdefghijklmnopqrst[34m^[[m0gRAB IJKLMNO QR[34m^[[m:wq! test.out
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make sure that backspace works, no matter what termcap is used
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset t_kD=^[34m^?[m t_kb=^[34m^H
[?25l[27m[23m[m[H[2J[1;1H[34m^[[mgg:set ai
:set bs=2
gR0[34m^D[m 1
A
BCDEFGHIJ[6;9HKL
MNO
PQR[34m^[[mG:ka
o0[34m^D[m
abcdefghi
jk lmn
opq rst
[34m^D[muvwxyz
[34m^[[m'ajgR0[34m^D[m 1
A
BCDEFGHIJ[17;9HKL
MNO
PQR[34m^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^[[m:$
iab cdefghi jkl[34m^[[m0gRAB......CDEFGHI.J[34m^[[mo[34m^[[m:
iabcdefghijklmnopqrst[34m^[[m0gRAB IJKLMNO QR[34m^[[m:wq! test.out
ENDTEST
[?12l[?25h[?25l[1;23r[1;1H[12L[1;24r[2;1HTest Virtual replace mode.
STARTTEST
:so small.vim
:" make sure that backspace works, no matter what termcap is used
:set t_kD=[34m^V[mx7f t_kb=[34m^V[mx08
ggdGa
abcdefghi
jk lmn
opq rst
[34m^D[muvwxyz[1;1H[?12l[?25h[?25l
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l
abcdefghi[2;10H[K[3;1Hjk lmn[3;12H[K[4;1H opq rst[4;12H[K[5;1Huvwxyz[5;7H[K[6;1H[K[6;1H[?12l[?25h[1;1H[?25l[24;1H[K[24;1H:[?12l[?25hset ai
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bs=2
[?25l[1;1H[?12l[?25h[?25l 1
A[2;3H[K[3;1H BCDEFGHIJ[3;11H[K[4;5H KL[4;11H[K[5;1H MNO[6;9HPQR[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hka
[?25l[6;9H[?12l[?25h[?25l[7;1H[K[8;1Habcdefghi[8;10H[K[9;1Hjk lmn[9;12H[K[10;1H opq rst[10;12H[K[11;1Huvwxyz[11;7H[K[12;1H[K[12;1H[?12l[?25h[6;9H
[?25l 1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$
[?25l[12;1H[?12l[?25h[?25lab cdefghi jkl[?12l[?25h
[?25lAB......CDEFGHI.J[?12l[?25h[?25l[13;1H[K[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25labcdefghijklmnopqrst[?12l[?25h
[?25lAB IJKLMNO QR[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test39.in" 118 lines, 2435 characters[2;1HTest Visual block mode commands
And test "U" in Visual mode, also on German sharp S.
#define BO_ALL 0x0001
#define BO_BS[7C0x0002
#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[34m^V[mjj>wll[34m^V[mjlll>
:" Test shift-left of a block
G$hhhh[34m^V[mkk<
:" Test block-insert
Gkl[34m^V[mkkkIxyz[34m^[[m
:" Test block-replace
Gllll[34m^V[mkkklllrq
:" Test block-change[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 75 lines, 2061 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[10;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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!
ENDTEST[14;17Hline1[15;17Hline2[16;17Hline3
aaaaaa
bbbbbb
cccccc
dddddd
xaaa[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" This only works when 'encoding' is "latin1", don't depend on the environment
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=latin1
[?25l[27m[23m[m[H[2J[1;1H: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!
ENDTEST[14;17Hline1[15;17Hline2[16;17Hline3
aaaaaa
bbbbbb
cccccc
dddddd
xaaa[13;1H[?12l[?25h[?25l[24;1H/[?12l[?25h^abcde
[?25l[1;23r[1;1H[18M[1;24r[6;1Hbbbb
cccc
dddd
yaaa
bbb
A23
4567
B23
4567
C23
4567
abcdefghijklm[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" Test shift-right of a block
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Habcdefghijklm[24;1H[K[23;1H[?12l[?25habcd[?25l[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5H[7me[m
abcdefghijklm
abcd[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5H[7me[m
abcdefghijklm
abcd[?12l[?25h[?25l
3 lines >ed 1 time[21;5H efghijklm
abcd efghijklm
abcd efghijklm[21;8H[?12l[?25h ef[?25l[?12l[?25h[?25l[7mg[22;15H[?12l[?25h[?25l[21;16Hh[22;15Hg[?12l[?25h[?25l[21;17Hi[22;16Hh[?12l[?25h[?25l[21;18Hj[22;17Hi[?12l[?25h[?25l[m[21;15H ghijklm[22;15H ghijklm[21;16H[?12l[?25h[22;16H[?25l[24;1H[K[24;1H:[?12l[?25h" Test shift-left of a block
[?25l[22;16H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Habcdefghijklm[24;1H[K[23;1H[?12l[?25h[12C[?25l[?12l[?25h[?25l[7mi[22;9H[?12l[?25h[?25l [21;9H[?12l[?25h[?25l[m
3 lines <ed 1 time[21;9Hef [22;9Hefghijklm[22;18H[K[23;9Hi[21;9H[?12l[?25h[22;9H[?25l[24;1H[K[24;1H:[?12l[?25h" Test block-insert
[?25l[22;9H[?12l[?25h
[22;1Ha[?25l[?12l[?25h[?25l[7mb[21;2H[?12l[?25h[?25lb[20;2H[?12l[?25h[?25lb[19;2H[?12l[?25h[?25l[m
ab
ab
ab[19;2Hxyzbcdefghijklm
axyzbcd
axyzbcd
axyzbcd[19;2H[?12l[?25h
a[?25l[24;1H[K[24;1H:[?12l[?25h" Test block-replace
[?25l[20;2H[?12l[?25h
abcd[?25l[?12l[?25h[?25l[7me[22;5H[?12l[?25h[?25lb[21;5H[?12l[?25h[?25lb[20;5H[?12l[?25h[?25lb[21;6Hc[22;6Hc[23;6Hf[20;6H[?12l[?25h[?25lc[21;7Hd[22;7Hd[23;7Hg[20;7H[?12l[?25h[?25ld[21;8H [22;8H [23;8Hh[20;8H[?12l[?25h[?25l[mqqqq
axyzqqqq
axyzqqqq
abcdqqqq[20;5H[?12l[?25h
axyz[?25l[24;1H[K[24;1H:[?12l[?25h" Test block-change
[?25l[21;5H[?12l[?25h
[12C[22;17H[?25l[?12l[?25h[?25l[7mj[?12l[?25h[?25li[?12l[?25h[?25l[21;12H [22;11Hghijkl[21;11H[?12l[?25h[?25l[20;13Hef[m[21;15H [22;11Hg[3Ckl[20;12H[?12l[?25h[?25lmno[21;12Hmno[22;12Hmno[20;14H[?12l[?25h[21;14H[?25l[24;1H[K[24;1H:[?12l[?25h$-4,$w! test.out
[?25l"test.out" [24;12H[Kgcc -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
[24;12H[New File] 5 lines, 108 characters written[21;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test block-insert using cursor keys for movement
[?25l[21;14H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^aaaa/
[?25l[24;7H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[1;23r[m[1;1H[5L[1;24r[1;1Haaaaaa
bbbbbb
cccccc
dddddd[24;1H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexe ":norm! l\<C-V>jjjlllI\<Right>\<Right> \<Esc>"
[?25l[1;4H aaa
bbb bbb
ccc ccc
ddd ddd[1;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^aa/,/^$/w >> test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H5 lines, 37 characters appended[1;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hxaaa$/
[?25l[24;7H[K[24;1H[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! \<C-V>jjjI<>\<Left>p\<Esc>"
[?25l[6;1H<p>xaaa
<p>bbbb
<p>cccc
<p>dddd[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/xaaa$/,/^$/w >> test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H5 lines, 33 characters appended[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block was created with the last <C-v>$
[?25l[6;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^A23$/
[?25l[24;7H[K[24;1H[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! l\<C-V>j$Aab\<Esc>"
[?25l[15;4Hab
4567ab[15;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" [24;13H[K[24;12H3 lines, 14 characters appended[15;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block was created with the middle <C-v>$ (1)
[?25l[15;2H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^B23$/
[?25l[24;7H[K[24;1H[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! l\<C-V>j$hAab\<Esc>"
[?25l[18;5Hab
4567ab[18;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" [24;13H[K[24;12H3 lines, 15 characters appended[18;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block was created with the middle <C-v>$ (2)
[?25l[18;2H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^C23$/
[?25l[24;7H[K[24;1H[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! l\<C-V>j$hhAab\<Esc>"
[?25l[21;4Hab
456ab7[21;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" [24;13H[K[24;12H3 lines, 14 characters appended[21;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block insert when virtualedit=all and utf-8 encoding
[?25l[21;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=all enc=utf-8
[?25l[27m[23m[m[H[2J[1;1Haaa aaa
bbb bbb
ccc ccc
ddd ddd
<p>xaaa
<p>bbbb
<p>cccc
<p>dddd
yaaa
[34m<bf><bf><bf>[m
bbb
A23ab
4567ab
B23 ab
4567ab
C23ab
456ab7[21;2H[?12l[?25h[?25l
:[?12l[?25h/\t\tline
[?25l[31msearch hit BOTTOM, continuing at TOP[1;23r[m[1;1H[4L[1;24r[1;17Hline1[2;17Hline2[3;17Hline3[24;1H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[1;17H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexe ":norm! 07l\<C-V>jjIx\<Esc>"
[?25l[1;8Hx[2;8Hx[3;8Hx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" [24;13H[K[24;12H4 lines, 49 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block append when virtualedit=all
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! 012l\<C-v>jjAx\<Esc>"
[?25l[1;14Hx line1[2;14Hx line2[3;14Hx line3[1;10H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve= enc=latin1
[?25l[27m[23m[m[H[2J[1;8Hx x line1[2;8Hx x line2[3;8Hx x line3
aaa aaa
bbb bbb
ccc ccc
ddd ddd
<p>xaaa
<p>bbbb
<p>cccc
<p>dddd
yaaa
bbb
A23ab
4567ab
B23 ab
456ab7
axyzbcdefghijklm
axyzqqqq mno[8Cghijklm
axyzqqqqef mno[8Cghijklm
axyzqqqqefgmnoklm
abcdqqqqijklm[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
the [?25l
:[?12l[?25h" VU must uppercase a whole line
[?25l[23;4H[?12l[?25h[?25l[1;23r[23;1H
[?25l
:[?12l[?25h" same, when it's the last line in the buffer
[?25l[23;1H[?12l[?25h[?25l[?12l[?25h[?25l[1;23r[23;1H
[?25l
:[?12l[?25h" Uppercase two lines
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1Hblah di[22;8H[K[23;1Hdoh dut[24;1H[K[23;7H[?12l[?25h[?25l
[7mdoh du[mt[7m [?12l[?25h[?25l[22;1Hblah d[mi[7m [23;7Ht[22;7H[?12l[?25h[?25l[m
BLAH DI[22;8H[K[23;1HDOH DUT[23;8H[K[22;7H[?12l[?25h[23;7H[?25l[1;23r[23;1H
:[?12l[?25h" Uppercase part of two lines
[?25l[23;7H[?12l[?25h[?25l
[1m[34m~ [22;1H[?12l[?25h[?25l[m
333the yo[?12l[?25h[?25lut[?12l[?25h[?25l[m[22;10HUTUSSEUU END
333THE YOUTU[22;10H[?12l[?25h[21;7H[22;10H[?25l
:[?12l[?25h" visual replace using Enter or NL
[?25l[22;10H[?12l[?25h
[?25l[1;23r[1;1H[3M[1;24r[21;1H123456789
123456789
123456789[24;1H[K[23;9H[?12l[?25h[21;9H
12345[?25l[?12l[?25h[?25l[7m6[22;6H6[23;6H[?12l[?25h[?25l[m[21;6H[K[22;1H789[22;4H[K[23;6H[K[21;5H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1H789
12345
789
[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1H98765
98765
98765[?12l[?25h[21;5H
98[?25l[?12l[?25h[?25l[7m7
[m98[7m7
[m98[?12l[?25h[?25l[21;3H[34m^M[m65
98[34m^M[m65
98[34m^M[m65[21;3H[?12l[?25h
98
[?25l[1;23r[1;1H[3M[1;24r[21;1H123456789
123456789
123456789[?12l[?25h[21;9H
12345[?25l[?12l[?25h[?25l[7m6[22;6H6[23;6H[?12l[?25h[?25l[m[21;6H[K[22;1H789[22;4H[K[23;6H[K[21;5H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1H789
12345
789
[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1H98765
98765
98765[?12l[?25h[21;5H
98[?25l[?12l[?25h[?25l[7m7
[m98[7m7
[m98[?12l[?25h[?25l[21;3H[34m^@[m65
98[34m^@[m65
98[34m^@[m65[21;3H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test cursor position. When ve=block and Visual block mode and $gj
[?25l[21;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=block
[?25l[21;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! 2k\<C-V>$gj\<Esc>"
[?25l[20;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet cpos=getpos("'>")
[?25l[20;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='col:'.cpos[2].' off:'.cpos[3]
[?25l[1;23r[23;1H
[1;24r[23;1Hcol:4 off:0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" block_insert when replacing spaces in front of the block with tabs
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ts=8 sts=4 sw=4
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h4,7y
[?25l4 lines yanked[23;1H[?12l[?25h[?25l
4 more lines[24;13H[K[1;23r[23;1H
[1;24r[24;1H[K[24;1H4 more lines[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H#define BO_ALL 0x0001[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hexe ":norm! f0\<C-V>2jI\<tab>\<esc>"
[?25l[1;23r[1;1H[2M[1;24r[21;21H 0x0001
#define BO_BS[11C0x0002
#define BO_CRSR[9C0x0004[24;1H[K[21;24H[?12l[?25h[?25l
:[?12l[?25h/^the/,$w >> test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H31 lines, 322 characters appended[21;24H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test40.in" 63 lines, 1536 characters[1;1HTest for "*Cmd" autocommands
STARTTEST
:so small.vim
:/^start/,$w! Xxx[15C" write lines below to Xxx
:au BufReadCmd XtestA 0r Xxx|$del
:e XtestA[23C" will read text of Xxd instead
:au BufWriteCmd XtestA call append(line("$"), "write")
:w[30C" will append a line to the file
:r XtestA[23C" should not read anything
:[31C" now we have:
:[31C" 1 start of Xxx
:[31C" 2[13Ctest40
:[31C" 3 end of Xxx
:[31C" 4 write
:au FileReadCmd XtestB '[r Xxx
:2r XtestB[22C" will read Xxx below line 2 instead
:[31C" 1 start of Xxx
:[31C" 2[13Ctest40
:[31C" 3 start of Xxx
:[31C" 4[13Ctest40
:[31C" 5 end of Xxx
:[31C" 6 end of Xxx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for "*Cmd" autocommands[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[Kgcc -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
[24;11H[New File] 55 lines, 1455 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$w >>test.out[18C" append "end of Xxx" to test.out
:au BufReadCmd XtestE 0r test.out|$del
:sp XtestE[22C" split window with test.out
5Goasdf[34m^[^W^W[m:"
:au BufWriteCmd XtestE w! test.out
:wall[27C" will write other window to test.out
:[31C" 1 start of Xxx
:[31C" 2[13Ctest40
:[31C" 3 start of Xxx
:[31C" 4[13Ctest401
:[31C" 5 end of Xxx
:[31C" 6 asdf
:[31C" 7 end of Xxx
:[31C" 8 write
:[31C" 9[13Ctest401
:[31C" 10 end of Xxx
:[31C" 11 end of Xxx
:qa!
ENDTEST
start of Xxx[22;9Htest40
end of Xxx[19;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start/,$w! Xxx[34m^I^I[m" write lines below to Xxx
[?25l"Xxx" [24;7H[K[24;7H[New File] 3 lines, 32 characters written[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadCmd XtestA 0r Xxx|$del
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he XtestA[34m^I^I^I[m" will read text of Xxd instead
[?25l"Xxx" [24;7H[K[24;7H3 lines, 32 characters[1;1Hstart of Xxx[1;13H[K[2;1H test40[2;16H[K[3;1Hend of Xxx[3;33H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau BufWriteCmd XtestA call append(line("$"), "write")
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw[34m^I^I^I^I[m" will append a line to the file
[?25l[4;1Hwrite[4;6H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hr XtestA[34m^I^I^I[m" should not read anything
[?25l[1m[37m[41mE484: Can't open file XtestA[m[24;29H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" now we have:
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 1[34m^I[mstart of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 2[34m^I^I[mtest40
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 3[34m^I[mend of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 4[34m^I[mwrite
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileReadCmd XtestB '[r Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h2r XtestB[34m^I^I^I[m" will read Xxx below line 2 instead
[?25l"Xxx" [24;7H[K[24;7H3 lines, 32 characters[3;23r[3;1H[3L[1;24r[3;1Hstart of Xxx[4;9Htest40
end of Xxx[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[34m^I^I^I^I[m" 1[34m^I[mstart of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 2[34m^I^I[mtest40
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 3[34m^I[mstart of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 4[34m^I^I[mtest40
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 5[34m^I[mend of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 6[34m^I[mend of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 7[34m^I[mwrite
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileWriteCmd XtestC '[,']copy $
[?25l[3;1H[?12l[?25h[4;9H[?25ltest401[?12l[?25h[5;10H[?25l[24;1H[K[24;1H:[?12l[?25h4,5w XtestC[34m^I^I^I[m" will copy lines 4 and 5 to the end
[?25l[8;1H test401[8;16H[K[9;1Hend of Xxx[9;11H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hr XtestC[34m^I^I^I[m" should not read anything
[?25l[1m[37m[41mE484: Can't open file XtestC[m[24;29H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 1[34m^I[mstart of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 2[34m^I^I[mtest40
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 3[34m^I[mstart of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 4[34m^I^I[mtest401
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 5[34m^I[mend of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 6[34m^I[mend of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 7[34m^I[mwrite
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 8[34m^I^I[mtest401
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 9[34m^I[mend of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FILEAppendCmd XtestD '[,']w! test.out
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XtestD[34m^I^I^I[m" will write all lines to test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 9 lines, 91 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XtestD[34m^I^I^I[m" should not read anything
[?25l[1m[37m[41mE484: Can't open file XtestD[m[24;30H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w >>test.out[34m^I^I^I[m" append "end of Xxx" to test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadCmd XtestE 0r test.out|$del
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp XtestE[34m^I^I^I[m" split window with test.out
[?25l"test.out" [24;12H[K[24;12H10 lines, 102 characters[10;1Hend of Xxx[10;11H[K[12;1H[1m[7mXtestE [m[13;1Hend of Xxx[13;11H[K[14;1Hwrite[14;6H[K[15;1H test401[15;16H[K[16;1Hend of Xxx[16;11H[K[23;1H[7mXtestA [10;1H[?12l[?25h[5;1H[?25l[6;11r[m[6;1H[L[1;24r[6;1Hasdf[12;8H[1m[7m[+][m[24;1H[K[6;4H[?12l[?25h[12;1H[7mXtestE [+][m[1m[7m [m[7m [m[23;1H[1m[7mXtestA [16;1H[?25l[24;1H[m:[?12l[?25h"
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufWriteCmd XtestE w! test.out
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwall[34m^I^I^I^I[m" will write other window to test.out
[?25l"test.out" [24;12H[K[24;12H11 lines, 107 characters written[12;8H[7m [16;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 1[34m^I[mstart of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 2[34m^I^I[mtest40
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 3[34m^I[mstart of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 4[34m^I^I[mtest401
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 5[34m^I[mend of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 6[34m^I[masdf
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 7[34m^I[mend of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 8[34m^I[mwrite
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 9[34m^I^I[mtest401
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 10[34m^I[mend of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 11[34m^I[mend of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test41.in" 24 lines, 421 characters[1;1HTest 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[34m^[[mkY3000p2GY3000p
:w! Xtest
:%d
:e! Xtest
:.w! test.out
3003G:.w >>test.out
6005G:.w >>test.out
:qa!
ENDTEST[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for writing and reading a file of over 100 Kbyte[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 13 lines, 196 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[10;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%d
[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25lThis is the start
This is the leader[2;19H[K[3;1HThis is the middle[3;19H[K[4;1HThis is the trailer[4;20H[K[5;1HThis is the end[5;16H[K[5;15H[?12l[?25h[4;15H[?25l[24;1H3000 more lines[24;16H[K[5;13Htrailer
This is the trailer[6;20H[K[7;1HThis is the trailer[7;20H[K[8;1HThis is the trailer[8;20H[K[9;1HThis is the trailer[9;20H[K[10;1HThis is the trailer[10;20H[K[11;1HThis is the trailer[11;20H[K[12;1HThis is the trailer[12;20H[K[13;1HThis is the trailer[13;20H[K[14;1HThis is the trailer[14;20H[K[15;1HThis is the trailer[15;20H[K[16;1HThis is the trailer[16;20H[K[17;1HThis is the trailer[17;20H[K[18;1HThis is the trailer[18;20H[K[19;1HThis is the trailer[19;20H[K[20;1HThis is the trailer[20;20H[K[21;1HThis is the trailer[21;20H[K[22;1HThis is the trailer[22;20H[K[23;1HThis is the trailer[23;20H[K[5;1H[?12l[?25h[2;1H[?25l[3;13Hleader[4;13Hleader[4;19H[K[5;13Hleader[5;19H[K[6;13Hleader[6;19H[K[7;13Hleader[7;19H[K[8;13Hleader[8;19H[K[9;13Hleader[9;19H[K[10;13Hleader[10;19H[K[11;13Hleader[11;19H[K[12;13Hleader[12;19H[K[13;13Hleader[13;19H[K[14;13Hleader[14;19H[K[15;13Hleader[15;19H[K[16;13Hleader[16;19H[K[17;13Hleader[17;19H[K[18;13Hleader[18;19H[K[19;13Hleader[19;19H[K[20;13Hleader[20;19H[K[21;13Hleader[21;19H[K[22;13Hleader[22;19H[K[23;13Hleader[23;19H[K[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest
[?25l"Xtest" [24;9H[K[24;9H[New File] 6005 lines, 117092 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%d
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest
[?25l"Xtest" [24;9H[K[24;9H6005 lines, 117092 characters[1;1HThis is the start
This is the leader[2;19H[K[3;1HThis is the leader[3;19H[K[4;1HThis is the leader[4;19H[K[5;1HThis is the leader[5;19H[K[6;1HThis is the leader[6;19H[K[7;1HThis is the leader[7;19H[K[8;1HThis is the leader[8;19H[K[9;1HThis is the leader[9;19H[K[10;1HThis is the leader[10;19H[K[11;1HThis is the leader[11;19H[K[12;1HThis is the leader[12;19H[K[13;1HThis is the leader[13;19H[K[14;1HThis is the leader[14;19H[K[15;1HThis is the leader[15;19H[K[16;1HThis is the leader[16;19H[K[17;1HThis is the leader[17;19H[K[18;1HThis is the leader[18;19H[K[19;1HThis is the leader[19;19H[K[20;1HThis is the leader[20;19H[K[21;1HThis is the leader[21;19H[K[22;1HThis is the leader[22;19H[K[23;1HThis is the leader[23;19H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 18 characters written[1;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HThis 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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 19 characters appended[12;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HThis 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" [24;12H[K[24;12H1 line, 16 characters appended[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test42.in" 130 lines, 2368 characters[1;1HTest 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[11C" 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[22C" Ignore change from setting 'ff'
o[34m^V^@^[[m:set noeol
:w
:set ffs& nobinary[14C" Allow default test42.in format
:e #
:set ff=unix[20C" Format for files to write
:/^ucs-4$/+1w! Xtest5
:/^ucs-4le$/+1w! Xtest6[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for writing and reading a file starting with a BOM[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 111 lines, 2116 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:e! test.out
:$r Xtest0x
:$r Xtest1x
:$r Xtest2x
:$r Xtest3x
:$r Xtest4x
:$r Xtest5x
:$r Xtest6x
:set nobin ff&[15C" Write the file in default format
:w! test.out
:qa!
ENDTEST
latin-1
utf-8
utf-8
utf-8-err
utf-8[34m~@[merr
ucs-2
ucs-2le
[?25l[24;1H[m:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1H:e! test.out
:$r Xtest0x
:$r Xtest1x
:$r Xtest2x
:$r Xtest3x
:$r Xtest4x
:$r Xtest5x
:$r Xtest6x
:set nobin ff&[15C" Write the file in default format
:w! test.out
:qa!
ENDTEST
latin-1
[34m<fe><fe>[mlatin-1
utf-8
[34m<feff>[mutf-8
utf-8-err
[34m<feff>[mutf-8[34m<80>[merr
ucs-2
[34m<fe><ff>^@[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[m
ucs-2le
[34m<ff><fe>[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[13;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hset fileencodings=ucs-bom,latin-1
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff=unix ffs=unix " This changes the file for DOS and MAC
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Write the test files
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^latin-1$/+1w! Xtest0
[?25l"Xtest0" [24;10H[K[24;10H[New File] 1 line, 10 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^utf-8$/+1w! Xtest1
[?25l"Xtest1" [24;10H[K[24;10H[New File] 1 line, 9 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^utf-8-err$/+1w! Xtest2
[?25l"Xtest2" [24;10H[K[24;10H[New File] 1 line, 13 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^ucs-2$/+1w! Xtest3
[?25l"Xtest3" [24;10H[K[24;10H[New File] 1 line, 14 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^ucs-2le$/+1w! Xtest4
[?25l"Xtest4" [24;10H[K[24;10H[New File] 1 line, 17 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Need to add a NUL byte after the NL byte
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest4 " Ignore change from setting 'ff'
[?25l"Xtest4" [24;10H[K[24;10H1 line, 17 characters[1;1H[34m<ff><fe>[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[m
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h
[?25l[m[34m^@[m[2;3H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noeol
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xtest4" [Incomplete last line] 2 lines, 18 characters written[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ffs& nobinary " Allow default test42.in format
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he #
[?25l"test42.in" [converted] 130 lines, 2385 characters[1;1H:$r Xtest0x[1;12H[K[2;1H:$r Xtest1x
:$r Xtest2x[3;12H[K[4;1H:$r Xtest3x[4;12H[K[5;1H:$r Xtest4x[5;12H[K[6;1H:$r Xtest5x[6;12H[K[7;1H:$r Xtest6x[7;12H[K[8;1H:set nobin ff& " Write the file in default format[8;64H[K[9;1H:w! test.out[9;13H[K[10;1H:qa![10;5H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1Hlatin-1[13;8H[K[14;1Hþ[14;2Hþ[14;3Hlatin-1[14;10H[K[15;1Hutf-8[15;6H[K[16;1H[16;4Hutf-8[16;9H[K[17;1Hutf-8-err[17;10H[K[18;1H[18;4Hutf-8[34m<80>[merr[18;16H[K[19;1Hucs-2[19;6H[K[20;1Hþ[20;2Hÿ[34m^@[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[m[20;20H[K[21;1Hucs-2le[21;8H[K[22;1Hÿþ[22;3Hu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[m[22;24H[K[23;1Hucs-4[23;6H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff=unix " Format for files to write
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^ucs-4$/+1w! Xtest5
[?25l"Xtest5" [24;10H[K[24;10H[converted][New File] 1 line, 30 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^ucs-4le$/+1w! Xtest6
[?25l"Xtest6" [24;10H[K[24;10H[converted][New File] 1 line, 35 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Need to add three NUL bytes after the NL byte
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest6 " ! for when setting 'ff' is a change
[?25l"Xtest6" [24;10H[K[24;10H1 line, 33 characters[1;1H[34m<ff><fe>^@^@[mu[34m^@^@^@[mc[34m^@^@^@[ms[34m^@^@^@[m-[34m^@^@^@[m4[34m^@^@^@[ml[34m^@^@^@[me[34m^@^@^@[m
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h
~ [?25l[m
[34m^@^@^@[m[2;7H[K[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noeol
[?25l[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xtest6" [Incomplete last line] 2 lines, 36 characters written[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nobin
[?25l[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he #
[?25l"test42.in" [converted] 130 lines, 2385 characters[1;1H:$r Xtest0x[1;12H[K[2;1H:$r Xtest1x
:$r Xtest2x[3;12H[K[4;1H:$r Xtest3x[4;12H[K[5;1H:$r Xtest4x[5;12H[K[6;1H:$r Xtest5x[6;12H[K[7;1H:$r Xtest6x[7;12H[K[8;1H:set nobin ff& " Write the file in default format[8;64H[K[9;1H:w! test.out[9;13H[K[10;1H:qa![10;5H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1Hlatin-1[13;8H[K[14;1Hþ[14;2Hþ[14;3Hlatin-1[14;10H[K[15;1Hutf-8[15;6H[K[16;1H[16;4Hutf-8[16;9H[K[17;1Hutf-8-err[17;10H[K[18;1H[18;4Hutf-8[34m<80>[merr[18;16H[K[19;1Hucs-2[19;6H[K[20;1Hþ[20;2Hÿ[34m^@[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[m[20;20H[K[21;1Hucs-2le[21;8H[K[22;1Hÿþ[22;3Hu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[m[22;24H[K[23;1Hucs-4[23;6H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check that editing a latin-1 file doesn't see a BOM
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest0
[?25l"Xtest0" [24;10H[K[24;10H[converted] 1 line, 12 characters[1;1Hþ[1;2Hþ[1;3Hlatin-1[1;10H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir! >test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=latin1
nobomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hþ[1;2Hþ[1;3Hlatin-1
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 12 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bomb fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest0x
[?25l"Xtest0x" [24;11H[K[24;11H[converted][New File] 1 line, 12 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check utf-8
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest1
[?25l"Xtest1" [24;10H[K[24;10H1 line, 9 characters[1;1Hutf-8[1;6H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=utf-8
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hutf-8
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 6 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=utf-8
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest1x
[?25l"Xtest1x" [24;11H[K[24;11H[New File] 1 line, 9 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check utf-8 with an error (will fall back to latin-1)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest2
[?25l"Xtest2" [24;10H[K[24;10H[converted] 1 line, 17 characters[1;1H[1;4Hutf-8[34m<80>[merr
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=latin1
nobomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1H[1;4Hutf-8[34m<80>[merr
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 17 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=utf-8
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest2x
[?25l"Xtest2x" [24;11H[K[24;11H[New File] 1 line, 17 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check ucs-2
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest3
[?25l"Xtest3" [24;10H[K[24;10H[converted] 1 line, 8 characters[1;1Hucs-2[1;6H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=utf-16
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hucs-2
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 6 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=ucs-2
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest3x
[?25l"Xtest3x" [24;11H[K[24;11H[converted][New File] 1 line, 8 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check ucs-2le
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest4
[?25l"Xtest4" [24;10H[K[24;10H[converted] 1 line, 10 characters[1;6Hle
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=utf-16le
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hucs-2le
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 8 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=ucs-2le
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest4x
[?25l"Xtest4x" [24;11H[K[24;11H[converted][New File] 1 line, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check ucs-4
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest5
[?25l"Xtest5" [24;10H[K[24;10H[converted] 1 line, 10 characters[1;5H4[1;6H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=ucs-4
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hucs-4
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 6 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=ucs-4
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest5x
[?25l"Xtest5x" [24;11H[K[24;11H[converted][New File] 1 line, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check ucs-4le
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest6
[?25l"Xtest6" [24;10H[K[24;10H[converted] 1 line, 12 characters[1;6Hle
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=ucs-4le
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hucs-4le
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 8 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=ucs-4le
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest6x
[?25l"Xtest6x" [24;11H[K[24;11H[converted][New File] 1 line, 12 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check the files written with BOM
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H35 lines, 275 characters[1;1H[K[2;1H[K[3;1H fileencoding=latin1[3;22H[K[4;1Hnobomb[4;7H[K[5;1H[34m<fe><fe>[mlatin-1[5;16H[K[6;1H[K[7;1H[K[8;1H fileencoding=utf-8[8;21H[K[9;1H bomb[9;7H[K[10;1Hutf-8[10;6H[K[11;1H[K[12;1H[K[13;1H fileencoding=latin1[13;22H[K[14;1Hnobomb[14;7H[K[15;1H[34m<feff>[mutf-8[34m<80>[merr[15;19H[K[16;1H[K[17;1H[K[18;1H fileencoding=utf-16[18;22H[K[19;1H bomb[19;7H[K[20;1Hucs-2[20;6H[K[21;1H[K[22;1H[K[23;1H fileencoding=utf-16le[23;24H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r Xtest0x
[?25l"Xtest0x" [24;11H[K[24;11H1 line, 10 characters[1;23r[1;1H[13M[1;24r[11;3Hbomb
ucs-2le[15;3Hfileencoding=ucs-4
bomb
ucs-4[20;3Hfileencoding=ucs-4le
bomb
ucs-4le
[34m<fe><fe>[mlatin-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest1x
[?25l"Xtest1x" [24;11H[K[24;11H1 line, 9 characters[1;23r[23;1H
[1;24r[23;1H[34m<feff>[mutf-8[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest2x
[?25l"Xtest2x" [24;11H[K[24;11H1 line, 17 characters[1;23r[23;1H
[1;24r[23;1H[23;4Hutf-8[34m<80>[merr[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest3x
[?25l"Xtest3x" [24;11H[K[24;11H1 line, 14 characters[1;23r[23;1H
[1;24r[23;1H[34m<fe><ff>^@[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest4x
[?25l"Xtest4x" [24;11H[K[24;11H[Incomplete last line] 2 lines, 18 characters[1;23r[23;1H
[1;24r[23;1H[34m<ff><fe>[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest5x
[?25l"Xtest5x" [24;11H[K[24;11H1 line, 28 characters[1;23r[1;1H[2M[1;24r[22;1H[34m^@
^@^@<fe><ff>^@^@^@[mu[34m^@^@^@[mc[34m^@^@^@[ms[34m^@^@^@[m-[34m^@^@^@[m4[34m^@^@^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest6x
[?25l"Xtest6x" [24;11H[K[24;11H[Incomplete last line] 2 lines, 36 characters[1;23r[23;1H
[1;24r[23;1H[34m<ff><fe>^@^@[mu[34m^@^@^@[mc[34m^@^@^@[ms[34m^@^@^@[m-[34m^@^@^@[m4[34m^@^@^@[ml[34m^@^@^@[me[34m^@^@^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset nobin ff& " Write the file in default format
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H44 lines, 409 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test43.in" 34 lines, 473 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with various magic settings.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 19 lines, 268 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^1
[?25l[1;23r[23;1H
[1;24r[23;1H1 a aa abb abbccc[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25ha*b\{2}c\+/e
[?25l[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\Md\*e\{2}f\+/e
[?25l[1;23r[23;1H
[1;24r[23;1H2 d dd dee deefff[24;1H[K[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l
:[?12l[?25hset nomagic
[?25l[23;16H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hg\*h\{2}i\+/e
[?25l[1;23r[23;1H
[1;24r[23;1H3 g gg ghh ghhiii[24;1H[K[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l
/[?12l[?25h\mj*k\{2}l\+/e
[?25l[1;23r[23;1H
[1;24r[23;1H4 j jj jkk jkklll[24;1H[K[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l
/[?12l[?25h\vm*n{2}o+/e
[?25l[1;23r[23;1H
[1;24r[23;1H5 m mm mnn mnnooo[24;1H[K[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l
/[?12l[?25h\V^aa$
[?25l[1;23r[23;1H
[1;24r[23;1H6 x ^aa$ x[24;1H[K[23;5H[?12l[?25h[?25laa$ x[23;10H[K[23;5H[?12l[?25h[?25l
:[?12l[?25hset magic
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\v(a)(b)\2\1\1/e
[?25l[1;23r[23;1H
[1;24r[23;1H7 (a)(b) abbaa[24;1H[K[23;14H[?12l[?25h[?25l[23;14H[K[23;13H[?12l[?25h[?25l
/[?12l[?25h\V[ab]\(\[xy]\)\1
[?25l[1;23r[23;1H
[1;24r[23;1H8 axx [ab]xx[24;1H[K[23;7H[?12l[?25h[?25lab]x[23;12H[K[23;7H[?12l[?25h[?25l
:[?12l[?25h$
[?25l[1;23r[1;1H[2M[1;24r[22;1H9 foobar[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset undolevels=100
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H?[?12l[?25hbar?
[?25l[24;5H[K[24;1H[22;6H[K[23;1H[1m[34m~ [22;5H[?12l[?25h[?25l[m
1 more line; before #2 0 seconds ago[22;6Hbar[23;1H[K[22;6H[?12l[?25h[?25l
9 foo
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?^1?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 11L, 137C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test44.in" 81 lines, 1492 characters[1;1HTests 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
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with multi-byte encoding and various magic settings.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
: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
: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
:[?12l[?25h" Test \%u, [\u] and friends
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" c
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%u20ac
[?25l[1;23r[23;1H
:[?12l[?25h" d
[?25l[23;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\u4f7f\u5929]\+
[?25l[1;23r[23;1H
:[?12l[?25h" e
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%U12345678
[?25l[1;23r[23;1H
:[?12l[?25h" f
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\U1234abcd\u1234\uabcd]
[?25l[1;23r[23;1H
:[?12l[?25h" g
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%d21879b
[?25l[1;23r[23;1H
:[?12l[?25h" j Test backwards search from a multi-byte char
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hx
[?25l[1;23r[23;1H
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" l Test what 7.3.192 fixed
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^l
[?25l[1;23r[23;1H
2 d dd dee deeff
3 g gg ghh ghhii
4 j jj jkk jkkll
5 m mm mnn mnnoo
g abb
[7mtest.out [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =['dog(a', 'cat(']
[?25l[2;1Hdog(a[2;6H[K[3;1Hcat([3;5H[K[12;11H[1m[7m[+][3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25h(/e+
[?25l/(/e+1
[3;4H[?12l[?25h[?25l[24;1H[31msearch hit BOTTOM, continuing at TOP[2;5H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbd!
[?25l[1;1H1 a aa abb abbcc
2 d dd dee deeff
3 g gg ghh ghhii
e y
[1;24r[24;1H[K[23;1H[?12l[?25h[?25la[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hcat(
[?12l[?25h[?25l
:[?12l[?25hw!
[?25l"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/misc2.o misc2.c
25L, 271C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test45.in" 90 lines, 1953 characters[1;1HTests 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{{ [34m^[[mr{jj:call append("$", foldlevel("."))
kYpj:call append("$", foldlevel("."))[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for folding. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 73 lines, 1820 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:new
iTest fdm=indent and :move bug END
line2[4;9HTest fdm=indent START[5;9Hline3[6;9Hline4[34m^[[m
: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" We also need the +syntax feature here.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has("syntax")
[?25l
: [?12l[?25h e! test.ok
[?25l: [?12l[?25h w! test.out
[?25l: [?12l[?25h qa!
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:new
iTest fdm=indent and :move bug END
line2[4;9HTest fdm=indent START[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" basic test if a fold can be created, opened, moving to the end and closed
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^1
[?25l[14;1H[?12l[?25h[?25l[34m[47m+-- 3 lines: 1 aa--------------------------------------------------------------[m[15;1H4 dd {{{
5 ee {{{ }}}
6 ff }}}
7 gg[18;6H[K[19;1H8 hh[19;6H[K[20;1H9 ii
a jj
b kk
last[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", "manual " . getline(foldclosed(".")))
[?25l[14;1H[?12l[?25h[?25l1 aa[14;5H[K[15;1H2 bb[15;6H[K[16;1H3 cc[16;6H[K[17;1H4 dd {{{
5 ee {{{ }}}
6 ff }}}
7 gg
8 hh
9 ii
a jj[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldclosed("."))
[?25l[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", getline("."))
[?25l[16;1H[?12l[?25h[?25l[14;1H[34m[47m+-- 3 lines: 1 aa--------------------------------------------------------------[m[15;1H4 dd {{{
5 ee {{{ }}}
6 ff }}}
7 gg[18;6H[K[19;1H8 hh[19;6H[K[20;1H9 ii
a jj
b kk
last[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", getline(foldclosed(".")))
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test folding with markers.
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fdm=marker fdl=1 fdc=3
[?25l[1;1H[34m[47m [m:new
[34m[47m [miTest fdm=indent and :move bug END
[34m[47m [mline2
[34m[47m [m Test fdm=indent START
[34m[47m [m line3
[34m[47m [m line4[34m^[[m
[34m[47m [m:set fdm=indent
[34m[47m [m:1m1
[34m[47m [m2jzc:m0
[34m[47m [m:%w >> test.out
[34m[47m [m:qa!
[34m[47m [mENDTEST
[34m[47m
[m1 aa[14;8H[K[15;1H[34m[47m [m2 bb[15;8H[K[16;1H[34m[47m [m3 cc[16;8H[K[17;1H[34m[47m- [m4 dd {{{
[34m[47m|- [m5 ee {{{ }}}
[34m[47m| [m6 ff }}}
[34m[47m [m7 gg
[34m[47m [m8 hh
[34m[47m [m9 ii
[34m[47m [ma jj[16;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^5
[?25l[18;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", "marker " . foldlevel("."))
[?25l[18;4H[?12l[?25h[17;4H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[17;4H[?12l[?25h[18;4H[?25l[20;23r[20;1H[L[1;24r[19;4H{{ [19;7H[K[20;1H[34m[47m| [m6 ff }}}[24;1H[K[19;6H[?12l[?25h[?25l[19;2H[34m[47m-[m[3C{[20;2H[34m[47m|
|
|
|[19;6H[?12l[?25h[20;6H[21;6H[?25l
[m:[?12l[?25hcall append("$", foldlevel("."))
[?25l[21;6H[?12l[?25h[20;6H[?25l[21;4H6 ff }}}
[34m[47m [m[2C7 gg
[34m[47m [m[2C8 hh[21;4H[?12l[?25h[22;4H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[22;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test folding with indent
[?25l[22;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fdm=indent sw=2
[?25l[4;1H[34m[47m-+[m[1C[34m[47m+--- 3 lines: Test fdm=indent START-----------------------------------------[m[5;4H:set fdm=indent[6;4H:1m1[6;12H[K[7;4H2jzc:m0[7;11H[K[8;5H%w >> test.out[9;4H:qa![9;8H[K[10;4HENDTEST[10;11H[K[11;4H[K[12;4H1 aa[12;8H[K[13;4H2 bb[14;4H3 cc[15;4H4 dd {{{[16;4H5 ee {{{ }}}
[34m[47m [m[2C{{{[17;7H[K[18;1H[34m[47m [m[1C6 ff }}}[18;13H[K[19;1H[34m[47m [m[1C6 ff }}}
[34m[47m [m[1C7 gg[20;9H[K[21;1H[34m[47m [m[2C8 hh[21;9H[K[22;4H9 ii[23;4Ha jj[20;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^2 b
[?25l[31msearch hit BOTTOM, continuing at TOP[13;4H[?12l[?25h[?25l[m
[34m[47m-[m[2C 2 bb[?12l[?25h[14;5H[?25l
[34m[47m|-[m[1C 3 cc[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", "indent " . foldlevel("."))
[?25l[14;7H[?12l[?25h[13;7H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[13;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test syntax folding
[?25l[13;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fdm=syntax fdl=0
[?25l[4;1H[34m[47m [m[1C Test fdm=indent START[4;33H[K[5;4H line3[5;17H[K[6;4H line4[34m^[[m[7;4H:set fdm=indent[8;5H1m1[8;8H[K[9;4H2jzc:m0[10;4H:%w >> test.out[11;4H:qa![12;4HENDTEST
[34m[47m [m[13;6H[K[14;1H[34m[47m [m[1C1 aa[14;8H[K[15;4H 2 bb[15;10H[K[16;4H 3 cc[16;13H[K[17;4H4 dd {{{[18;4H5 ee {{{ }}}[19;4H{{{[19;7H[K[20;4H6 ff }}}[21;4H6 ff }}}[22;4H7 gg[23;4H8 hh[15;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn region Hup start="dd" end="ii" fold contains=Fd1,Fd2,Fd3
[?25l[17;1H[34m[47m+[m[2C[34m[47m+-- 8 lines: 4 dd ----------------------------------------------------------[m[18;4Ha jj[18;9H[K[19;4Hb kk[20;4Hlast[20;9H[K[21;4Hmanual 1 aa[22;4H-1[22;6H[K[23;4H3 cc[15;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn region Fd1 start="ee" end="ff" fold contained
[?25l[15;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn region Fd2 start="gg" end="hh" fold contained
[?25l[15;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn region Fd3 start="commentstart" end="commentend" fold contained
[?25l[15;7H[?12l[?25h[?25l[1;23r[1;1H[7M[1;24r[17;1H[34m[47m [m1 aa
[34m[47m [mmarker 2
[34m[47m [m1
[34m[47m [m1
[34m[47m [m0
[34m[47m [mindent 2
[34m[47m [m1[24;1H[K[23;4H[?12l[?25h[10;4H[?25l[24;1H:[?12l[?25hcall append("$", "folding " . getline("."))
[?25l[10;4H[?12l[?25h[9;4H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", getline("."))
[?25l[9;4H[?12l[?25h[10;4H[?25l
[34m[47m--[m[1C4 dd {{{commentstart [10;26H[K[11;1H[34m[47m||[m[1C5 ee {{{ }}}
[34m[47m||[m[1C{{{[12;7H[K[13;1H[34m[47m||[m[1C6 ff }}}
[34m[47m||[m[1C6 ff }}}[14;13H[K[15;1H[34m[47m||[m[1C7 gg
[34m[47m||[m[1C8 hh
[34m[47m||[m[1C9 ii
[34m[47m||[m[1Ca jj[18;8H[K[19;1H[34m[47m||[m[1Cb kk
[34m[47m||[m[1Clast
[34m[47m||[m[1Cmanual 1 aa
[34m[47m||[m[1C-1[22;6H[K[23;1H[34m[47m||[m[1C3 cc[10;25H[?12l[?25h[?25l[10;2H[34m[47m [m[23Ccommentend[11;2H[34m[47m-[14;2H
|-
|
[10;35H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fdl=1
[?25l[11;2H[34m[47m+[m[1C[34m[47m+--- 3 lines: 5 ee ---------------------------------------------------------[m[12;2H[34m[47m [m[1C6 ff }}}[13;2H[34m[47m+[m[1C[34m[47m+--- 2 lines: 7 gg----------------------------------------------------------[m[14;4H9 ii[14;9H[K[15;1H[34m[47m [m[1Ca jj
[34m[47m [m[1Cb kk
[34m[47m [m[2Clast[18;4Hmanual 1 aa[19;4H-1[19;6H[K[20;4H3 cc[21;4H1 aa[21;8H[K[22;4Hmarker 2[23;4H1[23;6H[K[10;35H[?12l[?25h[13;4H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", getline("."))
[?25l[13;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fdl=0
[?25l[10;1H[34m[47m+[m[2C[34m[47m+-- 8 lines: 4 dd commentstart commentend----------------------------------[m[11;1H[34m[47m [m[1Ca jj[11;8H[K[12;1H[34m[47m [m[2Cb kk[12;9H[K[13;1H[34m[47m [m[1Clast[13;8H[K[14;1H[34m[47m [m[2Cmanual 1 aa[15;4H-1[15;6H[K[16;4H3 cc[17;4H1 aa[18;6Hrker 2[18;13H[K[19;4H1[19;5H[K[20;4H1[20;6H[K[21;4H0[21;6H[K[22;4Hindent[10;4H[?12l[?25h[?25l
[34m[47m-[m[2C4 dd {{{commentstart commentend[10;36H[K[11;1H[34m[47m|-[m[1C5 ee {{{ }}}
[34m[47m||[m[1C{{{[12;7H[K[13;1H[34m[47m||[m[1C6 ff }}}
[34m[47m|[m[2C6 ff }}}[14;13H[K[15;1H[34m[47m|-[m[1C7 gg
[34m[47m||[m[1C8 hh
[34m[47m|[m[2C9 ii[18;4Ha jj[18;8H[K[19;4Hb kk[20;4Hlast[21;4Hmanual 1 aa[22;4H-1[22;6H[K[23;4H3 cc[15;7H[?12l[?25h[27m[23m[m[H[2J[?25l[1;1H[34m[47m [m:1m1
[34m[47m [m2jzc:m0
[34m[47m [m:%w >> test.out
[34m[47m [m:qa!
[34m[47m [mENDTEST
[34m[47m
[m1 aa
[34m[47m [m 2 bb
[34m[47m [m 3 cc
[34m[47m- [m4 dd {{{commentstart commentend
[34m[47m|- [m5 ee {{{ }}}
[34m[47m|| [m{{{
[34m[47m|| [m6 ff }}}
[34m[47m| [m6 ff }}}
[34m[47m|- [m7 gg
[34m[47m|| [m8 hh
[34m[47m| [m9 ii
[34m[47m [ma jj
[34m[47m [mb kk
[34m[47m [mlast
[34m[47m [mmanual 1 aa
[34m[47m [m-1
[34m[47m [m3 cc[15;7H[?12l[?25h[16;4H[?25l[24;1H:[?12l[?25hcall append("$", getline("."))
[?25l[16;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test expression folding
[?25l[16;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[12L[?25l[1;1H[34m[47m [m:1m1
[34m[47m [m2jzc:m0
[34m[47m [m:%w >> test.out
[34m[47m [m:qa!
[34m[47m [mENDTEST
[34m[47m
[m1 aa
[34m[47m [m 2 bb
[34m[47m [m 3 cc
[34m[47m- [m4 dd {{{commentstart commentend
[34m[47m|- [m5 ee {{{ }}}
[34m[47m|| [m{{{[24;1H[K[16;4H[?12l[?25h[?25l[24;1H:[?12l[?25hset fdm=expr fde=Flvl()
[?25l[8;1H[34m[47m+[m[2C[34m[47m+-- 11 lines: 2 bb-----------------------------------------------------------[m[9;4Hb kk[9;8H[K[10;1H[34m[47m [m[2Clast[10;9H[K[11;1H[34m[47m [m[1Cmanual 1 aa[11;15H[K[12;1H[34m[47m [m[1C-1[12;6H[K[13;1H[34m[47m [m[1C3 cc[13;9H[K[14;1H[34m[47m [m[2C1 aa[14;9H[K[15;1H[34m[47m [m[1Cmarker 2
[34m[47m [m[1C1[16;6H[K[17;1H[34m[47m [m[2C1[17;6H[K[18;4H0[18;6H[K[19;4Hindent 2[20;4H1[20;5H[K[21;1H[34m[47m+[m[2C[34m[47m+-- 4 lines: folding 9 ii---------------------------------------------------[m[22;4H[1m[34m~ [23;4H~ [8;4H[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25hbb$
[?25l[31msearch hit BOTTOM, continuing at TOP[m[8;1H[34m[47m--[m[1C 2 bb[8;10H[K[9;1H[34m[47m||[m[1C 3 cc
[34m[47m||[m[1C4 dd {{{commentstart commentend
[34m[47m||[m[1C5 ee {{{ }}}
[34m[47m||[m[1C{{{
[34m[47m||[m[1C6 ff }}}
[34m[47m||[m[1C6 ff }}}
[34m[47m||[m[1C7 gg[15;8H[K[16;1H[34m[47m|[m[2C8 hh
[34m[47m|+[m[1C[34m[47m+--- 2 lines: 9 ii----------------------------------------------------------[m[18;4Hb kk[19;4Hlast[19;8H[K[20;4Hmanual 1 aa
[34m[47m [m[2C-1[21;6H[K[22;4H3 cc[22;8H[K[23;4H1 aa[23;8H[K[8;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", "expr " . foldlevel("."))
[?25l[8;8H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hhh$
[?25l[16;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[16;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hii$
[?25l[17;2H[34m[47m-[m[1C9 ii[17;8H[K[18;1H[34m[47m||[m[1Ca jj[19;4Hb kk[20;4Hlast[20;8H[K[21;4Hmanual 1 aa[22;4H-1[22;6H[K[23;4H3 cc[17;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[17;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hkk$
[?25l[19;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
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
[?25l[19;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^last/+1,$w! test.out
[?25l"test.out" [24;12H[Kgcc -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
[24;12H[New File] 18 lines, 96 characters written[19;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfun Flvl
[?25l[19;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;4H[K[8;1H[34m[47m
[m[2;4H[1m[34m~ [3;4H~ [4;4H~ [5;4H~ [6;4H~ [7;4H~ [8;4H~ [9;4H~ [10;4H~ [11;4H~ [m[12;1H[1m[7m[No Name] [m[13;4H5 ee {{{ }}}[14;4H{{{[14;7H[K[15;4H6 ff }}}[16;2H[34m[47m|[m[1C6 ff }}}[17;2H[34m[47m|[m[1C7 gg[18;2H[34m[47m [m[1C8 hh
[34m[47m|-[m[1C9 ii
[34m[47m||[m[1Ca jj[21;4Hb kk[21;8H[K[22;4Hlast
[7mtest45.in [+] [1;4H[?12l[?25h[?25l[mTest fdm=indent and :move bug END[2;4Hline2[2;9H[K[3;4H Test fdm=indent START[3;33H[K[4;4H line3[4;17H[K[5;4H line4[5;17H[K[12;11H[1m[7m[+][5;16H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fdm=indent
[?25l[3;1H[34m[47m+[m[2C[34m[47m+-- 3 lines: Test fdm=indent START------------------------------------------[m[4;4H[1m[34m~ [5;4H~ [3;4H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h1m1
[?25l[1;4H[?12l[?25h[3;4H[?25l[24;1H[K[24;1H:[?12l[?25hm0
[?25l3 lines moved[1;1H[34m[47m+[m[2C[34m[47m+-- 3 lines: Test fdm=indent START------------------------------------------[m[2;4HTest fdm=indent and :move bug END
[34m[47m [m[2Cline2[3;9H[K[1;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%w >> test.out
[?25l"test.out" [24;12H[K[24;12H5 lines, 77 characters appended[12;1H[1m[7mtest.out [+]] [1;4H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test48.in" 83 lines, 1658 characters[1;1HThis 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[34m^N^[[m
:"
:" Using "C" then then <CR> moves the last remaining character to the next
:" line. (Mary Ellen Foster)
j^/are
C[34m^M[mare belong to vim[34m^[[m
:"
:" When past the end of a line that ends in a single character "b" skips
:" that word.
^$15lbC7[34m^[[m
:"
:" Make sure 'i' works[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HThis is a test of 'virtualedit'.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 61 lines, 1442 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:set display=
:"
:" Test for ^Y/^E due to bad w_virtcol value, reported by
:" Roy <royl@netropolis.net>.
^O[34m^[[m3li[34m^E^[[m4li[34m^E^[[m4li[34m^E[m <-- should show the name of a noted text editor[34m^[[m
^o[34m^[[m4li[34m^Y^[[m4li[34m^Y^[[m4li[34m^Y[m <-- and its version number[34m^[[m-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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noswf
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=all
[?25l[13;1H[?12l[?25h[12;1H[?25l[24;1H65 fewer lines[1;23r[1;1H[12M[1;24r[12;1Hthis is a test
"r"
"r"
a[34m^V[mb[34m^M[msd
abcv6efi.him0kl
[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[24;1H65 fewer lines[1;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Insert "keyword keyw", ESC, C CTRL-N, shows "keyword ykeyword".
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Repeating CTRL-N fixes it. (Mary Ellen Foster)
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hw
[?25l[2;12H[?12l[?25h[?25l$[24;1H[32mScanning tags.[m
The only match[2;16H[24;1H[K[2;12Hword[?12l[?25h[3;15H[?25l[24;1H:[?12l[?25h"
[?25l[3;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Using "C" then then <CR> moves the last remaining character to the next
[?25l[3;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" line. (Mary Ellen Foster)
[?25l[3;15H[?12l[?25h[4;15H
[?25l[24;1H[K[24;1H/[?12l[?25hare
[?25l[31msearch hit BOTTOM, continuing at TOP[3;15H[?12l[?25h[?25l[m[15C$[3;15H[K[4;1Hare belong to vim
1 2 3 4 5 6
'i
'C
'a
'A
'D'[10;4H[K[13;1Hthis is a test
"r"
a[34m^V[mb[34m^M[msd[16;9H[K[17;1Habcv6efi.him0kl[19;1H[K[4;17H[?12l[?25h[5;17H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[5;17H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When past the end of a line that ends in a single character "b" skips
[?25l[5;17H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" that word.
[?25l[5;17H[?12l[?25h
[10C[15C[5;11H[?25l$7[?12l[?25h[6;11H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[6;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'i' works
[?25l[6;11H[?12l[?25h
'i' [?25l<-- should be 3 ' '[?12l[?25h[7;25H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[7;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'C' works
[?25l[7;25H[?12l[?25h
'C' [?25l$<-- should be 3 ' '[?12l[?25h[8;25H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[8;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'a' works
[?25l[8;25H[?12l[?25h
'a' [?25l <-- should be 4 ' '[?12l[?25h[9;26H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'A' works
[?25l[9;26H[?12l[?25h
'A' [?25l<-- should be 0 ' '[?12l[?25h[10;22H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[10;22H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'D' works
[?25l[10;22H[?12l[?25h
'D' [?25l<-- 'D' should be intact[?12l[?25h[11;30H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[11;30H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for yank bug reported by Mark Waggoner.
[?25l[11;30H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=block
[?25l[11;14H[?12l[?25h
[8C[?25l[?12l[?25h[?25l[7ma[12;9Ha[13;9Ha[14;9H[?12l[?25h[?25l[m[11;9Ha[12;9Ha[13;9Ha[24;1Hblock of 4 lines yanked[11;9H[?12l[?25h[19;1H[?25l[24;1H3 more lines[24;13H[K[19;1Ha
a[20;2H[K[21;1Ha[21;2H[K[22;1H [22;2H[K[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test "r" beyond the end of the line
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=all
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^"r"
[?25l[31msearch hit BOTTOM, continuing at TOP[14;1H[?12l[?25h[m"r" [?25lx[?12l[?25h[?25lx<-- should be 'x'[?12l[?25h[15;25H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[15;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test "r" on a tab
[?25l[15;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Note that for this test, 'ts' must be 8 (the default).
[?25l[15;25H[?12l[?25h
"r" [?25lx[?12l[?25h[?25lx <-- should be ' x '[?12l[?25h[16;29H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[16;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test to make sure 'x' can delete control characters
[?25l[16;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset display=uhex
[?25l[16;2H[34m<16>[mb[34m<0d>[msd[20C[?12l[?25h
[?25l[34m<16>[mb[34m<0d>[msd[16;12H[K[16;1H[?12l[?25h[?25lb[34m<0d>[msd[16;8H[K[16;1H[?12l[?25h[?25l[34m<0d>[msd[16;7H[K[16;1H[?12l[?25h[?25lsd[16;3H[K[16;1H[?12l[?25h[?25ld[16;2H[K[16;1H[?12l[?25h[?25l[16;1H[K[16;1H[?12l[?25h[?25l[This line should contain only the text between the brackets.][?12l[?25h[17;62H[?25l[24;1H[K[24;1H:[?12l[?25hset display=
[?25l[17;62H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[17;62H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for ^Y/^E due to bad w_virtcol value, reported by
[?25l[17;62H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Roy <royl@netropolis.net>.
[?25l[17;62H[?12l[?25h
[?25l[17;23r[17;1H[L[1;24r[24;1H[K[17;1H[?12l[?25h [?25lv[?12l[?25hv [?25li[?12l[?25hi [?25lm <-- should show the name of a noted text editor[?12l[?25h[18;62H
[?25l[19;23r[19;1H[L[1;24r[19;1H[?12l[?25h [?25l6[?12l[?25h6 [?25l.[?12l[?25h. [?25l0 <-- and its version number[?12l[?25h[18;1H[?25l[18;23r[23;1H
[1;24r[18;5H[?12l[?25h
[?25l[24;1H:[?12l[?25h"
[?25l[19;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for yanking and pasting using the small delete register
[?25l[19;5H[?12l[?25h[1;1H[?25l[24;1H[K[24;1H/[?12l[?25h^foo
[?25l[31msearch hit BOTTOM, continuing at TOP[1;1H[?12l[?25h[?25l[m, bar[1;6H[K[1;1H[?12l[?25h, [?25l[?12l[?25h[?25l[7mba[?12l[?25h[?25l[?12l[?25h[?25l[mfoo[?12l[?25h
keyw[?25l[24;1H[K[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test51.in" 36 lines, 809 characters[1;1HTests 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=#000[11;1Hff00 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for ":highlight". vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 31 lines, 747 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[13M[1;24r[11;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" basic test if ":highlight" doesn't crash
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhighlight
[?25l
SpecialKey [34mxxx[m [34mterm=[mbold [34mctermfg=[m4 [34mguifg=[mBlue
EndOfBuffer [1m[34mxxx[m [34mlinks to[m NonText
NonText[8C[1m[34mxxx[m [34mterm=[mbold [34mcterm=[mbold [34mctermfg=[m4 [34mgui=[mbold [34mguifg=[mBlue
Directory [34mxxx[m [34mterm=[mbold [34mctermfg=[m4 [34mguifg=[mBlue
ErrorMsg[7C[1m[37m[41mxxx[m [34mterm=[mstandout [34mcterm=[mbold [34mctermfg=[m7 [34mctermbg=[m1 [34mguifg=[mWhite
[19C[34mguibg=[mRed
IncSearch [7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mgui=[mreverse
Search[9C[30m[43mxxx[m [34mterm=[mreverse [34mctermfg=[m0 [34mctermbg=[m3 [34mguibg=[mYellow
MoreMsg[8C[32mxxx[m [34mterm=[mbold [34mctermfg=[m2 [34mgui=[mbold [34mguifg=[mSeaGreen
ModeMsg[8C[1mxxx[m [34mterm=[mbold [34mcterm=[mbold [34mgui=[mbold
LineNr[9C[33mxxx[m [34mterm=[munderline [34mctermfg=[m3 [34mguifg=[mBrown
CursorLineNr [33mxxx[m [34mterm=[mbold [34mctermfg=[m3 [34mgui=[mbold [34mguifg=[mBrown
Question[7C[32mxxx[m [34mterm=[mstandout [34mctermfg=[m2 [34mgui=[mbold [34mguifg=[mSeaGreen
StatusLine [1m[7mxxx[m [34mterm=[mbold,reverse [34mcterm=[mbold,reverse [34mgui=[mbold,reverse
StatusLineNC [7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mgui=[mreverse
VertSplit [7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mgui=[mreverse
Title[10C[35mxxx[m [34mterm=[mbold [34mctermfg=[m5 [34mgui=[mbold [34mguifg=[mMagenta
Visual[9C[7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mguibg=[mLightGrey
VisualNOS xxx cleared
WarningMsg [31mxxx[m [34mterm=[mstandout [34mctermfg=[m1 [34mguifg=[mRed
WildMenu[7C[30m[43mxxx[m [34mterm=[mstandout [34mctermfg=[m0 [34mctermbg=[m3 [34mguifg=[mBlack [34mguibg=[mYellow
Folded[9C[34m[47mxxx[m [34mterm=[mstandout [34mctermfg=[m4 [34mctermbg=[m7 [34mguifg=[mDarkBlue
[19C[34mguibg=[mLightGrey
FoldColumn [34m[47mxxx[m [34mterm=[mstandout [34mctermfg=[m4 [34mctermbg=[m7 [34mguifg=[mDarkBlue [34mguibg=[mGrey
DiffAdd[8C[44mxxx[m [34mterm=[mbold [34mctermbg=[m4 [34mguibg=[mLightBlue
DiffChange [45mxxx[m [34mterm=[mbold [34mctermbg=[m5 [34mguibg=[mLightMagenta
DiffDelete [1m[34m[46mxxx[m [34mterm=[mbold [34mcterm=[mbold [34mctermfg=[m4 [34mctermbg=[m6 [34mgui=[mbold [34mguifg=[mBlue
[19C[34mguibg=[mLightCyan
DiffText[7C[1m[41mxxx[m [34mterm=[mreverse [34mcterm=[mbold [34mctermbg=[m1 [34mgui=[mbold [34mguibg=[mRed
SignColumn [34m[47mxxx[m [34mterm=[mstandout [34mctermfg=[m4 [34mctermbg=[m7 [34mguifg=[mDarkBlue [34mguibg=[mGrey
Conceal[8C[37m[40mxxx[m [34mctermfg=[m7 [34mctermbg=[m0 [34mguifg=[mLightGrey [34mguibg=[mDarkGrey
SpellBad[7C[41mxxx[m [34mterm=[mreverse [34mctermbg=[m1 [34mgui=[mundercurl [34mguisp=[mRed
SpellCap[7C[44mxxx[m [34mterm=[mreverse [34mctermbg=[m4 [34mgui=[mundercurl [34mguisp=[mBlue
SpellRare [45mxxx[m [34mterm=[mreverse [34mctermbg=[m5 [34mgui=[mundercurl [34mguisp=[mMagenta
SpellLocal [46mxxx[m [34mterm=[munderline [34mctermbg=[m6 [34mgui=[mundercurl [34mguisp=[mDarkCyan
Pmenu[10C[30m[45mxxx[m [34mctermfg=[m0 [34mctermbg=[m5 [34mguibg=[mLightMagenta
PmenuSel[7C[30m[47mxxx[m [34mctermfg=[m0 [34mctermbg=[m7 [34mguibg=[mGrey
PmenuSbar [47mxxx[m [34mctermbg=[m7 [34mguibg=[mGrey
PmenuThumb [40mxxx[m [34mctermbg=[m0 [34mguibg=[mBlack
TabLine[8C[4m[30m[47mxxx[m [34mterm=[munderline [34mcterm=[munderline [34mctermfg=[m0 [34mctermbg=[m7
[19C[34mgui=[munderline [34mguibg=[mLightGrey
TabLineSel [1mxxx[m [34mterm=[mbold [34mcterm=[mbold [34mgui=[mbold
TabLineFill [7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mgui=[mreverse
CursorColumn [47mxxx[m [34mterm=[mreverse [34mctermbg=[m7 [34mguibg=[mGrey90
CursorLine [4mxxx[m [34mterm=[munderline [34mcterm=[munderline [34mguibg=[mGrey90
ColorColumn [41mxxx[m [34mterm=[mreverse [34mctermbg=[m1 [34mguibg=[mLightRed
MatchParen [46mxxx[m [34mterm=[mreverse [34mctermbg=[m6 [34mguibg=[mCyan
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Search
[?25l
Search[9C[30m[43mxxx[m [34mterm=[mreverse [34mctermfg=[m0 [34mctermbg=[m3 [34mguibg=[mYellow
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" test setting colors.
[?25l[27m[23m[m[H[2J[1;1H: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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi NewGroup term=bold cterm=italic ctermfg=DarkBlue ctermbg=Grey gui= guifg=#0
[23;80H0[24;1Hff00 guibg=Cyan
[?25l[23;1H[1m[37m[41mE418: Illegal value: guifg=#00ff00[m[23;35H[K[24;1H[K[24;1H[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group2 term= cterm=
[?25l[1m[37m[41mE418: Illegal value: cterm=[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group3 term=underline cterm=bold
[?25l[1;1H[2L[1;1H:hi NewGroup
:hi Group2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hredir! >test.out
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi NewGroup
[?25l
NewGroup[7C[3m[34m[47mxxx[23m[m [34mterm=[mbold [34mcterm=[mitalic [34mctermfg=[m4 [34mctermbg=[m7
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group2
[?25l
Group2[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group3
[?25l
Group3[9C[1mxxx[m [34mterm=[munderline [34mcterm=[mbold
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi clear NewGroup
[?25l[1;1H[6L[1;1H:hi NewGroup
:hi Group2
:hi Group3
:hi clear NewGroup
:hi NewGroup
:hi Group2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hhi NewGroup
[?25l
NewGroup[7Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group2
[?25l
Group2[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group2 NONE
[?25l[1;1H[4L[1;1H:hi NewGroup
:hi Group2
:hi Group3
:hi clear NewGroup[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hhi Group2
[?25l
Group2[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi clear
[?25l[27m[23m[m[H[2J[1;1H: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
Group3[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Crash term='asdf
[?25l[1m[37m[41mE475: Invalid argument: term='asdf[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[3L[1;1H:hi NewGroup
:hi Group2
:hi Group3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" filter ctermfg and ctermbg, the numbers depend on the terminal
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H20 lines, 289 characters[1;1H[K[2;1H[K[3;1HNewGroup xxx term=bold cterm=italic ctermfg=4 ctermbg=7[4;1H[K[5;1HGroup2 xxx cleared[6;1H[K[7;1HGroup3 xxx term=underline cterm=bold[8;1H[K[9;1H[K[10;1HNewGroup xxx cleared[11;1H[K[12;1HGroup2 xxx cleared[13;1H[K[14;1H[K[15;1HGroup2 xxx cleared[16;1H[K[17;1H[K[18;1HGroup3 xxx cleared[19;1H[K[20;1HE475: Invalid argument: term='asdf
[1m[34m~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h%s/ctermfg=\d*/ctermfg=2/
[?25l[3;51H2
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%s/ctermbg=\d*/ctermbg=3/
[?25l[3;61H3
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" filter out possibly translated error message
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%s/E475: [^:]*:/E475:/
[?25l[20;7Hterm='asdf[20;17H[K[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" fix the fileformat
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff&
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test53.in" 75 lines, 1763 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for string and html text objects. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 47 lines, 1237 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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>-[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start:/
[?25l[24;9H[K[24;1H[14;1H[?12l[?25h[?25l[7Cfo[14;11H[K[14;8H[?12l[?25h[15;8H
[?25l[?12l[?25h[?25l[7m'foo'[?12l[?25h[?25l 'bar'[?12l[?25h[?25l[m
xxxxxxxxxxxx
[?12l[?25h
[14C[?25lblah[16;13H[K[16;9H[?12l[?25h[17;9H
[12C[?25l"[17;12H[K[17;11H[?12l[?25h[18;11H
[9C[?25l[?12l[?25h[?25l'[7m rep[?12l[?25h[?25l[myyyyy[?12l[?25h[19;11H[?25l[24;1H[K[24;1H:[?12l[?25hset quoteescape=+*-
[?25l[19;11H[?12l[?25h[?25l` b`la[19;12H[K[19;6H[?12l[?25h[20;6H[29C[?25l[?12l[?25h[?25l[7m" sdf"[?12l[?25h[?25l[m"[5C[7m [20;27H[?12l[?25h[?25l"[?12l[?25h[?25l[20;16H asdf" sdf [20;15H[?12l[?25h[?25l[20;7Hah" sdf "
[mvoo "[?12l[?25h[?25lzzzzzzzzzzzzzzzzzzzzzzzzzzzz
voo "[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^<begin
[?25l[22;1H[?12l[?25h
[11C[?25l</i>asdf</b>-[23;25H[K[23;12H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-<b>asdX<i>a<i />sdf</i>asdf</b>-[24;1H[K[23;12H[?12l[?25h
[7C[?25l</b>-[23;10H[K[23;5H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-<b>asdf<i>Xasdf</i>asdf</b>-
-<b>[?12l[?25h[7C[?25lasdf</b>-[23;18H[K[23;9H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-<b>asdX<i>as<b />df</i>asdf</b>-[23;9H[?12l[?25h
[7C[?25l
--[23;3H[K[23;2H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-<b>
-[?12l[?25h[?25l<b></b>[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H</begin>[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hput =matchstr(\"abcd\", \".\", 0, 2) " b
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =matchstr(\"abcd\", \"..\", 0, 2) " bc
[?25l[1;23r[23;1H
[1;24r[23;1Hbc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =matchstr(\"abcd\", \".\", 2, 0) " c (zero and negative -> first match)
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =matchstr(\"abcd\", \".\", 0, -1) " a
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match(\"abcd\", \".\", 0, 5) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match(\"abcd\", \".\", 0, -1) " 0
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 0, 1) " 0
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 0, 2) " 1
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 0, 3) " 2
[?25l[1;23r[23;1H
[1;24r[23;1H2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 0, 4) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 1, 1) " 1
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 2, 1) " 2
[?25l[1;23r[23;1H
[1;24r[23;1H2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 3, 1) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 0, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 0, 2) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 1, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 2, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 3, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 4, 1) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 1) " 0
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 2) " 1
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 3) " 2
[?25l[1;23r[23;1H
[1;24r[23;1H2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 4) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 5) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 1, 1) " 1
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 2, 1) " 2
[?25l[1;23r[23;1H
[1;24r[23;1H2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 3, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 4, 1) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^start:/,/^end:/wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test55.in" 586 lines, 12256 characters[1;1HTests 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])
:"[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for List and Dictionary types. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 580 lines, 12170 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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[34m^R[m=a[34m^M^[[m:"
:lang C
:redir => a
:try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
:redir END
o[34m^R[m=a[34m^M^[[m:"
:"
:/^start:/,$wq! test.out
ENDTEST
start:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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:[8C[?12l[?25h: return "a:". a:a
[?25l:[8C[?12l[?25h:endfunc
[?25l:[8C[?12l[?25h:$put =d.func(string(remove(d, 'func')))
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Nasty: deepcopy() dict that refers to itself (fails when noref used
[23;80H)[24;1H
[?25l:[8C[?12l[?25h:let d = {1:1, 2:2}
[?25l:[8C[?12l[?25h:let l = [4, d, 6]
[?25l:[8C[?12l[?25h:let d[3] = l
[?25l:[8C[?12l[?25h:let dc = deepcopy(d)
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: let dc = deepcopy(d, 1)
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:14]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:let l2 = [0, l, l, 3]
[?25l:[8C[?12l[?25h:let l[1] = l2
[?25l:[8C[?12l[?25h:let l3 = deepcopy(l2)
[?25l:[8C[?12l[?25h:$put ='same list: ' . (l3[1] is l3[2])
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Locked variables
[?25l:[8C[?12l[?25h:for depth in range(5)
[?25l:[10C[?12l[?25h: $put ='depth is ' . depth
[?25l:[10C[?12l[?25h: for u in range(3)
[?25l:[12C[?12l[?25h: unlet l
[?25l:[12C[?12l[?25h: let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]
[?25l:[12C[?12l[?25h: exe "lockvar " . depth . " l"
[?25l:[12C[?12l[?25h: if u == 1
[?25l:[14C[?12l[?25h: exe "unlockvar l"
[?25l:[14C[?12l[?25h: elseif u == 2
[?25l:[14C[?12l[?25h: exe "unlockvar " . depth . " l"
[?25l:[14C[?12l[?25h: endif
[?25l:[12C[?12l[?25h: let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").i
[23;80Hs[24;1Hlocked("l[1][1][0]").'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2][
[23;80H'[24;1H6'][7]")
[?25l:[12C[?12l[?25h: $put =ps
[?25l:[12C[?12l[?25h: let ps = ''
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[1][1][0] = 99
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[1][1] = [99]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[1] = [99]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[2]['6'][7] = 99
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[2][6] = {99: 99}
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[2] = {99: 99}
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l = [99]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: $put =ps
[?25l:[12C[?12l[?25h: endfor
[?25l:[10C[?12l[?25h:endfor
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Unletting locked variables
[?25l:[8C[?12l[?25h:$put ='Unletting:'
[?25l:[8C[?12l[?25h:for depth in range(5)
[?25l:[10C[?12l[?25h: $put ='depth is ' . depth
[?25l:[10C[?12l[?25h: for u in range(3)
[?25l:[12C[?12l[?25h: unlet l
[?25l:[12C[?12l[?25h: let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]
[?25l:[12C[?12l[?25h: exe "lockvar " . depth . " l"
[?25l:[12C[?12l[?25h: if u == 1
[?25l:[14C[?12l[?25h: exe "unlockvar l"
[?25l:[14C[?12l[?25h: elseif u == 2
[?25l:[14C[?12l[?25h: exe "unlockvar " . depth . " l"
[?25l:[14C[?12l[?25h: endif
[?25l:[12C[?12l[?25h: let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").i
[23;80Hs[24;1Hlocked("l[1][1][0]").'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2][
[23;80H'[24;1H6'][7]")
[?25l:[12C[?12l[?25h: $put =ps
[?25l:[12C[?12l[?25h: let ps = ''
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[2]['6'][7]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[2][6]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[2]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[1][1][0]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[1][1]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[1]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: $put =ps
[?25l:[12C[?12l[?25h: endfor
[?25l:[10C[?12l[?25h:endfor
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Locked variables and :unlet or list / dict functions
[?25l:[8C[?12l[?25h:$put ='Locks and commands or functions:'
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='No :unlet after lock on dict:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar 1 d
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: unlet d.a
[?25l:[10C[?12l[?25h: $put ='did :unlet'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:16]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put =':unlet after lock on dict item:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar d.a
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: unlet d.a
[?25l:[10C[?12l[?25h: $put ='did :unlet'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:16]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='filter() after lock on dict item:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar d.a
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: call filter(d, 'v:key != "a"')
[?25l:[10C[?12l[?25h: $put ='did filter()'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:16]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='map() after lock on dict:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar 1 d
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: call map(d, 'v:val + 200')
[?25l:[10C[?12l[?25h: $put ='did map()'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:16]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='No extend() after lock on dict item:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar d.a
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: $put =string(extend(d, {'a': 123}))
[?25l:[10C[?12l[?25h: $put ='did extend()'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:14]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='No remove() of write-protected scope-level variable:'
[?25l:[8C[?12l[?25h:fun! Tfunc(this_is_a_loooooooooong_parameter_name)
[?25l:[10C[?12l[?25h: try
[?25l:[12C[?12l[?25h: $put =string(remove(a:, 'this_is_a_loooooooooong_parameter_na
[23;80Hm[24;1He'))
[?25l:[12C[?12l[?25h: $put ='did remove()'
[?25l:[12C[?12l[?25h: catch
[?25l:[12C[?12l[?25h: $put =v:exception[:14]
[?25l:[12C[?12l[?25h: endtry
[?25l:[10C[?12l[?25h:endfun
[?25l:[10C[?12l[?25h:call Tfunc('testval')
[?25l:[10C[?12l[?25h:"
[?25l:[10C[?12l[?25h:$put ='No extend() of write-protected scope-level variable:'
[?25l:[10C[?12l[?25h:fun! Tfunc(this_is_a_loooooooooong_parameter_name)
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: $put =string(extend(a:, {'this_is_a_loooooooooong_parameter
[23;80H_[24;1Hname': 1234}))
[?25l:[14C[?12l[?25h: $put ='did extend()'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: $put =v:exception[:14]
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h:endfun
[?25l:[12C[?12l[?25h:call Tfunc('testval')
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:$put ='No :unlet of variable in locked scope:'
[?25l:[12C[?12l[?25h:let b:testvar = 123
[?25l:[12C[?12l[?25h:lockvar 1 b:
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: unlet b:testvar
[?25l:[14C[?12l[?25h: $put ='b:testvar was :unlet: '. (!exists('b:testvar'))
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put =v:exception[:16]
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:unlockvar 1 b:
[?25l:[12C[?12l[?25h:unlet! b:testvar
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:$put ='No :let += of locked list variable:'
[?25l:[12C[?12l[?25h:let l = ['a', 'b', 3]
[?25l:[12C[?12l[?25h:lockvar 1 l
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let l += ['x']
[?25l:[14C[?12l[?25h: $put ='did :let +='
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put =v:exception[:14]
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:unlet l
[?25l:[12C[?12l[?25h:let l = [1, 2, 3, 4]
[?25l:[12C[?12l[?25h:lockvar! l
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:unlockvar l[1]
[?25l:[12C[?12l[?25h:unlet l[0:1]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:unlet l[1:2]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:unlockvar l[1]
[?25l:[12C[?12l[?25h:let l[0:1] = [0, 1]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:let l[1:2] = [0, 1]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:unlet l
[?25l:[12C[?12l[?25h:" :lockvar/islocked() triggering script autoloading
[?25l:[12C[?12l[?25h:set rtp+=./sautest
[?25l:[12C[?12l[?25h:lockvar g:footest#x
[?25l:[12C[?12l[?25h:unlockvar g:footest#x
[?25l:[12C[?12l[?25h:$put ='locked g:footest#x:'.islocked('g:footest#x')
[?25l:[12C[?12l[?25h:$put ='exists g:footest#x:'.exists('g:footest#x')
[?25l:[12C[?12l[?25h:$put ='g:footest#x: '.g:footest#x
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" a:000 function argument
[?25l:[12C[?12l[?25h:" first the tests that should fail
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000 = [1, 2]
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught a:000'
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000[0] = 9
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught a:000[0]'
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000[2] = [9, 10]
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught a:000[2]'
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000[3] = {9: 10}
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught a:000[3]'
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:" now the tests that should pass
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000[2][1] = 9
[?25l:[14C[?12l[?25h: call extend(a:000[2], [5, 6])
[?25l:[14C[?12l[?25h: let a:000[3][5] = 8
[?25l:[14C[?12l[?25h: let a:000[3]['a'] = 12
[?25l:[14C[?12l[?25h: $put =string(a:000)
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught ' . v:exception
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" reverse(), sort(), uniq()
[?25l:[12C[?12l[?25h:let l = ['-0', 'A11', 2, 2, 'xaaa', 4, 'foo', 'foo6', 'foo', [0,
[23;80H1[24;1H, 2], 'x8', [0, 1, 2], 1.5]
[?25l:[12C[?12l[?25h:$put =string(uniq(copy(l)))
[?25l:[12C[?12l[?25h:$put =string(reverse(l))
[?25l:[12C[?12l[?25h:$put =string(reverse(reverse(l)))
[?25l:[12C[?12l[?25h:$put =string(sort(l))
[?25l:[12C[?12l[?25h:$put =string(reverse(sort(l)))
[?25l:[12C[?12l[?25h:$put =string(sort(reverse(sort(l))))
[?25l:[12C[?12l[?25h:$put =string(uniq(sort(l)))
[?25l:[12C[?12l[?25h:let l=[7, 9, 'one', 18, 12, 22, 'two', 10.0e-16, -1, 'three', 0xf
[23;80Hf[24;1H, 0.22, 'four']
[?25l:[12C[?12l[?25h:$put =string(sort(copy(l), 'n'))
[?25l:[12C[?12l[?25h:let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0, -0, 0.22, 'bar',
[23;80H'[24;1HBAR', 'Bar', 'Foo', 'FOO', 'foo', 'FOOBAR', {}, []]
[?25l:[12C[?12l[?25h:$put =string(sort(copy(l), 1))
[?25l:[12C[?12l[?25h:$put =string(sort(copy(l), 'i'))
[?25l:[12C[?12l[?25h:$put =string(sort(copy(l)))
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" splitting a string to a List
[?25l:[12C[?12l[?25h:$put =string(split(' aa bb '))
[?25l:[12C[?12l[?25h:$put =string(split(' aa bb ', '\W\+', 0))
[?25l:[12C[?12l[?25h:$put =string(split(' aa bb ', '\W\+', 1))
[?25l:[12C[?12l[?25h:$put =string(split(' aa bb ', '\W', 1))
[?25l:[12C[?12l[?25h:$put =string(split(':aa::bb:', ':', 0))
[?25l:[12C[?12l[?25h:$put =string(split(':aa::bb:', ':', 1))
[?25l:[12C[?12l[?25h:$put =string(split('aa,,bb, cc,', ',\s*', 1))
[?25l:[12C[?12l[?25h:$put =string(split('abc', '\zs'))
[?25l:[12C[?12l[?25h:$put =string(split('abc', '\zs', 1))
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" compare recursively linked list and dict
[?25l:[12C[?12l[?25h:let l = [1, 2, 3, 4]
[?25l:[12C[?12l[?25h:let d = {'1': 1, '2': l, '3': 3}
[?25l:[12C[?12l[?25h:let l[1] = d
[?25l:[12C[?12l[?25h:$put =(l == l)
[?25l:[12C[?12l[?25h:$put =(d == d)
[?25l:[12C[?12l[?25h:$put =(l != deepcopy(l))
[?25l:[12C[?12l[?25h:$put =(d != deepcopy(d))
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" compare complex recursively linked list and dict
[?25l:[12C[?12l[?25h:let l = []
[?25l:[12C[?12l[?25h:call add(l, l)
[?25l:[12C[?12l[?25h:let dict4 = {"l": l}
[?25l:[12C[?12l[?25h:call add(dict4.l, dict4)
[?25l:[12C[?12l[?25h:let lcopy = deepcopy(l)
[?25l:[12C[?12l[?25h:let dict4copy = deepcopy(dict4)
[?25l:[12C[?12l[?25h:$put =(l == lcopy)
[?25l:[12C[?12l[?25h:$put =(dict4 == dict4copy)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" Pass the same List to extend()
[?25l:[12C[?12l[?25h:let l = [1, 2, 3, 4, 5]
[?25l:[12C[?12l[?25h:call extend(l, l)
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" Pass the same Dict to extend()
[?25l:[12C[?12l[?25h:let d = { 'a': {'b': 'B'}}
[?25l:[12C[?12l[?25h:call extend(d, d)
[?25l:[12C[?12l[?25h:$put =string(d)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" Pass the same Dict to extend() with "error"
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: call extend(d, d, "error")
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put =v:exception[:15] . v:exception[-1:-1]
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:$put =string(d)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" test for range assign
[?25l:[12C[?12l[?25h:let l = [0]
[?25l:[12C[?12l[?25h:let l[:] = [1, 2]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:endfun
[27m[23m[m[H[2J[?25l[1;1H:$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[34m^R[m=a[34m^M^[[m:"
:lang C
:redir => a
:try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
:redir END
o[34m^R[m=a[34m^M^[[m:"
:"
:/^start:/,$wq! test.out
ENDTEST
start:[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Test(1, 2, [3, 4], {5: 6}) " This may take a while
[?25l[1m[37m[41mError detected while processing function Test:[m[24;47H[Kgcc -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/misc1.o misc1.c
[24;1H
[33mline 76:[m
[1m[37m[41mE684: list index out of range: 1[m
[33mline 91:[m
[1m[37m[41mE684: list index out of range: 2[m
[33mline 271:[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[33mline 441:[m
[1m[37m[41mE741: Value is locked: l[0:1][m
[33mline 443:[m
[1m[37m[41mE741: Value is locked: l[1:2][m
[33mline 446:[m
[1m[37m[41mE741: Value is locked: l[0:1] = [0, 1][m
[33mline 448:[m
[1m[37m[41mE741: Value is locked: l[1:2] = [0, 1][m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[1;1H['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 122[2;1H, 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]
[1m[34m~ [22;1H[?12l[?25h[?25l
[m:[?12l[?25hdelfunc Testgcc -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
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hunlet dict
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for patch 7.3.637
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet a = 'No error caught'
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htry|foldopen|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H=[?12l[?25ha
[?25l[23;1HVim(foldopen):E490:[23;20H[K[23;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang C
[?25l[23;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir => a
[?25l[23;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htry|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
[?25l[1m[37m[41mError detected while processing :[m[24;34H[K[24;1H
[1m[37m[41mE492: Not an editor command: foobar|catch|let a = matchstr(v:exception,'^[^ ]*'[m
[23;80H[1m[37m[41m)[24;1H|endtry[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[3L[1;1H['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 122[2;1H, 18, 22, 255, 7, 9, [], {}]
['aa', 'bb'][24;1H[K[23;19H[?12l[?25h[?25l
=[?12l[?25ha
[?25l[1;23r[1;1H[5M[1;24r[21;1HError detected while processing :
E492: Not an editor command: foobar|catch|let a = matchstr(v:exception,'^[^ ]*'))[23;1H|endtry[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test56.in" 21 lines, 457 characters[1;1HTest 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>delfunn[21;1Hc <SID>DoNothing<bar>delfunc <SID>DoLast<cr>
end:
[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for script-local function. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 7 lines, 120 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/+1,/^end:/-1w! Xtest.vim
[?25l"Xtest.vim" [24;13H[K[24;13H[New] 7L, 251C written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsource Xtest.vim
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:call <SNR>4_DoNothing()|call <SNR>4_DoLast()|delfunc <SNR>4_DoNothing|delfunc
[23;80H<[24;1HSNR>4_DoLast
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[L[?25l[1;1HTest for script-local function. vim: set ft=vim :[23;1Hnothing line[23;13H[K[24;1H[K[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h$-1,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test57.in" 545 lines, 4110 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :sort command. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 33 lines, 920 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:/^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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^t01:/+1,/^t02/-1sort
[?25l[15;1H[K[16;1H[K[17;1H 123b[18;2H[K[19;4H2
a123
a
ab[22;3H[K[23;1Habc[23;4H[K[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^t02:/+1,/^t03/-1sort n
[?25l[1;23r[1;1H[9M[1;24r[15;1Hb123
b321
b321
b321b
b322b
c123d
c321d
t02: numeric
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^tgcc -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
03:/+1,/^t04/-1sort x
[?25l[27m[23m[m[H[2J[1;1Ha123
b123
c123d
123b
a321
b321
c321d
b321
b321b
b322b
t03: hexadecimal
a
ab
abc
123b
a122
a123
a321
b123
b321
b321[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t04:/+1,/^t05/-1sort u
[?25l[1;23r[1;1H[6M[1;24r[18;1Hb321b
b322b
c123d
c321d
t04: alpha, unique[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t05:/+1,/^t06/-1sort!
[?25l[27m[23m[m[H[2J[1;1Ha123
a321
ab
abc
b123
b321
b321b
b322b
c123d
c321d
t05: alpha, reverse
c321d
c123d
b322b
b321b
b321
b321
b123
abc
ab
a321
a123
a122[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t06:/+1,/^t07/-1sort! n
[?25l[1;23r[1;1H[6M[1;24r[18;1Ha
123b
t06: numeric, reverse
b322b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t07:/+1,/^t08/-1sort! u
[?25l[27m[23m[m[H[2J[1;2H123b
c123d
b123
a123
a122
a
ab
abc
t07: unique, reverse
c321d
c123d
b322b
b321b
b321
b123
abc
ab
a321
a123
a122
a[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t08:/+1,/^t09/-1sort o
[?25l[1;23r[1;1H[4M[1;24r[20;2H123b
t08: octal
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t09:/+1,/^t10/-1sort! x
[?25l[27m[23m[m[H[2J[1;1Ha123
b123
c123d
123b
a321
b321
c321d
b321
b321b
b322b
t09: reverse, hexadecimal
c321d
c123d
b322b
b321b
b321
b321
b123
a321
a123
a122
123b
abc[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t10:/+1,/^t11/-1sort/./
[?25l[1;23r[1;1H[6M[1;24r[18;1Hab
a
t10: alpha, skip first character
a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t11:/+1,/^t12/-1sort/../
[?25l[27m[23m[m[H[2J[1;2H123b
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t12:/+1,/^t13/-1sort/../u
[?25l[1;23r[1;1H[6M[1;24r[18;1Hb123
123b
c123d
abc
t12: alpha, unique, skip first 2 characters
ab[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t13:/+1,/^t14/-1sort/./n
[?25l[27m[23m[m[H[2J[1;1Hb321
b321b
c321d
a122
b322b
a123
b123
123b
c123d
abc
t13: numeric, skip first character
abc
ab
a
a122
a123
b123
c123d
123b
a321
b321[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t14:/+1,/^t15/-1sort/./r
[?25l[1;23r[1;1H[6M[1;24r[18;1Hc321d
b321
b321b
b322b
t14: alpha, sort on first character[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t15:/+1,/^t16/-1sort/../r
[?25l[27m[23m[m[H[2J[1;1Ha321
a123
a122
b321
b123
b322b
b321
b321b
c123d
c321d
t15: alpha, sort on first 2 characters
a[15;2H123b
a123
a122
a321
abc
ab
b123
b321
b322b[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t16:/+1,/^t17/-1sort/./rn
[?25l[1;23r[1;1H[6M[1;24r[18;1Hb321
b321b
c123d
c321d
t16: numeric, sort on first character
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t17:/+1,/^t18/-1sort/\d/
[?25l[27m[23m[m[H[2J[1;1Hb321
b123
c123d
123b
c321d
b322b
b321
b321b
t17: alpha, skip past first digit
abc
ab
a
a321
b321
b321
b321b
c321d
a122
b322b[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t18:/+1,/^t19/-1sort/\d/r
[?25l[1;23r[1;1H[6M[1;24r[18;1Ha123
b123
123b
c123d
t18: alpha, sort on first digit
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t19:/+1,/^t20/-1sort/\d/n
[?25l[27m[23m[m[H[2J[1;1Ha122
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t20:/+1,/^t21/-1sort/\d/rn
[?25l[1;23r[1;1H[6M[1;24r[18;1Ha123
b123
c123d
123b
t20: numeric, sort on first digit
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t21:/+1,/^t22/-1sort/\d\d/
[?25l[27m[23m[m[H[2J[1;1Ha122
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t22:/+1,/^t23/-1sort/\d\d/n
[?25l[1;23r[1;1H[6M[1;24r[18;1Ha123
b123
123b
c123d
t22: numeric, skip past first 2 digits
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t23:/+1,/^t24/-1sort/\d\d/x
[?25l[27m[23m[m[H[2J[1;1Hb321
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t24:/+1,/^t25/-1sort/\d\d/r
[?25l[1;23r[1;1H[6M[1;24r[18;1Hc321d
b322b
123b
c123d
t24: alpha, sort on first 2 digits
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t25:/+1,/^t26/-1sort/\d\d/rn
[?25l[27m[23m[m[H[2J[1;1Ha122
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t26:/+1,/^t27/-1sort/\d\d/rx
[?25l[1;23r[1;1H[6M[1;24r[18;1Hc321d
b322b
b321
b321b
t26: hexadecimal, sort on first 2 digits
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t27:/+1,/^t28/-1sort no
[?25l[1m[37m[41mE474: Invalid argument[m[24;23H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^t28:/+1,/^t29/-1sort b
[?25l[27m[23m[m[H[2J[1;1Hb321
b123
c123d
123b
c321d
b322b
b321
b321b
t28: binary
0b000000
0b001000
0b010000
0b100000
0b100010
0b100010
0b100100
0b101000
0b101000
0b101001[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t29:/+1,/^t30/-1sort b
[?25l[1;23r[1;1H[6M[1;24r[18;1H0b101001
0b101010
0b101100
0b111000
t29: binary with leading characters[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t30:/+1,/^t31/-1sort f
[?25l[27m[23m[m[H[2J[1;1Ha0b001000
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[15;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t01:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test60.in" 601 lines, 13116 characters[1;1HTests 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:result[7;9Hecho "OK"
else[9;9Hecho "FAILED: Checking for " . a:str
endif
endfunction
:function! TestExists()
augroup myagroup[14;9Hautocmd! BufEnter[7C*.my echo "myfile edited"[15;9Hautocmd! FuncUndefined UndefFun exec "fu UndefFun()\nendfu"
augroup END
set rtp+=./sautest[19;5Hlet test_cases = [][21;5H" valid autocmd group
let test_cases += [['#myagroup', 1]]
" valid autocmd group with garbage[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for the exists() and has() functions. vim: set ft=vim ts=8 sw=2 :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 596 lines, 13023 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;9Hendif
endfunction[4;5Hcall TestFuncArg("arg1", "arg2")[6;5Hecho ' g:footest#x =' g:footest#x
echo ' footest#F()' footest#F()
echo 'UndefFun()' UndefFun()[10;5Hredir 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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! RunTest(str, result)
[?25l
: [?12l[?25h if exists(a:str) == a:result
[?25l: [?12l[?25h[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "FAILED: Checking for " . a:str
[?25l: [?12l[?25h endif
[?25l: [?12l[?25hendfunction
[1;1H[6L[?25l[1;9Hendif
endfunction[4;5Hcall TestFuncArg("arg1", "arg2")[6;5Hecho ' g:footest#x =' g:footest#x[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hfunction! TestExists()
[?25l
: [?12l[?25h augroup myagroup
[?25l: [?12l[?25h[34m^I[mautocmd! BufEnter *.my echo "myfile edited"
[?25l: [?12l[?25h[34m^I[mautocmd! 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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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
[27m[23m[m[H[2J[?25l[1;9Hendif
endfunction[4;5Hcall TestFuncArg("arg1", "arg2")[6;5Hecho ' g:footest#x =' g:footest#x
echo ' footest#F()' footest#F()
echo 'UndefFun()' UndefFun()[10;5Hredir 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[24;13H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[1;9Hendif
endfunction[4;5Hcall TestFuncArg("arg1", "arg2")[6;5Hecho ' g:footest#x =' g:footest#x
echo ' footest#F()' footest#F()
echo 'UndefFun()' UndefFun()[10;5Hredir 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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc RunTest
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc TestFuncArg
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit! test.out
[?25l"test.out" [24;12H[K[24;12H[Incomplete last line] 206 lines, 1940 characters[1;9H[K[2;1H#myagroup: 1[2;13H[K[3;1HOK
#myagroup+b: 0[4;15H[K[5;1HOK
#myagroup#BufEnter: 1[6;22H[K[7;1HOK[7;5H[K[8;1H#myagroup#BufEnter#*.my: 1[8;27H[K[9;1HOK
#BufEnter: 1[10;13H[K[11;1HOK[11;3H[K[12;1H#BufEnter#*.my: 1[12;18H[K[13;1HOK
#xyzagroup: 0[14;14H[K[15;1HOK[15;3H[K[16;1H#xyzagroup#BufEnter: 0
OK[17;3H[K[18;1H#myagroup#CmdwinEnter: 0
OK
#myagroup#xyzacmd: 0
OK[21;3H[K[22;1H#myagroup#BufEnter#xyzpat: 0
OK[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff=unix
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out"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/evalfunc.o evalfunc.c
206 lines, 1941 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test64.in" 654 lines, 27565 characters[1;1HTest 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 """"""""""""""""""""""""""""""""
:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
:"[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for regexp patterns without multi-byte support.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 621 lines, 27090 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" tl is a List of Lists with:
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" regexp engine
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" regexp pattern
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" text to test the pattern on
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected match (optional)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected submatch 1 (optional)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected submatch 2 (optional)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" etc.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When there is no match use only the first two items.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tl = []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Previously written tests """"""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'ab', 'aab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'b', 'abcdef', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc*', 'abccccdef', 'bcccc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\{-}', 'abccccdef', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\{-}\(d\)', 'abccccdef', 'bccccd', 'd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc*', 'abbdef', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'c*', 'ccc', 'ccc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc*', 'abdef', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'c*', 'abdef', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\+', 'abccccdef', 'bcccc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\+', 'abdef']) "no match
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"operator \|
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\|ab', 'cabd', 'a']) "alternation is ordered
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'c\?', 'ccb', 'c'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\?', 'abd', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\?', 'abccd', 'bc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{1}', 'ab', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'caad', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'aba'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'abaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'aaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vb{1}', 'abca', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vba{2}', 'abaa', 'baa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vba{3}', 'aabaac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'dabc', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'acb'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){0,2}', 'acb', "", ""])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){0,2}', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1,2}', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1,2}', 'ababc', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2,4}', 'ababcab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2,4}', 'abcababa', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'cdababe', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abacabab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab){2}){2}', 'abababab', 'abababab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab){2}){2}', 'abacabababab', 'abababab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){1}', 'a', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aa', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aaac', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'daaac', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'daaac', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'aaa', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2})+', 'adaac', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2})+', 'aa', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aa', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'aa', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){1}', 'a', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){2}', 'aaaa', 'aaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){2}', 'aaabaaaa', 'aaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+){2}', 'dadaac', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{3}){2}', 'aaaaaaa', 'aaaaaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){2}', 'daaac', 'aaa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){2}', 'daaaac', 'aaaa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){2}', 'daaaaac', 'aaaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){3}', 'daac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){2}', 'dac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+)+', 'daac', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+)+', 'aaa', 'aaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+){1,2}', 'aaa', 'aaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+)(a+)', 'aaa', 'aaa', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{3})+', 'daaaac', 'aaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a|b|c)+', 'aacb', 'aacb', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a|b|c){2}', 'abcb', 'ab', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(abc){2}', 'abcabd', ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(abc){2}', 'abdabcabc','abcabc', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a*', 'cc', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a*)+', 'cc', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)+)+', 'ab', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(((ab)+)+)+', 'ab', 'ab', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(((ab)+)+)+', 'dababc', 'abab', 'abab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{0,2})+', 'cc', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a*)+', '', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((a*)+)+', '', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)*)+', '', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{1,3}', 'aab', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2,3}', 'abaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)+|c*)+', 'abcccaba', 'abcccab', '', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2})|(b{3})', 'bbabbbb', 'bbb', '', 'bbb'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}|b{2}', 'abab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a)+|(c)+', 'bbacbaacbbb', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vab{2,3}c', 'aabbccccccccccccc', 'abbc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vab{2,3}c', 'aabbbccccccccccccc', 'abbbc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vab{2,3}cd{2,3}e', 'aabbbcddee', 'abbbcdde'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va(bc){2}d', 'aabcbfbc' ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'a', ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'aa', 'aa' ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'aaa', 'aaa' ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'bbbabcc', ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*b*|a*c*', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{1}b{1}|a{1}b{1}', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"submatches
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a)', 'ab', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a)(b)', 'ab', 'ab', 'a', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab)(b)(c)', 'abbc', 'abbc', 'ab', 'b', 'c'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((a)(b))', 'ab', 'ab', 'ab', 'a', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a)|(b)', 'ab', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a*)+', 'aaaa', 'aaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x', 'abcdef'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""" Simple tests """""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Search single groups
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'ab', 'aab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'ab', 'baced'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'ab', ' ab ', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Search multi-modifiers
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x*', 'xcd', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x*', 'xxxxxxxxxxxxxxxxsofijiojgf', 'xxxxxxxxxxxxxxxx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" empty match is good
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x*', 'abcdoij', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" no match here
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\+', 'abcdoin'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\+', 'abcdeoijdfxxiuhfij', 'xx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\+', 'xxxxx', 'xxxxx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\+', 'abc x siufhiush xxxxxxxxx', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\=', 'x sdfoij', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\=', 'abc sfoij', '']) " empty match is good
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\=', 'xxxxxxxxx c', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\?', 'x sdfoij', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" empty match is good
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\?', 'abc sfoij', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\?', 'xxxxxxxxxx c', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0,0}', 'abcdfdoij', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" same thing as 'a?'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0,1}', 'asiubid axxxaaa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" same thing as 'a\{0,1}'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{1,0}', 'asiubid axxxaaa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aa siofuh'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aaaaa asfoij afaa', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aaaaaaaa', 'aaaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0}', 'asoiuj', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2}', 'aaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2}', 'iuash fiusahfliusah fiushfilushfi uhsaifuh askfj na
[23;80Hs[24;1Hfvius afg aaaa sfiuhuhiushf', 'aa'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2}', 'abcdefghijklmnopqrestuvwxyz1234567890'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" same thing as 'a*'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0,}', 'oij sdigfusnf', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0,}', 'aaaaa aa', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2,}', 'sdfiougjdsafg'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2,}', 'aaaaasfoij ', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{5,}', 'xxaaaaxxx '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{5,}', 'xxaaaaaxxx ', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{,0}', 'oidfguih iuhi hiu aaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{,5}', 'abcd', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{,5}', 'aaaaaaaaaa', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" leading star as normal char when \{} follows
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '***'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '****', '****'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '*****', '*****'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" same thing as 'a*'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{}', 'bbbcddiuhfcd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{}', 'aaaaioudfh coisf jda', 'aaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0,0}', 'abcdfdoij', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" anti-greedy version of 'a?'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0,1}', 'asiubid axxxaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aa siofuh'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aaaaa asfoij afaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aaaaaaaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0}', 'asoiuj', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2}', 'aaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2}', 'abcdefghijklmnopqrestuvwxyz1234567890'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0,}', 'oij sdigfusnf', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0,}', 'aaaaa aa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2,}', 'sdfiougjdsafg'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2,}', 'aaaaasfoij ', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-,0}', 'oidfguih iuhi hiu aaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-,5}', 'abcd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-,5}', 'aaaaaaaaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" anti-greedy version of 'a*'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-}', 'bbbcddiuhfcd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-}', 'aaaaioudfh coisf jda', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test groups of characters and submatches
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(abc\)*', 'abcabcabc', 'abcabcabc', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(ab\)\+', 'abababaaaaa', 'ababab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(abaaaaa\)*cd', 'cd', 'cd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(test1\)\? \(test2\)\?', 'test1 test3', 'test1 ', 'test1',
[23;80H'[24;1H'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(test1\)\= \(test2\) \(test4443\)\=', ' test2 test4443 yupi
[23;80Hi[24;1Hiiiiiiiii', ' test2 test4443', '', 'test2', 'test4443'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(\(sub1\) hello \(sub 2\)\)', 'asterix sub1 hello sub 2 obe
[23;80Hl[24;1Hix', 'sub1 hello sub 2', 'sub1 hello sub 2', 'sub1', 'sub 2'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(\(\(yyxxzz\)\)\)', 'abcdddsfiusfyyzzxxyyxxzz', 'yyxxzz', '
[23;80Hy[24;1Hyxxzz', 'yyxxzz', 'yyxxzz'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)+|c+)+', 'abcccaba', 'abcccab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)|c*)+', 'abcccaba', 'abcccab', '', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a(c*)+b)+', 'acbababaaa', 'acbabab', 'ab', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a|b*)+', 'aaaa', 'aaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\p*', 'aá [34m^I[m', 'aá '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test greedy-ness and lazy-ness
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2,7}','aaaaaaaaaaaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2,7}x','aaaaaaaaax', 'aaaaaaax'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2,7}','aaaaaaaaaaaaaaaaaaaa', 'aaaaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2,7}x','aaaaaaaaax', 'aaaaaaax'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vx(.{-,8})yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz','ayxa
[23;80H'[24;1H,'xayzxayz'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\vx(.*)yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz', 'ayxayzx
[23;80Ha[24;1Hyzxa',''])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){-2,3}','aaaaaaa','aaaa','aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{-1,3})+', 'aa', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\s\{-}\zs\( x\|x$\)', ' x', ' x', ' x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\s\{-}\zs\(x\| x$\)', ' x', ' x', ' x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\s\{-}\ze\(x\| x$\)', ' x', '', ' x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\(\s\{-}\)\(x\| x$\)', ' x', ' x', '', ' x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test Character classes
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\d\+e\d\d','test 10e23 fd','10e23'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test collections and character range []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v[a]', 'abcd', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a[bcd]', 'abcd', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a[b-d]', 'acbd', 'ac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-d][e-f][x-x]d', 'cexdxx', 'cexd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v[[:alpha:]]+', 'abcdefghijklmnopqrstuvwxyz6','abcdefghijkl
[23;80Hm[24;1Hnopqrstuvwxyz'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '[[:alpha:]\+]', '6x8','x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^abc]\+','abcabcabc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^abc]','defghiasijvoinasoiunbvb','d'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^abc]\+','ddddddda','ddddddd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-d]\+','aaaAAAZIHFNCddd','AAAZIHFNC'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-f]*','iiiiiiii',''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-f]*','abcdefgh','abcdef'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-f]\+','abcdefgh','gh'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-c]\{-3,6}','abcabc','abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^[:alpha:]]\+','abcccadfoij7787ysf287yrnccdu','7787'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[-a]', '-', '-'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-]', '-', '-'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-f]*\c','ABCDEFGH','ABCDEF'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[abc][xyz]\c','-af-AF-BY--','BY'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" filename regexp
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[-./[:alnum:]_~]\+', 'log13.file', 'log13.file'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" special chars
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[\]\^\-\\]\+', '\^\\\-\---^', '\^\\\-\---^'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" collation elem
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[[.a.]]\+', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" middle of regexp
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc[0-9]*ddd', 'siuhabc ii'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc[0-9]*ddd', 'adf abc44482ddd oijs', 'abc44482ddd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_[0-9]\+', 'asfi9888u', '9888'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-9\n]\+', 'asfi9888u', '9888'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_[0-9]\+', "asfi\n9888u", "\n9888"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_f', " \na ", "\n"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_f\+', " \na ", "\na"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-9A-Za-z-_.]\+', " @0_a.A-{ ", "0_a.A-"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Test start/end of line, start/end of file
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^a.', "a_\nb ", "a_"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^a.', "b a \na_"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.a$', " a\n "])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.a$', " a b\n_a", "_a"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%^a.', "a a\na", "a "])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%^a', " a \na "])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.a\%$', " a\n "])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.a\%$', " a\n_a", "_a"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Test recognition of character classes
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-7]\+', 'x0123456789x', '01234567'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^0-7]\+', '0a;X+% 897', 'a;X+% 89'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-9]\+', 'x0123456789x', '0123456789'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^0-9]\+', '0a;X+% 9', 'a;X+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-9a-fA-F]\+', 'x0189abcdefg', '0189abcdef'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^0-9A-Fa-f]\+', '0189g;X+% ab', 'g;X+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z_A-Z0-9]\+', ';+aso_SfOij ', 'aso_SfOij'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-z_A-Z0-9]\+', 'aSo_;+% sfOij', ';+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z_A-Z]\+', '0abyz_ABYZ;', 'abyz_ABYZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-z_A-Z]\+', 'abAB_09;+% yzYZ', '09;+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z]\+', '0abcxyz1', 'abcxyz'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z]\+', 'AabxyzZ', 'abxyz'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-z]\+', 'a;X09+% x', ';X09+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-z]\+', 'abX0;%yz', 'X0;%'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-zA-Z]\+', '0abABxzXZ9', 'abABxzXZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-zA-Z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[A-Z]\+', 'aABXYZz', 'ABXYZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^A-Z]\+', 'ABx0;%YZ', 'x0;%'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z]\+\c', '0abxyzABXYZ;', 'abxyzABXYZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[A-Z]\+\c', '0abABxzXZ9', 'abABxzXZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\c[^a-z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\c[^A-Z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Tests for \z features
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" match ends at \ze
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'xx \ze test', 'xx '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\zeend', 'oij abcend', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaxx', ' aabb ', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaxx', ' aaxx ', 'aaxx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aabb\|aa\zebb', ' aabb ', 'aabb'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaebb', ' aabb ', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" match starts at \zs
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\zsdd', 'ddabcddxyzt', 'dd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aa \zsax', ' ax'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc \zsmatch\ze abc', 'abc abc abc match abc abc', 'match'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a \zsif .*){2}', 'a if then a if last', 'if last', 'a if
[23;80Hl[24;1Hast'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\>\zs.', 'aword. ', '.'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\s\+\ze\[/\|\s\zs\s\+', 'is [a t', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Tests for \@= and \& features
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\@=', 'abc', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\@=cd', 'abcd', 'abcd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\@=', 'ababc', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" will never match, no matter the input text
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abcd\@=e', 'abcd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" will never match
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abcd\@=e', 'any text in here ... '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(abc)@=..', 'xabcd', 'ab', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(.*John\)\@=.*Bob', 'here is John, and here is B'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(John.*\)\@=.*Bob', 'John is Bobs friend', 'John is Bob', '
[23;80HJ[24;1Hohn is Bobs friend'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\<\S\+\())\)\@=', '$((i=i+1))', 'i=i+1', '))'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.*John\&.*Bob', 'here is John, and here is B'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.*John\&.*Bob', 'John is Bobs friend', 'John is Bob'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(test1)@=.*yep', 'this is a test1, yep it is', 'test1, yep
[23;80H'[24;1H, 'test1'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, 'foo\(bar\)\@!', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\(bar\)\@!', 'foo bar', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'if \(\(then\)\@!.\)*$', ' if then else'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'if \(\(then\)\@!.\)*$', ' if else ', 'if else ', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@!bar', 'foobar', 'bar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@!...bar', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' bar foo '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' foo bar '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' foo xxx ', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[ ]\@!\p\%([ ]\@!\p\)*:', 'implicit mappings:', 'mappings:']
[23;80H)[24;1H[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '[ ]\@!\p\([ ]\@!\p\)*:', 'implicit mappings:', 'mappings:',
[23;80H'[24;1Hs'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, 'm\k\+_\@=\%(_\@!\k\)\@<=\k\+e', 'mx__xe', 'mx__xe'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%(\U\@<=S\k*\|S\l\)R', 'SuR', 'SuR'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Combining different tests and features
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[[:alpha:]]\{-2,6}', '787abcdiuhsasiuhb4', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '', 'abcd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(())', 'any possible text', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v%(ab(xyz)c)', ' abxyzc ', 'abxyzc', 'xyz'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(test|)empty', 'tesempty', 'empty', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a|aa)(a|aa)', 'aaa', 'aa', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" \%u and friends
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%d32', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%o40', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%x20', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%u0020', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%U00000020', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%d0', "yes\x0ano", "\x0a"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""" \%[abc]
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'fobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobar', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'fooxx', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobxx', 'foob'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobaxx', 'fooba'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobarxx', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]x', 'foobxx', 'foobx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]x', 'foobarxx', 'foobarx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'barxx', 'barx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'bxx', 'bx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'xxx', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'b\%[[ao]r]', 'bar bor', 'bar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'b\%[[]]r]', 'b]r bor', 'b]r'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '@\%[\w\-]*', '<http://john.net/pandoc/>[@pandoc]', '@pandoc'
[23;80H][24;1H)[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Alternatives, must use first longest match
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'goo\|go', 'google', 'goo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\<goo\|\<go', 'google', 'goo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\<goo\|go', 'google', 'goo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Back references
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(\i\+\) \1', ' abc abc', 'abc abc', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(\i\+\) \1', 'xgoo goox', 'goo goo', 'goo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(a\)\(b\)\(c\)\(dd\)\(e\)\(f\)\(g\)\(h\)\(i\)\1\2\3\4\5\6\7
[23;80H\[24;1H8\9', 'xabcddefghiabcddefghix', 'abcddefghiabcddefghi', 'a', 'b', 'c', 'dd', 'e
[23;80H'[24;1H, 'f', 'g', 'h', 'i'])
[?25l[1;1H[2L[1;1H:for pat in [' \ze*', ' \zs*']
: try[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(\d*\)a \1b', ' a b ', 'a b', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^.\(.\).\_..\1.', "aaa\naaa\nb", "aaa\naaa", 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.com', 'foo.bat/foo
[23;80H.[24;1Hcom', 'bat'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.bat'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<=$', 'foo.bat/foo.bat', 'foo.bat/foo
[23;80H.[24;1Hbat', 'bat', 'bat'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\\\@<!\${\(\d\+\%(:.\{-}\)\?\\\@<!\)}', '2013-06-27${0}', '$
[23;80H{[24;1H0}', '0'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '^\(a*\)\1$', 'aaaaaaaa', 'aaaaaaaa', 'aaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\(a\{-2,}\)\1\+$', 'aaaaaaaaa', 'aaaaaaaaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Look-behind with limit
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '<\@<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '<\@1<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '<\@2<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(<<\)\@<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<<
[23;80H'[24;1H])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(<<\)\@1<=span.', 'xxspanxxxx<spanxx<<spanyyy'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(<<\)\@2<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<
[23;80H<[24;1H'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@<!bar.', 'xx foobar1 xbar2 xx', 'bar2'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" look-behind match in front of a zero-width item
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v\C%(<Last Changed:\s+)@<=.*$', '" test header'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v\C%(<Last Changed:\s+)@<=.*$', '" Last Changed: 1970', '19
[23;80H7[24;1H0'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=\>', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=\>', 'barfoo', '', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=.*', 'foobar', 'bar', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" complicated look-behind match
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(r\@<=\|\w\@<!\)\/', 'x = /word/;', '/'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^[a-z]\+\ze \&\(asdf\)\@<!', 'foo bar', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""" \@>
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(a*\)\@>a', 'aaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\(.\{-}b\)\@>.', ' abcbd', ' abc', ' ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(.\{-}\)\(\)\@>$', 'abc', 'abc', 'abc', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TODO: BT engine does not restore submatch after failure
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" "\_" prepended negated collection matches EOL
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_[^8-9]\+', "asfi\n9888", "asfi\n"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_[^a]\+', "asfi\n9888", "sfi\n9888"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Requiring lots of states.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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[1;1H[2L[1;1H:for pat in [' \ze*', ' \zs*']
: try[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Skip adding state twice
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=', "#if FOO",
[23;80H"[24;1H#if", ' FOO'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""" Test \%V atom
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%>70vGesamt', 'Jean-Michel Charlier & Victor Hubinon\Gesamt
[23;80Ha[24;1Husgabe [Salleck] Buck Danny {Jean-Michel Charlier & Victor Hubinon}\Gesamtau
[23;80Hs[24;1Hgabe', 'Gesamt'])
[?25l[1;1H[2L[1;1H:for pat in [' \ze*', ' \zs*']
: try[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Run the tests
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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 ®expengine = 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
[23;80Hx[24;1Ht . '\", 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
[23;80Hx[24;1Ht . '\", 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
[23;80Hx[24;1Ht . '\", 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:[8C[?12l[?25h: if len(t) <= matchidx + i
[?25l:[10C[?12l[?25h: let e = ''
[?25l:[10C[?12l[?25h: else
[?25l:[10C[?12l[?25h: let e = t[matchidx + i]
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: if l[i] != e
[?25l:[10C[?12l[?25h: $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text:
"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: endfor
[?25l: [?12l[?25h: unlet i
[?25l: [?12l[?25h: endif
[?25l: [?12l[?25h: endfor
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[1;1HOK 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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""""" multi-line tests """"""""""""""""""""
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tl = []
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" back references
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^.\(.\).\_..\1.', ['aaa', 'aaa', 'b'], ['XX', 'b']])
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v.*\/(.*)\n.*\/\1$', ['./Dir1/Dir2/zyxwvuts.txt', './Dir1/D
[23;80Hi[24;1Hr2/abcdefgh.bat', '', './Dir1/Dir2/file1.txt', './OtherDir1/OtherDir2/file1.txt
[23;80H'[24;1H], ['./Dir1/Dir2/zyxwvuts.txt', './Dir1/Dir2/abcdefgh.bat', '', 'XX']])
[?25l[1;1H[2L[1;1HOK 0 - ^\(.\{-}b\)\@>.
OK 1 - ^\(.\{-}b\)\@>.[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" line breaks
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\S.*\nx', ['abc', 'def', 'ghi', 'xjk', 'lmn'], ['abc', 'def'
[23;80H,[24;1H 'XXjk', 'lmn']])
[?25l[1;1H[L[1;1HOK 0 - ^\(.\{-}b\)\@>.[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check that \_[0-9] matching EOL does not break a following \>
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)
[23;80H\[24;1H.\)\{3\}\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>', ['', 'loca
[23;80Hl[24;1Hnet/192.168.0.1', ''], ['', 'localnet/XX', '']])
[?25l[1;1H[2L[1;1HOK 0 - ^\(.\{-}b\)\@>.
OK 1 - ^\(.\{-}b\)\@>.[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check a pattern with a line break and ^ and $
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\n^b$\n^c', ['a', 'b', 'c'], ['XX']])
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(^.\+\n\)\1', [' dog', ' dog', 'asdf'], ['XXasdf']])
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Run the multi-line tests
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='multi-line tests'
[?25l[1;23r[23;1H
[1;24r[23;1Hmulti-line tests[24;1H[K[23;1H[?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 ®expengine = engine
[?25l: [?12l[?25h: new
[?25l: [?12l[?25h: call setline(1, before)
[?25l: [?12l[?25h: exe '%sgcc -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
/' . 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) .
[23;80H'[24;1H\", 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
[27m[23m[m[H[2J[?25l[1;1HOK 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[13;1H\_[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[15;1H\_[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[17;1H\_[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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check that using a pattern on two lines doesn't get messed up by using
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" matchstr() with \ze in between.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset re=0
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Substitute here
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: 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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.+1,.+2s/""/\='"'.matchstr(getline("."), '\d\+\ze<').'"'
[?25l[13;5H5">Ta 5</Title>
<T="7">Ac 7</Title>
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Substitute here
[?25l[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.+1,.+2yank
[?25l[12;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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[13;1H\_[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[15;1H\_[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[17;1H\_[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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H<T="5">Ta 5</Title>
[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check a pattern with a look beind crossing a line boundary
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Behind:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: 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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25h\(<\_[xy]\+\)\@3<=start
[?25l[18;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.yank
[?25l[18;3H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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[10;1H\_[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[12;1H\_[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[14;1H\_[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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxxstart3
[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check matching Visual area
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Visual:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H<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:
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[mthe[?25l[?12l[?25h[?25l[7mxe the the[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[?12l[?25hs/\%Ve/E/g
[?25l3 substitutions on 1 line[13;4HxE thE thE
[?12l[?25h
[?25la[7mndaxand andaxand
[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[?12l[?25hs/\%Va/A/g
[?25l6 substitutions on 1 line[14;1HAndAxAnd AndAxAnd[14;18H[K[14;1H[?12l[?25h
ooo[?25l[?12l[?25h[?25l[7mxofor foro[?12l[?25h[?25lx
[mooo[7mxofor foro[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[?12l[?25hs/\%Vo/O/g
[?25l8 substitutions on 2 lines[15;4HxOfOr fOrOx
oooxOfOr fOrO
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^Visual/+1,/^Visual/+4yank
[?25l[31msearch hit BOTTOM, continuing at TOP[m
4 lines yanked[24;15H[K[16;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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[8;1H\_[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[10;1H\_[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[12;1H\_[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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
4 more lines[1;23r[23;1H
[1;24r[23;1HthexE thE thExethe[24;1H[K[24;1H4 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check matching marks
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Marks:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1Hasdfasd<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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[masdf[9C[?25l[24;1H[K[24;1H:[?12l[?25h.-4,.+6s/.\%>'s.*\%<'e../here/
[?25l[13;5Hhereasdf[13;13H[K[13;1H[?12l[?25h
asdf
dfsa
dfsadf[?25l[24;1H[K[24;1H:[?12l[?25h.-4,.+6s/.\%>'s\_.*\%<'e../again/
[?25l[14;23r[23;1H
[1;24r[14;1Hasdfagainasdf[23;1HOK 0 - bc*[24;1H[K[14;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^Marks:/+1,/^Marks:/+3yank
[?25l[31msearch hit BOTTOM, continuing at TOP[m
3 lines yanked[24;15H[K[14;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 2 - \S.*\nx
OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255[3;1H\_[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[5;1H\_[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[7;1H\_[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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
3 more lines[1;23r[1;1H[2M[1;24r[22;1Hasdfhereasdf
asdfagainasdf[24;1H[K[24;1H3 more lines[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check patterns matching cursor position.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunc! Postest()
[?25l
: [?12l[?25h new
[?25l: [?12l[?25h call setline(1, ['ffooooo', 'boboooo', 'zoooooo', 'koooooo', 'moooooo', "\t
[23;80H\[24;1Ht\tfoo", 'abababababababfoo', 'bababababababafoo', '********_', ' xxxxxx
[23;80Hx[24;1Hxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxx xx xxxx
xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxx xxxxxxxxxx
[23;80Hx[24;1Hxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxx xxxxxxxxxxx
[23;80Hx[24;1H xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx xxxxxxxxx xxxx
[23;80Hx[24;1Hxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxx xxx xxx xx
[23;80Hx[24;1Hxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx xxxxxxxxxxxx x
[23;80Hx[24;1Hxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxxxxx
[23;80Hx[24;1Hxxx 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
[27m[23m[m[H[2J[?25l[1;1HOK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255[2;1H\_[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[4;1H\_[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[22;1H[?12l[?25h[?25l[1;4H2[75C55[2;1H\
OK 0 - a\n^b$\n^c[3;18H[K[4;1HOK 1 - a\n^b$\n^c[4;18H[K[5;4H2
OK 0 - \(^.\+\n\)\1
OK 1 - \(^.\+\n\)\1
OK 2[9;1H[K[10;1H<T="5">Ta 5</Title>
<T="7">Ac 7</Title>[12;1H[K[13;1Hxxstart3[13;9H[K[15;1HthexE thE thExethe
AndAxAnd AndAxAnd
oooxOfOr fOrOxooo[17;18H[K[18;1HoooxOfOr fOrOxooo[19;1H[K[20;1Hasdfhereasdf[20;13H[K[21;1Hasdfagainasdf[22;1H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[m
-0-[23;4H[K[23;3H[?12l[?25h[?25l
:[?12l[?25hset re=0
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines
10 lines yanked
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput
[?25l10 more lines
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[3L[?25l[1;1HoooxOfOr fOrOxooo
asdfhereasdf
asdfagainasdf[4;14H[K[5;1H[K[6;1H-0-[6;4H[K[7;1Hffo[7;4H[K[8;1Hbob[8;4H[K[9;1H__ooooo
koooo__[10;8H[K[11;1Hmoooooo[11;8H[K[12;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_[15;11H[K[16;1H ! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[17;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[18;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[19;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [20;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[21;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [22;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[23;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx[24;1H[K[16;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-1-[?12l[?25h[?25l
:[?12l[?25hset re=1
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines
10 lines yanked
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput
[?25l10 more lines
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[3L[?25l[1;1H-1-
ffo
bob
__ooooo
koooo__
moooooo
[21Cf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxx[8C xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxx[8Cxxxxxxxxxxxxx xxxx[18;1Hxxxxxx [7Cxxx xxxx xx xxxxxxxx xxx xxxxxx[9Cx[18;58H[K[19;1H[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[11;3H[?12l[?25h[?25l[19;1H-2-[19;4H[K[19;3H[?12l[?25h[?25l[24;1H:[?12l[?25hset re=2
[?25l[19;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines
10 lines yanked
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput
[?25l10 more lines
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[3L[1;1H-2-
ffo
bob[19;1H[1m[34m~ [m[24;1H[K[11;3H[?12l[?25h[?25l[24;1H:[?12l[?25h" start and end of buffer
[?25l[11;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%^
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1HTest 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 """"""""""""""""""""""""""""""""
:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
:"
[31msearch hit BOTTOM, continuing at TOP[1;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H-2-
ffo
bob
__ooooo
koooo__
moooooo[7;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[18;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx
[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [11;3H[?12l[?25h[?25l[m[19;1H[K[19;1H[?12l[?25h[?25lTest[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[19;4H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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}[12;1H[?12l[?25h[?25l[24;1H/[?12l[?25h\%^..
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1HTest 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 """"""""""""""""""""""""""""""""
:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
:"
[31msearch hit BOTTOM, continuing at TOP[1;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H-2-
ffo
bob
__ooooo
koooo__
moooooo[7;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[18;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx
Test
[1m[34m~ [21;1H~ [22;1H~ [23;1H~ [19;1H[?12l[?25h[?25l[m[20;1H[K[20;1H[?12l[?25h[?25lTest[?12l[?25h[?25lt END[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[20;8H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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}[12;1H[?12l[?25h[?25l[24;1H/[?12l[?25h\%$
[?25l[27m[23m[m[H[2J[1;1H-2-
ffo
bob
__ooooo
koooo__
moooooo[7;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[18;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx
Test
Test END
[1m[34m~ [22;1H~ [23;1H~ [20;8H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H:" 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'])[12;1H[?12l[?25h[?25l[24;1H/[?12l[?25h..\%$
[?25l[27m[23m[m[H[2J[1;1H-2-
ffo
bob
__ooooo
koooo__
moooooo[7;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[18;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx
Test
Test END
[1m[34m~ [22;1H~ [23;1H~ [20;7H[?12l[?25h
[?25l[m[21;1H[K[21;1H[?12l[?25h[?25lEN[?12l[?25h[?25l[22;1H[K[22;1H[?12l[?25h[?25lE[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check for detecting error
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset regexpengine=2
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[7L[?25l[1;1Hffo
bob
__ooooo
koooo__
moooooo[6;25Hf__
ab!babababababfoo
ba!ab##abab?ba
**!*****_[9;10H[K[10;1H ! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[11;1Hxxxxxx xx xxxx xxxxxxxx[12Cxxxxx xxx xxxxxxx xxxxxxxxx [12C xxxxx[12;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxx[11Cxx xxxx xxx xxxx xxx xxx xxxx[13;1Hxx x[11C [15Cxxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [14;1Hxxxxxxxxx xxxxxxx x x[8C xx xxxxxx xxxxxxx xxxxxxx[8Cxxx xxxx[7Cxx[15;1Hxxx xxx xxx xxxxxxxx [7C xxxx xxx xxxxxx xxxxx xxxxx xx [18C [16;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xx[8Cxxx xxxxx [9Cxx xxxxxxxx[7Cx xxxx[17;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxx[17;58H[K[18;1HTest[18;5H[K[19;6HEND
EN[20;3H[K[21;2H[K[22;2H888 detected for \ze*
E888 detected for \zs*[23;24H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""" Write the results """""""""""""
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/\%#=1^Results/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test65.in" 95 lines, 2153 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for floating point and logical operators.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 89 lines, 2067 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has("float")
[?25l
: [?12l[?25h: e! test.ok
[?25l: [?12l[?25h: wq! test.out
[?25l: [?12l[?25h:endif
[1;1H[3L[?25l[1;1H:$put =float2nr(123.456)
:$put =float2nr(-123.456)
:$put ='AND'[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =printf('%f', 123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H123.456000[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%e', 123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H1.234560e+02[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H123.456[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" check we don't crash on division by zero
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hecho 1.0 / 0.0
[?25linf[24;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='+='
[?25l[1;23r[23;1H
[1;24r[23;1H+=[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet v = 1.234
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v += 6.543
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =printf('%g', v)
[?25l[1;23r[23;1H
[1;24r[23;1H7.777[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet v = 1.234
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v += 5
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =printf('%g', v)
[?25l[1;23r[23;1H
[1;24r[23;1H6.234[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet a = 5
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet a += 3.333
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(a)
[?25l[1;23r[23;1H
[1;24r[23;1H8.333[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='=='
[?25l[1;23r[23;1H
[1;24r[23;1H==[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet v = 1.234
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =v == 1.234
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =v == 1.2341
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='add-subtract'
[?25l[1;23r[23;1H
[1;24r[23;1Hadd-subtract[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 4 + 1.234)
[?25l[1;23r[23;1H
[1;24r[23;1H5.234[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 1.234 - 8)
[?25l[1;23r[23;1H
[1;24r[23;1H-6.766[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='mult-div'
[?25l[1;23r[23;1H
[1;24r[23;1Hmult-div[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 4 * 1.234)
[?25l[1;23r[23;1H
[1;24r[23;1H4.936[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 4.0 / 1234)
[?25l[1;23r[23;1H
[1;24r[23;1H0.003241[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='dict'
[?25l[1;23r[23;1H
[1;24r[23;1Hdict[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string({'x': 1.234, 'y': -2.0e20})
[?25l[1;23r[23;1H
[1;24r[23;1H{'x': 1.234, 'y': -2.0e20}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='list'
[?25l[1;23r[23;1H
[1;24r[23;1Hlist[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string([-123.4, 2.0e-20])
[?25l[1;23r[23;1H
[1;24r[23;1H[-123.4, 2.0e-20][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='abs'
[?25l[1;23r[23;1H
[1;24r[23;1Habs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%d', abs(1456))
[?25l[1;23r[23;1H
[1;24r[23;1H1456[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%d', abs(-4))
[?25l[1;23r[23;1H
[1;24r[23;1H4[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%d', abs([1, 2, 3]))
[?25l[1m[37m[41mE745: Using a List as a Number[m[24;32H[K[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', abs(14.56))
[?25l[1;23r[23;1H
[1;24r[23;1H14.56[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', abs(-54.32))
[?25l[1;23r[23;1H
[1;24r[23;1H54.32[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ceil'
[?25l[1;23r[23;1H
[1;24r[23;1Hceil[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', ceil(1.456))
[?25l[1;23r[23;1H
[1;24r[23;1H2.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', ceil(-5.456))
[?25l[1;23r[23;1H
[1;24r[23;1H-5.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', ceil(-4.000))
[?25l[1;23r[23;1H
[1;24r[23;1H-4.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='floor'
[?25l[1;23r[23;1H
[1;24r[23;1Hfloor[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', floor(1.856))
[?25l[1;23r[23;1H
[1;24r[23;1H1.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', floor(-5.456))
[?25l[1;23r[23;1H
[1;24r[23;1H-6.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', floor(4.0))
[?25l[1;23r[23;1H
[1;24r[23;1H4.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='log10'
[?25l[1;23r[23;1H
[1;24r[23;1Hlog10[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', log10(1000))
[?25l[1;23r[23;1H
[1;24r[23;1H3.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', log10(0.01000))
[?25l[1;23r[23;1H
[1;24r[23;1H-2.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='pow'
[?25l[1;23r[23;1H
[1;24r[23;1Hpow[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', pow(3, 3.0))
[?25l[1;23r[23;1H
[1;24r[23;1H27.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', pow(2, 16))
[?25l[1;23r[23;1H
[1;24r[23;1H65536.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='round'
[?25l[1;23r[23;1H
[1;24r[23;1Hround[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', round(0.456))
[?25l[1;23r[23;1H
[1;24r[23;1H0.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', round(4.5))
[?25l[1;23r[23;1H
[1;24r[23;1H5.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', round(-4.50))
[?25l[1;23r[23;1H
[1;24r[23;1H-5.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='sqrt'
[?25l[1;23r[23;1H
[1;24r[23;1Hsqrt[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', sqrt(100))
[?25l[1;23r[23;1H
[1;24r[23;1H10.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hecho sqrt(-4.01)
[?25lnan[24;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='str2float'
[?25l[1;23r[23;1H
[1;24r[23;1Hstr2float[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', str2float('1e40'))
[?25l[1;23r[23;1H
[1;24r[23;1H1.0e40[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='trunc'
[?25l[1;23r[23;1H
[1;24r[23;1Htrunc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', trunc(1.456))
[?25l[1;23r[23;1H
[1;24r[23;1H1.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', trunc(-5.456))
[?25l[1;23r[23;1H
[1;24r[23;1H-5.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', trunc(4.000))
[?25l[1;23r[23;1H
[1;24r[23;1H4.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='float2nr'
[?25l[1;23r[23;1H
[1;24r[23;1Hfloat2nr[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =float2nr(123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H123[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =float2nr(-123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H-123[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='AND'
[?25l[1;23r[23;1H
[1;24r[23;1HAND[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(127, 127)
[?25l[1;23r[23;1H
[1;24r[23;1H127[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(127, 16)
[?25l[1;23r[23;1H
[1;24r[23;1H16[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(127, 128)
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='OR'
[?25l[1;23r[23;1H
[1;24r[23;1HOR[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =or(16, 7)
[?25l[1;23r[23;1H
[1;24r[23;1H23[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =or(8, 7)
[?25l[1;23r[23;1H
[1;24r[23;1H15[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =or(0, 123)
[?25l[1;23r[23;1H
[1;24r[23;1H123[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='XOR'
[?25l[1;23r[23;1H
[1;24r[23;1HXOR[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =xor(127, 127)
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =xor(127, 16)
[?25l[1;23r[23;1H
[1;24r[23;1H111[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =xor(127, 128)
[?25l[1;23r[23;1H
[1;24r[23;1H255[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='invert'
[?25l[1;23r[23;1H
[1;24r[23;1Hinvert[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(invert(127), 65535)
[?25l[1;23r[23;1H
[1;24r[23;1H65408[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(invert(16), 65535)
[?25l[1;23r[23;1H
[1;24r[23;1H65519[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(invert(128), 65535)
[?25l[1;23r[23;1H
[1;24r[23;1H65407[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =invert(1.0)
[?25l[1m[37m[41mE805: Using a Float as a Number[1;23r[m[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^Results/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test66.in" 33 lines, 509 characters[2;1HTest for visual block shift and tab characters.
STARTTEST
:so small.vim
/^one
fe[34m^V[m4jR[34m^[[mugvr1:'<,'>w! test.out
/^abcdefgh
[34m^V[m4jI [34m^[[mj<<11|D
7|a[13C[34m^[[m
7|a[16C[34m^[[m
7|a[13C[34m^[[m4k13|[34m^V[m4j<
:$-5,$w >> test.out
:$-4,$s/\s\+//g
[34m^V[m4kI [34m^[[mj<<
7|a[13C[34m^[[m
7|a[37C[34m^[[m
7|a[21C[34m^[[m4k13|[34m^V[m4j3<
:$-4,$w >> test.out
:qa!
ENDTEST
one two three[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 16 lines, 234 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^one
[?25l[23;1H[?12l[?25hon[?25l[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[19;3H[7me[m
on[7me[m two three
on[7me[m two three
on[7me[m two three
one two three[24;1H[K[23;3H[?12l[?25h[?25l
4 fewer lines[19;1H[K[20;1H[K[21;1Habcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz[19;1H[?12l[?25h[?25l[24;3Hmore lines; before #1 0 seconds ago[19;1Hone two three
one two three
one two three[21;14H[K[22;1Hone two three[22;14H[K[23;1Hone two three[23;14H[K[20;1H[?12l[?25h[?25l[19;3H[7me
[mon[7me
[mon[7me
[mon[7me
[mon[?12l[?25h[?25l[19;3H1
on1
on1
on1
on1[19;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h'<,'>w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 5 lines, 70 characters written[19;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^abcdefgh
[?25l[1;23r[1;1H[2M[1;24r[23;1Habcdefghijklmnopqrstuvwxyz[24;1H[K[23;1H[?12l[?25h[?25l[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[19;1H[7ma
a[mbcdefghijklmnopqrstuvwxyz
[7ma[mbcdefghijklmnopqrstuvwxyz
[7ma[mbcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
[?12l[?25h[?25l[19;1Ha
a
a
a[19;1H abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz[19;1H[?12l[?25h
[?25labcdefghijklmnopqrstuvwxyz[20;27H[K[20;1H[?12l[?25h[10C[?25l[20;11H[K[20;10H[?12l[?25h[21;10H[?25lc defghijklmnopqrstuvwxyz[21;16H[?12l[?25h[22;16H[22;7H[?25lc defghijklmnopqrstuvwxyz[22;19H[?12l[?25h[23;19H[23;7H[?25lc defghijklmnopqrstuvwxyz[23;16H[?12l[?25h[19;16H[?25l[?12l[?25h[?25l[7mi[21;13H [22;13H [23;13H[?12l[?25h[?25l[m
5 lines <ed 1 time[19;13Hi[21;13Hdefghijklmnopqrstuvwxyz[21;36H[K[22;13Hdefghijklmnopqrstuvwxyz[22;36H[K[23;13Hdefghijklmnopqrstuvwxyz[23;36H[K[19;13H[?12l[?25h[20;10H[?25l[24;1H[K[24;1H:[?12l[?25h$-5,$w >> test.out
[?25l"test.out"[24;12H[K[24;12H6 lines, 151 characters appended[20;10H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$-4,$s/\s\+//g
[?25l7 substitutions on 4 lines[19;1Habcdefghijklmnopqrstuvwxyz[19;27H[K[21;1Habcdefghijklmnopqrstuvwxyz[21;27H[K[22;1Habcdefghijklmnopqrstuvwxyz[22;27H[K[23;1Habcdefghijklmnopqrstuvwxyz[23;27H[K[23;1H[?12l[?25h[?25l[?12l[?25h[?25l[20;1H[7ma
a
a
a[19;1H[?12l[?25h[?25l[m
a
a
a
a[19;1H abcdefghijklmnopqrstuvwxyz
abcdefghij
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz[19;1H[?12l[?25h
[?25labcdefghij[20;11H[K[20;1H[?12l[?25h
ab[?25lc defghijklmnopqrstuvwxyz[21;16H[?12l[?25h[22;16H[22;7H[?25lc [10Cdefghijklmnopqrstuvwxyz[22;40H[?12l[?25h[23;30H[23;7H[?25lc defghijklmnopqrstuvwxyz[23;24H[?12l[?25h[19;24H[19;13H[?25l[?12l[?25h[?25l[7mi[21;13H [22;13H [23;13H[?12l[?25h[?25l[m
5 lines <ed 3 times[24;20H[K[19;13Hi[21;13Hdefghijklmnopqrstuvwxyz[21;36H[K[22;13H defghijklmnopqrstuvwxyz[22;41H[K[23;13Hdefghijklmnopqrstuvwxyz[23;36H[K[19;13H[?12l[?25h[20;10H[?25l[24;1H[K[24;1H:[?12l[?25h$-4,$w >> test.out
[?25l"test.out"[24;12H[K[24;12H5 lines, 147 characters appended[20;10H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test67.in" 33 lines, 1110 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest that groups and patterns are tested correctly when calling exists() for[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[Kgcc -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
[24;11H[New File] 27 lines, 999 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[9M[1;24r[15;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet results=[]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haugroup auexists
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haugroup END
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "##BufEnter: " . exists("##BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter: " . exists("#BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter * let g:entered=1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter: " . exists("#BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haugroup auexists
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter * let g:entered=1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haugroup END
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter *.test let g:entered=1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit testfile.test
[?25l"testfile.test" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter <buffer> let g:entered=1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit testfile2.test
[?25l"testfile2.test" [New File][1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [New File][1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(0, results)
[?25l[1;23r[1;1H[10L[1;24r[1;1H##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[24;1H[K[11;1H[?12l[?25h[?25l[24;1H:[?12l[?25h$d
[?25l[11;1H[1m[34m~ [10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" [New File] 10 lines, 190 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test68.in" 131 lines, 1004 characters[1;1HTest for text formatting.
Results of test68:
STARTTEST
:so small.vim
/^{/+1
:set noai tw=2 fo=t
gRa b[34m^[[m
ENDTEST
{
}
STARTTEST
/^{/+1
:set ai tw=2 fo=tw
gqgqjjllab[34m^[[m
ENDTEST
{[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for text formatting.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 4 lines, 48 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noai tw=2 fo=t
[?25l[13;1H[?12l[?25h[?25la
b[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 38 characters written[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[18;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[23;1H
[1;24r[23;1Ha b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset ai tw=2 fo=tw
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4H[K[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Ha[?12l[?25ha [?25l[1;23r[23;1H
[1;24r[23;1Hb[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H4 lines, 34 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H:set tw=3 fo=t
gqgqo
a [34m^V^A^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
a [34m^A[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=3 fo=t
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3H[K[23;1H[34m^A[m[24;1H[K[23;1H[?12l[?25h[2C[?25l[1;23r[1;1H[3M[1;24r[22;1Ha
[34m^A
[?12l[?25h[?25l[1;23r[m[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 58 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H:set tw=2 fo=tcq1 comments=:#
gqgqjgqgqo
a b
#a b[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
a b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=2 fo=tcq1 comments=:#
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H#a b[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Ha b
#a b[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 46 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=5 fo=tcn comments=:#
A b[34m^[[mjA b[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
1 a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=5 fo=tcn comments=:#
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hb[24;1H[K[23;5H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# 1 a[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# b[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+3
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 35 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=5 fo=t2a si
i [34m^[[mA_[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+3
[?25l[1;23r[1;1H[4M[1;24r[20;1H{
x a
b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=5 fo=t2a si
[?25l[23;1H[?12l[?25h[?25l b[?12l[?25h[?25l b_[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc[24;1H[K[23;5H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[4M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 40 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=5 fo=qn comments=:#
gwap
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
# 1 a b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=5 fo=qn comments=:#
[?25l[23;1H[?12l[?25h[?25l[23;7H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# b[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 40 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=5 fo=q2 comments=:#
gwap
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
# x[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=5 fo=q2 comments=:#
[?25l[23;1H[?12l[?25h[?25l# x a
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# b[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+2
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 26 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw& fo=a
I^^[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+2
[?25l[1;23r[1;1H[3M[1;24r[21;1H{
1aa
2bb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw& fo=a
[?25l[23;1H[?12l[?25h[?25l[21;3H1aa ^^2bb }[22;4H[K[23;1HSTARTTEST[21;8H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/mno pqr/[24;1H[K[23;1H[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 69 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:setl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/
A vwx yz[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hmno pqr/
[?25l[24;9H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/* abc def ghi jkl
* mno pqr stu[24;1H[K[23;7H[?12l[?25h[?25l
:[?12l[?25hsetl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/
[?25l[23;7H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H* vwx yz[24;1H[K[23;12H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H*/[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^#/
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 47 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:setl tw=12 fo=tqnc comments=:#
A foobar[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^#/
[?25l[24;4H[K[24;1H[1;23r[23;1H
[1;24r[23;1H# 1 xxxxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hsetl tw=12 fo=tqnc comments=:#
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# foobar[24;1H[K[23;10H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2 lines, 56 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[23;19H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:1;/^Results/,$wq! test.out[24;1H[K[23;19H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l63 fewer lines[24;15H[K[1;1H# 1 a[1;6H[K[2;1H# b[2;6H[K[3;1H}[3;2H[K[4;1H[K[5;1H[K[6;1H{
# x a[7;6H[K[8;1H# b[8;7H[K[9;1H}[9;2H[K[10;2H[K[12;1H{ 1aa ^^2bb }[13;1H[K[14;1H[K[15;1H/* abc def ghi jkl
* mno pqr stu
* vwx yz
*/[18;5H[K[19;1H[K[21;1H# 1 xxxxx
# foobar[22;11H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test69.in" 192 lines, 2185 characters[1;1HTest 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[34m^[[m
ENDTEST
{
XYZ
abc XYZ[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for multi-byte text formatting.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 2 lines, 34 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1HTest 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[34m^[[m
ENDTEST
{
XYZ
abc XYZ[10;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 58 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=2 fo=t
[?25l[22;1H[?12l[?25h
[?25l[1;23r[23;1H
[1;24r[22;5H[K[23;1HXYZ[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5HZ
abc [?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HX[?12l[?25h[?25lY[?12l[?25h[?25lZ[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H8 lines, 80 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[8M[1;24r[16;1H:set tw=1 fo=tm
gqgqjgqgqjgqgqjgqgqjgqgqo
X
Xa
X a
XY
X Y[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
X[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=1 fo=tm
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3H[K[23;1Ha[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HX a
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4H[K[23;1Ha[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3H[K[23;1HY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HX Y
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4H[K[23;1HY
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HX
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;1HX
a
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;1HX
a
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HY
[?12l[?25h[?25lX [?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H13 lines, 140 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo
X
Xa
X a
XY
X Y
aX
abX
abcX
abX c
abXY[34m^[[m
ENDTEST
{
X
Xa
X a
XY
X Y
aX
abX
abcX
abX c[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=2 fo=tm
[?25l[15;1H[?12l[?25h
[?25l[17;23r[17;1H[L[1;24r[16;3H[K[17;1Ha[24;1H[K[17;1H[?12l[?25h
[?25l[19;23r[19;1H[L[1;24r[18;4H[K[19;1Ha[?12l[?25h
[?25l[21;23r[21;1H[L[1;24r[20;3H[K[21;1HY
[?12l[?25h
[?25l[22;4H[K[23;1HY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HaX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HabX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3H[K[23;1HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HabcX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4H[K[23;1HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HabX c
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;3H[K[22;1HX
c[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HabXY
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;3H[K[22;1HX
Y
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HX
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;1HX
a
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;1HX
a
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HY
[?12l[?25h[?25lX [?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HY
a[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HX
ab[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HX
abc[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HX
ab[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1HX
c
ab[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HX[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 47 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H:set ai tw=2 fo=tm
gqgqjgqgqo
X
Xa[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
X[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset ai tw=2 fo=tm
[?25l[23;1H[?12l[?25h [?25l[1;23r[23;1H
[1;24r[23;3HXa[24;1H[K[23;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5H[K[23;3Ha[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
a[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 53 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H:set noai tw=2 fo=tm
gqgqjgqgqo
X
Xa[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
X[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset noai tw=2 fo=tm
[?25l[23;1H[?12l[?25h [?25l[1;23r[23;1H
[1;24r[23;3HXa[24;1H[K[23;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5H[K[23;1Ha[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
a[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H13 lines, 169 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo
X
Xa
XaY
XY
XYZ
X Y
X YZ
XX
XXa
XXY[34m^[[m
ENDTEST
{
X
Xa
XaY
XY
XYZ
X Y
X YZ
XX
XXa[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=2 fo=cqm comments=n:X
[?25l[15;1H[?12l[?25h
[?25l[18;23r[18;1H[L[1;24r[17;4H[K[18;1HXY[24;1H[K[18;1H[?12l[?25h
[?25l[21;23r[21;1H[L[1;24r[20;5H[K[21;1HXZ
[?12l[?25h
[?25l[1;23r[23;1H
[1;24r[22;6H[K[23;1HX Z
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXXa
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXXY
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HXa
[?12l[?25h[?25lXa[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HXY
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HY
[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HXZ
[?12l[?25h[?25lX [?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4HY
[?12l[?25h[?25lX [?12l[?25h[?25lY[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HX Z
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HXa
[?12l[?25h[?25lX[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 30 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=2 fo=tm
RXa[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=2 fo=tm
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HX
a[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 34 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set mps+=[34m^V[mu2018:[34m^V[mu2019
d%
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
‘[23;3Htwo three ’[23;15Hfour[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset mps+=^‘[24;12H:^’[24;14H
[?25l[23;1H[?12l[?25h[?25l four[23;7H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^ra test
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[Kgcc -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
[24;11H2 lines, 16 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1HjVjra
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^ra test
[?25l[1;23r[23;1H
[1;24r[23;1Hra test[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Habba
[?12l[?25h[?25l[2C[7mbba
[?12l[?25h[?25l[1;23r[m[23;1H
[1;24r[22;1H[7ma[m
a[7mab
[?12l[?25h[?25l[m[22;1Haaaa[22;5H[K[23;1Haaa[7m [m[23;4H[K[22;1H[?12l[?25h
[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set whichwrap+=h
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H4 lines, 43 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H/^x
dh
:set whichwrap-=h
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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/move.o move.c
set whichwrap+=h
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^x
[?25l[1;23r[1;1H[2M[1;24r[22;1Há[23;1Hx[24;1H[K[23;1H[?12l[?25h[?25l[22;2Hx[23;1H[K[22;2H[?12l[?25h
[?25l
:[?12l[?25hset whichwrap-=h
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:let a = '.é[23;13H.' " one char of two bytes
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H9 lines, 548 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[13M[1;24r[11;1H:let b = '.é.' " normal e with composing char
/^byteidx
:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[14;1Hx(a, 4)])
:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[16;1Hx(b, 4)])
/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[19;1Hmp(a, 3), byteidxcomp(a, 4)])
:let b = '.é.'
:put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[22;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet a = '.é[24;13H.' " one char of two bytes
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b = '.eé.' " normal e with composing char
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^byteidx
[?25l[1;23r[23;1H
[1;24r[23;1Hbyteidx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), bytei
[23;80Hd[24;1Hx(a, 4)])
[?25l[1;1H[L[1;1H:set whichwrap-=h
ENDTEST[2;8H[K[3;1H[K[4;1Há[4;2Hx[5;1H[K[6;1HSTARTTEST
:let a = '.é[7;13H.' " one char of two bytes[8;6Hb = '.é.' " normal e with composing char
/^byteidx[9;10H[K[10;1H:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[11;1Hx(a, 4)])[11;10H[K[12;1H:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[13;1Hx(b, 4)])[13;10H[K[14;1H/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[16;1Hmp(a, 3), byteidxcomp(a, 4)])[16;30H[K[17;1H:let b = '.é.'[17;15H[K[18;2Hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[19;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])[19;49H[K[20;1HENDTEST[20;8H[K[21;1H[K[22;1Hbyteidx
[0, 1, 3, 4, -1][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), bytei
[23;80Hd[24;1Hx(b, 4)])
[?25l[1;1H[L[1;1HENDTEST[2;1H[K[3;1Há[3;2Hx[4;1H[K[5;1HSTARTTEST
:let a = '.é[6;13H.' " one char of two bytes[7;6Hb = '.é.' " normal e with composing char
/^byteidx[8;10H[K[9;1H:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[10;1Hx(a, 4)])[10;10H[K[11;1H:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[12;1Hx(b, 4)])[12;10H[K[13;1H/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[15;1Hmp(a, 3), byteidxcomp(a, 4)])[15;30H[K[16;1H:let b = '.é.'[16;15H[K[17;2Hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[18;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])[18;49H[K[19;1HENDTEST[19;8H[K[20;1H[K[21;1Hbyteidx
[0, 1, 3, 4, -1][23;8H4, 5[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^byteidxcomp
[?25l[1;23r[23;1H
[1;24r[23;1Hbyteidxcomp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxc
[23;80Ho[24;1Hmp(a, 3), byteidxcomp(a, 4)])
[?25l[1;1H[L[1;1Há[1;2Hx[2;1H[K[3;1HSTARTTEST
:let a = '.é[4;13H.' " one char of two bytes[5;6Hb = '.é.' " normal e with composing char
/^byteidx[6;10H[K[7;1H:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[8;1Hx(a, 4)])[8;10H[K[9;1H:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[10;1Hx(b, 4)])[10;10H[K[11;1H/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[13;1Hmp(a, 3), byteidxcomp(a, 4)])[13;30H[K[14;1H:let b = '.é.'[14;15H[K[15;2Hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[16;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])[16;49H[K[17;1HENDTEST[17;8H[K[18;1H[K[19;1Hbyteidx
[0, 1, 3, 4, -1][21;8H4, 5
byteidxcomp[22;12H[K[23;1H[0, 1, 3, 4, -1][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet b = '.eé.'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxc
[23;80Ho[24;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])
[?25l[1;1H[L[2;1HSTARTTEST
:let a = '.é[3;13H.' " one char of two bytes[4;6Hb = '.é.' " normal e with composing char
/^byteidx[5;10H[K[6;1H:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[7;1Hx(a, 4)])[7;10H[K[8;1H:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[9;1Hx(b, 4)])[9;10H[K[10;1H/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[12;1Hmp(a, 3), byteidxcomp(a, 4)])[12;30H[K[13;1H:let b = '.é.'[13;15H[K[14;2Hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[15;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])[15;49H[K[16;1HENDTEST[16;8H[K[17;1H[K[18;1Hbyteidx
[0, 1, 3, 4, -1][20;8H4, 5
byteidxcomp[21;12H[K[22;1H[0, 1, 3, 4, -1][23;8H2, 4, 5, -1][24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^substitute
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2 lines, 75 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H:let y = substitute('123', '\zs', 'a', 'g') | put =y
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1Hsubstitute[22;1H[?12l[?25h[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^substitute
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet y = substitute('123', '\zs', 'a', 'g') | put =y
[?25l[1;23r[1;1H[2M[1;24r[22;1Ha1a2a3a[24;1H[K[22;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1H:g/^STARTTEST/.,/^ENDTEST/d
:1;/^Results/,$wq! test.out[22;1H[?12l[?25h[?25l
:set ff=unix cpo-=A
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2 lines, 56 characters written[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[22;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[22;19H[?12l[?25h[23;19H
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l104 fewer lines[24;16H[K[1;1H{[1;2H[K[2;1H four[2;6H[K[3;1H}[3;2H[K[4;1H[K[5;1Hra test
aaaa[6;5H[K[7;1Haaa[7;5H[K[8;1H[K[9;1H[K[10;1Há[10;2Hx[10;3H[K[11;1H[K[13;1Hbyteidx[13;8H[K[14;1H[0, 1, 3, 4, -1]
[0, 1, 4, 5, -1][15;17H[K[16;1Hbyteidxcomp
[0, 1, 3, 4, -1]
[0, 1, 2, 4, 5, -1][19;1H[K[21;1Hsubstitute
a1a2a3a[22;11H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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.
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 test70.in
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test70.in" 63 lines, 1501 characters[1;1HSmoke 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HSmoke test for MzScheme interface and mzeval() function[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 55 lines, 1398 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[19;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mzscheme.vim
[?25l"test.ok" [24;11H[K[24;11H6 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test73.in" 169 lines, 3647 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for find completion.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 164 lines, 3600 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Do all test in a separate window to avoid E211 when we recursively
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" delete the Xfind directory during cleanup
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" This will cause a few errors, do it silently.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset visualbell
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" On windows a stale "Xfind" directory may exist, remove it so that
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" we start from a clean state.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xfind", "rf")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7mtest73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet cwd=getcwd()
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet test_out = cwd . '/test.out'
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xfind')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd Xfind
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind[23;1H[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/test73.in[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind ...[?25l[24;7H[K[24;7H[?5h[?5l[?12l[?25h
[?25l[1m[37m[41mE345: Can't find file "" in path[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w! " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<d/vim-tlTJJ2/vim-8.0.0197/src/vim-basic/testdir/test.out" [New] 0L, 0C written[12;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/test73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind ...[?25l[24;7H[K[24;7H[?5h[?5l[?12l[?25h
[?25l[1m[37m[41mE32: No file name[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 0L, 0C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/test73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=.,,
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind ...[?25l[24;7H[K[24;7H[?5h[?5l[?12l[?25h
[?25l[1m[37m[41mE32: No file name[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 0L, 0C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/test73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=./**
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind ...[?25l[24;7H[K[24;7H[?5h[?5l[?12l[?25h
[?25l[1m[37m[41mE32: No file name[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 0L, 0C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/test73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" We shouldn't find any file at this point, test.out must be empty.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('in')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd in
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/in[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('path')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir[23;1H[7mtest73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfind/file.txt
[?25l"Xfind/file.txt" [New File][12;1H[1m[7mXfind/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HHoly Grail[12;16H[1m[7m[+][1;10H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"Xfind/file.txt" [New] 1L, 11C written[12;16H[1m[7m [1;10H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfind/in/file.txt
[?25l"Xfind/in/file.txt" [New File][1;1H[K[12;7H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HJimmy Hoffa[12;19H[1m[7m[+][1;11H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"Xfind/in/file.txt" [New] 1L, 12C written[12;19H[1m[7m [1;11H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfind/in/stuff.txt
[?25l"Xfind/in/stuff.txt" [New File][1;1H[K[12;10H[1m[7mstuff.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HAnother Holy Grail[12;20H[1m[7m[+][1;18H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"Xfind/in/stuff.txt" [New] 1L, 19C written[12;20H[1m[7m [1;18H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfind/in/path/file.txt
[?25l"Xfind/in/path/file.txt" [New File][1;1H[K[12;10H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HE.T.[12;24H[1m[7m[+][1;4H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"Xfind/in/path/file.txt" [New] 1L, 5C written[12;24H[1m[7m [1;4H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=Xfind/**
[?25l[1;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" [24;18H[K[24;18H1L, 11C[1;1HHoly Grail[12;7H[1m[7mfile.txtf [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 11C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;7H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h...[?25l[24;7Hpath/file.txt[24;20H[K[24;20H[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5C[1;1HE.T.[1;5H[K[12;10H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 5C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Rerun the previous three find completions, using fullpath in 'path'
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "set path=" . cwd . "/Xfind/**"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" [24;18H[K[24;18H1L, 11C[1;1HHoly Grail[12;7H[1m[7mfile.txtf [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 11C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;7H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h...[?25l[24;7Hpath/file.txt[24;20H[K[24;20H[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5C[1;1HE.T.[1;5H[K[12;10H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 5C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Same steps again, using relative and fullpath items that point to the same
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" recursive location.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" This is to test that there are no duplicates in the completion list.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "set path+=Xfind/**"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" [24;18H[K[24;18H1L, 11C[1;1HHoly Grail[12;7H[1m[7mfile.txtf [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 11C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;7H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h...[?25l[24;7Hpath/file.txt[24;20H[K[24;20H[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5C[1;1HE.T.[1;5H[K[12;10H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/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/mbyte.o mbyte.c
1L, 5C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;10H[1m[7mfile.txte [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" Test find completion for directory of current buffer, which at this point
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" is Xfind/in/file.txt.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset path=.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind st...[?25luff.txt[?12l[?25h
[?25l"Xfind/in/stuff.txt" 1L, 19C[1;1HAnother Holy Grail[12;10H[1m[7mstuff.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 19C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test find completion for empty path item ",," which is the current directory
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd Xfind
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind[12;1H[1m[7min/stuff.txtf [m[23;1H[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/test73.in[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=,,
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind f...[?25lile.txt[?12l[?25h...[?25l[24;15H[K[24;15H[?12l[?25h
[?25l"file.txt" [24;12H[K[24;12H1L, 11C[1;1HHoly Grail[1;11H[K[12;1H[1m[7mfile.txt. [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 11C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test shortening of
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" foo/x/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" foo/y/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When current directory is above foo/ they should be shortened to (in order
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" of appearance):
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" x/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" y/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('foo')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd foo
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foo[12;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall mkdir('x')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('y')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd x
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foo/x[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('bar')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foo[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd y
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foo/y[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('bar')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foo[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind[12;1H[1m[7mfile.txti [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" We should now be in the Xfind directory
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he foo/x/bar/voyager.txt
[?25l"foo/x/bar/voyager.txt" [New File][1;1H[K[12;2H[1m[7moo/x/bar/voyager.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HVoyager 1[12;23H[1m[7m[+][1;9H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"foo/x/bar/voyager.txt" [New] 1L, 10C written[12;23H[1m[7m [1;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he foo/y/bar/voyager.txt
[?25l"foo/y/bar/voyager.txt" [New File][1;1H[K[12;5H[1m[7my/[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HVoyager 2[12;23H[1m[7m[+][1;9H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"foo/y/bar/voyager.txt" [New] 1L, 10C written[12;23H[1m[7m [1;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "set path=" . cwd . "/Xfind/**"
[?25l[1;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7Hx/bar/voyager.txt[?5h[?5l[?12l[?25h
[?25l"foo/x/bar/voyager.txt" 1L, 10C[1;9H1[12;5H[1m[7mx/[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7Hx/bar/voyager.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hy[24;24H[K[24;24H[?12l[?25h
[?25l"foo/y/bar/voyager.txt" 1L, 10C[1;9H2[12;5H[1m[7my/[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When current directory is .../foo/y/bar they should be shortened to (in
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" order of appearance):
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" ./voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" x/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd foo
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foo[12;1H[1m[7my/bar/voyager.txt. [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcd y
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foo/y[12;1H[1m[7mbar/voyager.txt [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcd bar
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foo/y/bar[12;1H[1m[7mvoyager.txt. [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7H./voyager.txt[?5h[?5l[?12l[?25h
[?25l"voyager.txt" [24;15H[K[24;15H1L, 10C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7H./voyager.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hx/bar/voyager.txt[?12l[?25h
[?25l<ld/vim-tlTJJ2/vim-8.0.0197/src/vim-basic/testdir/Xfind/foo/x/bar/voyager.txt"
<tlTJJ2/vim-8.0.0197/src/vim-basic/testdir/Xfind/foo/x/bar/voyager.txt" 1L, 10C[1;9H1[12;1H[1m[7m<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-basic/testdir/Xfind/foo/x/bar/voyager.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check the opposite too:
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foo/y[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foo[12;1H[1m[7mx/bar/voyager.txtv [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcd x
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foo/x[12;1H[1m[7mbar/voyager.txt [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcd bar
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/foo/x/bar[12;1H[1m[7mvoyager.txt. [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7H./voyager.txt[?5h[?5l[?12l[?25h
[?25l"voyager.txt" [24;15H[K[24;15H1L, 10C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7H./voyager.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hy/bar/voyager.txt[?12l[?25h
[?25l<ld/vim-tlTJJ2/vim-8.0.0197/src/vim-basic/testdir/Xfind/foo/y/bar/voyager.txt"
<tlTJJ2/vim-8.0.0197/src/vim-basic/testdir/Xfind/foo/y/bar/voyager.txt" 1L, 10C[1;9H2[12;1H[1m[7m<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-basic/testdir/Xfind/foo/y/bar/voyager.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check for correct handling of shorten_fname()'s behavior on windows
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "cd " . cwd . "/Xfind/in"
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind/in[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./file.txt[?5h[?5l[?12l[?25h
[?25l"file.txt" [24;12H[K[24;12H1L, 12C[1;1HJimmy Hoffa[12;1H[1m[7mfile.txtm [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for relative to current buffer 'path' item
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "cd " . cwd . "/Xfind/"
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xfind[12;1H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=./path
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Open the file where Jimmy Hoffa is found
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he in/file.txt
[?25l"in/file.txt" 1L, 12C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Find the file containing 'E.T.' in the Xfind/in/path directory
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25ltxt[?12l[?25h
[?25l"in/path/file.txt" 1L, 5C[1;1HE.T.[1;5H[K[12;4H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 5C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test that completion works when path=.,,
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset path=.,,
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Open Jimmy Hoffa file
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he in/file.txt
[?25l"in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;4H[1m[7mfile.txte [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Search for the file containing Holy Grail in same directory as in/path.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind stu...[?25lff.txt[?12l[?25h
[?25l"in/stuff.txt" 1L, 19C[1;1HAnother Holy Grail[12;4H[1m[7mstuff.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-basic/testdir/test.out" 1L, 19C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xfind", "rf")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test75.in" 41 lines, 1000 characters[1;1HTests 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[34m^[[m:"[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for maparg().[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 34 lines, 919 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[16M[1;24r[8;1H:" 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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo-=<
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf8
[?25l[27m[23m[m[H[2J[1;1H:map abc x<char-114>x
:call append('$', maparg('abc'))
:map abc y<S-char-114>y
:call append('$', maparg('abc'))
:"
Go[34m^[[m:"
:" 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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap foo<C-V> is<F4>foo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hvnoremap <script> <buffer> <expr> <silent> bar isbar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', maparg('foo<C-V>'))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', string(maparg('foo<C-V>', '', 0, 1)))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', string(maparg('bar', '', 0, 1)))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap <buffer> <nowait> foo bar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', string(maparg('foo', '', 0, 1)))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap abc x<char-114>x
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', maparg('abc'))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap abc y<S-char-114>y
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', maparg('abc'))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[10M[1;24r[14;1Heof
is<F4>foo
{'silent': 0, 'noremap': 0, 'lhs': 'foo<C-V>', 'mode': ' ', 'nowait': 0, 'expr'::[17;1H 0, 'sid': 0, 'rhs': 'is<F4>foo', 'buffer': 0}
{'silent': 1, 'noremap': 1, 'lhs': 'bar', 'mode': 'v', 'nowait': 0, 'expr': 1, ''[19;1Hsid': 0, 'rhs': 'isbar', 'buffer': 1}
{'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ', 'nowait': 1, 'expr': 0, ''[21;1Hsid': 0, 'rhs': 'bar', 'buffer': 1}
xrx
yRy[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Outside of the range, minimum
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <Char-0x1040> a
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexecute "normal a\u1040\<Esc>"
[?25l[23;1Ha[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Inside of the range, minimum
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <Char-0x103f> b
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexecute "normal a\u103f\<Esc>"
[?25l[23;2Hb[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Inside of the range, maximum
[?25l[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <Char-0xf03f> c
[?25l[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexecute "normal a\uf03f\<Esc>"
[?25l[23;3Hc[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Outside of the range, maximum
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <Char-0xf040> d
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexecute "normal a\uf040\<Esc>"
[?25l[23;4Hd[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^eof/+1,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 7 lines, 384 characters written[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test77.in" 30 lines, 719 characters[1;1HInserts 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 | endwhile[22;1Hggdd
:w! Xtest[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HInserts 2 million lines with consecutive integers starting from 1[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 288 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[12;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[6M[1;24r[18;1H:r !cksum Xtest
:s/\s/ /g
:set fileformat&
:.w! test.out
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !executable("cksum")
[?25l
: [?12l[?25h: e! test.ok
[?25l: [?12l[?25h: w! test.out
[?25l: [?12l[?25h: qa!
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1Hcksum is part of POSIX and so should be available on most Unixes.
If it isn't available then the test will be skipped.
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset fileformat=unix undolevels=-1
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[7L[1;24r[1;1HInserts 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.[24;1H[K[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet i = 1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwhile i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhil
[23;80He[24;1Hgcc -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
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/normal.o normal.c
[?25l[1;1H[L[2;1H1[2;2H[K[3;1H2[3;2H[K[4;1H3[4;2H[K[5;1H4[5;2H[K[6;1H5[6;2H[K[7;1H6[7;2H[K[8;1H7[8;2H[K[9;1H8[9;2H[K[10;1H9[10;2H[K[11;1H10[11;3H[K[12;1H11[12;3H[K[13;1H12[13;3H[K[14;1H13[14;3H[K[15;1H14[15;3H[K[16;1H15[16;3H[K[17;1H16[17;3H[K[18;1H17[18;3H[K[19;1H18[19;3H[K[20;1H19[20;3H[K[21;1H20[21;3H[K[22;1H21[22;3H[K[23;1H22[23;3H[K[24;1H[K[1;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H23[1;1H[?12l[?25h
[?25l[24;1H:[?12l[?25hw! Xtest
[?25l"Xtest" [24;9H[K[24;9H[New File] 2000000 lines, 14888896 characters written[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hr !cksum Xtest
[?25l[?12l[?25h[27m[23m[m[H[2J[?25l[1;1H1
2
3678979763 14888896 Xtest
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22[3;1H[?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 -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
[?25l[24;1H:[?12l[?25hs/\s/ /g
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformat&
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 26 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test79.in" 255 lines, 3381 characters[1;1HTest 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/[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for *sub-replace-special* and *sub-replace-expression* on :substitute.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1 line, 14 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[12;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H25 lines, 347 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj:s/L/[34m^V^M[m/
j:s/M/\r/
j:s/N/\[34m^V^M[m/
j:s/O/\n/
j:s/P/\b/
j:s/Q/\t/
j:s/R/\\/
j:s/S/\c/
j:s/T/[34m^V^@[m/
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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/&&/
[?25l[15;2HA
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/\&/
[?25l[16;1H&[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/
[?25l[17;11H987654321
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/D/d/
[?25l[18;1Hd[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/E/~/
[?25l[19;1Hd[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/F/\~/
[?25l[20;1H~[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/G/\ugg/
[?25l[21;2Hg
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/H/\Uh\Eh/
[?25l[22;2Hh
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/I/\lII/
[?25l[23;1HiI
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HJ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/J/\LJ\EJ/
[?25l[23;1HjJ
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HK[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/K/\Uk\ek/
[?25l[23;2Hk
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HlLl[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/L/^[34m^M[m/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hl[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HmMm
[?12l[?25h[?25l
:[?12l[?25hs/M/\r/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hm[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HnNn
[?12l[?25h[?25l
:[?12l[?25hs/N/\^[34m^M[m/
[?25l[23;2H[34m^M[mn
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HoOo[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/O/\n/
[?25l[23;2H[34m^@[mo
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HpPp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/P/\b/
[?25l[23;2H[34m^H[mp
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HqQq[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/Q/\t/
[?25l[23;2H q
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HrRr[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/R/\\/
[?25l[23;2H\
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HsSs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/S/\c/
[?25l[23;2Hc
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HtTt[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/T/^[34m^@[m/
[?25l[23;2H[34m^@[mt
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HU[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/U/\L\uuUu\l\EU/
[?25l[23;2HuuU
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HV[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/V/\U\lVvV\u\Ev/
[?25l[23;1HvVVv
[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set nomagic
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H25 lines, 351 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj:s/L/[34m^V^M[m/
j:s/M/\r/
j:s/N/\[34m^V^M[m/
j:s/O/\n/
j:s/P/\b/
j:s/Q/\t/
j:s/R/\\/
j:s/S/\c/
j:s/T/[34m^V^@[m/
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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nomagic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/&&/
[?25l[15;1H&&
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/\&/
[?25l[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/\mC\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/
[?25l[17;11H987654321
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/D/d/
[?25l[18;1Hd[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/E/~/
[?25l[19;1H~[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/F/\~/
[?25l[20;1H~[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/G/\ugg/
[?25l[21;2Hg
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/H/\Uh\Eh/
[?25l[22;2Hh
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/I/\lII/
[?25l[23;1HiI
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HJ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/J/\LJ\EJ/
[?25l[23;1HjJ
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HK[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/K/\Uk\ek/
[?25l[23;2Hk
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HlLl[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/L/^[34m^M[m/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hl[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HmMm
[?12l[?25h[?25l
:[?12l[?25hs/M/\r/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hm[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HnNn
[?12l[?25h[?25l
:[?12l[?25hs/N/\^[34m^M[m/
[?25l[23;2H[34m^M[mn
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HoOo[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/O/\n/
[?25l[23;2H[34m^@[mo
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HpPp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/P/\b/
[?25l[23;2H[34m^H[mp
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HqQq[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/Q/\t/
[?25l[23;2H q
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HrRr[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/R/\\/
[?25l[23;2H\
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HsSs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/S/\c/
[?25l[23;2Hc
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HtTt[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/T/^[34m^@[m/
[?25l[23;2H[34m^@[mt
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HU[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/U/\L\uuUu\l\EU/
[?25l[23;2HuuU
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HV[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/V/\U\lVvV\u\Ev/
[?25l[23;1HvVVv
[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H15 lines, 203 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj:s/B/\='\\'/
j:s/C/\='[34m^V^M[m'/
j:s/D/\='\[34m^V^M[m'/
j:s/E/\='\\[34m^V^M[m'/
j:s/F/\='\r'/
j:s/G/\='[34m^V^@[m'/
j:s/H/\='\[34m^V^@[m'/
j:s/I/\='\\[34m^V^@[m'/
j:s/J/\='\n'/
j:s/K/\="\r"/
j:s/L/\="\n"/
ENDTEST
TEST_3:
aAa
bBb
cCc
dDd
eEe
fFf
gGg
hHh
iIi[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/\='\'/
[?25l[15;2H\
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/\='\\'/
[?25l[16;2H\\b
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/C/\='^[34m^M[m'/
[?25l[18;23r[18;1H[L[1;24r[17;2H[K[18;1Hc[24;1H[K[18;1H[?12l[?25h
[?25l[24;1H:[?12l[?25hs/D/\='\^[34m^M[m'/
[?25l[20;23r[20;1H[L[1;24r[19;2H\[19;3H[K[20;1Hd[24;1H[K[20;1H[?12l[?25h
[?25l
:[?12l[?25hs/E/\='\\^[34m^M[m'/
[?25l[21;2H\\
e[22;2H[K[23;1HfFf[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/F/\='\r'/
[?25l[23;2H\rf
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HgGg[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/G/\='^[34m^@[m'/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hg[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HhHh
[?12l[?25h[?25l
:[?12l[?25hs/H/\='\^[34m^@[m'/
[?25l[1;23r[23;1H
[1;24r[22;2H\[22;3H[K[23;1Hh[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HiIi
[?12l[?25h[?25l
:[?12l[?25hs/I/\='\\^[34m^@[m'/
[?25l[1;23r[23;1H
[1;24r[22;2H\\
i[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HjJj
[?12l[?25h[?25l
:[?12l[?25hs/J/\='\n'/
[?25l[23;2H\nj
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HkKk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/K/\="\r"/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hk[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HlLl
[?12l[?25h[?25l
:[?12l[?25hs/L/\="\n"/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hl[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H15 lines, 611 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj:s/B/\=substitute(submatch(0), '.', '\\', '')/
j:s/C/\=substitute(submatch(0), '.', '[34m^V^M[m', '')/
j:s/D/\=substitute(submatch(0), '.', '\[34m^V^M[m', '')/
j:s/E/\=substitute(submatch(0), '.', '\\[34m^V^M[m', '')/
j:s/F/\=substitute(submatch(0), '.', '\r', '')/
j:s/G/\=substitute(submatch(0), '.', '[34m^V^@[m', '')/
j:s/H/\=substitute(submatch(0), '.', '\[34m^V^@[m', '')/
j:s/I/\=substitute(submatch(0), '.', '\\[34m^V^@[m', '')/
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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/\=substitute(submatch(0), '.', '\', '')/
[?25l[15;2H\
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/\=substitute(submatch(0), '.', '\\', '')/
[?25l[16;2H\
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/C/\=substitute(submatch(0), '.', '^[34m^M[m', '')/
[?25l[18;23r[18;1H[L[1;24r[17;2H[K[18;1Hc[24;1H[K[18;1H[?12l[?25h
[?25l[24;1H:[?12l[?25hs/D/\=substitute(submatch(0), '.', '\^[34m^M[m', '')/
[?25l[20;23r[20;1H[L[1;24r[19;2H[K[20;1Hd[24;1H[K[20;1H[?12l[?25h
[?25l
:[?12l[?25hs/E/\=substitute(submatch(0), '.', '\\^[34m^M[m', '')/
[?25l[21;2H\[21;3H[K[22;1He[22;2H[K[23;1HfFf[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/F/\=substitute(submatch(0), '.', '\r', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hf[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HgGg
[?12l[?25h[?25l
:[?12l[?25hs/G/\=substitute(submatch(0), '.', '^[34m^@[m', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hg[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HhHh
[?12l[?25h[?25l
:[?12l[?25hs/H/\=substitute(submatch(0), '.', '\^[34m^@[m', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hh[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HiIi
[?12l[?25h[?25l
:[?12l[?25hs/I/\=substitute(submatch(0), '.', '\\^[34m^@[m', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H\[22;3H[K[23;1Hi[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HjJj
[?12l[?25h[?25l
:[?12l[?25hs/J/\=substitute(submatch(0), '.', '\n', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hj[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HkKk
[?12l[?25h[?25l
:[?12l[?25hs/K/\=substitute(submatch(0), '.', "\r", '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hk[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HlLl
[?12l[?25h[?25l
:[?12l[?25hs/L/\=substitute(submatch(0), '.', "\n", '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hl[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 445 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[9M[1;24r[15;1H:set cpo&
/^TEST/
j:s/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) ..[18;1H submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch(([19;1H3) . submatch(2) . submatch(1)/
j:s/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), subb[21;1Hmatch(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), subb[22;1Hmatch(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[1;23r[23;1H
[1;24r[23;1HTEST_5:[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HA123456789
[?12l[?25h[?25l
:[?12l[?25hs/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) .
submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch(
[23;80H3[24;1H) . submatch(2) . submatch(1)/
[?25l[1;1H[2L[1;1Hi\
i[23;11H987654321[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HB123456789
[?12l[?25h[?25l
:[?12l[?25hs/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), sub
[23;80Hm[24;1Hatch(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), sub
[23;80Hm[24;1Hatch(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/
[?25l[1;1H[2L[1;1Hi
j[23;1H[['B123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']][24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H8 lines, 80 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[8M[1;24r[16;1H/^TEST/
:set cpo+=/
j:s/A/a/
j:s/B/%/
:set cpo-=/
j:s/C/c/
j:s/D/%/
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1HTEST_6:
A
B[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hset cpo+=/
[?25l[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/a/
[?25l[22;1Ha[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/%/
[?25l[23;1Ha[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo-=/
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1HC
D[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hs/C/c/
[?25l[21;1Hc[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/D/%/
[?25l[22;1H%[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[Kgcc -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
[24;11H11 lines, 303 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[11M[1;24r[13;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST_7/
[?25l[24;9H[K[24;1H[1;23r[23;1H
[1;24r[23;1HTEST_7:[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HA[34m^M[mA
[?12l[?25h[?25l
:[?12l[?25hs/A./\=submatch(0)/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1HA[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HB[34m^@[mB
[?12l[?25h[?25l
:[?12l[?25hs/B./\=submatch(0)/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1HB[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HC[34m^@[mC
[?12l[?25h[?25l
:[?12l[?25hs/C./\=strtrans(string(submatch(0, 1)))/
[?25l[23;1H['C^@']C
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HD[34m^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/D.\nD/\=strtrans(string(submatch(0, 1)))/
[?25l[23;1H['D^@', 'D']
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HE[34m^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/E\_.\{-}E/\=strtrans(string(submatch(0, 1)))/
[?25l[23;1H['E^@', '^@', '^@', '^@', '^@E']
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Q$
[?25l[1;23r[23;1H
[1;24r[23;1HQ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/Q[^\n]Q/\=submatch(0)."foobar"/
[?25l[1m[37m[41mE486: Pattern not found: Q[^\n]Q[m[24;33H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Avoid :s error breaks dotest map on Windows.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1HQ
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:function! TitleString()
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H8 lines, 177 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[8M[1;24r[16;3Hlet check = 'foo' =~ 'bar'
return ""
endfunction
:set titlestring=%{TitleString()}
:/^test_one/s/.*/\="foo\nbar"/
:/^test_two/s/.*/\="foo\nbar"/c
y
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! TitleString()
[?25l
: [?12l[?25h let check = 'foo' =~ 'bar'
[?25l: [?12l[?25h return ""
[?25l: [?12l[?25hendfunction
[1;1H[3L[?25l[2;1HTEST_7:
A[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset titlestring=%{TitleString()}
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^test_one/s/.*/\="foo\nbar"/
[?25l[1;23r[1;1H[2M[1;24r[22;1Hfoo
bar[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^test_two/s/.*/\="foo\nbar"/c
[?25l[1;23r[23;1H
[1;24r[23;1H[7mtest_two[m[24;1H[K[24;1H[32mreplace with \="foo\nbar" (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[1;23r[23;1H
[1;24r[22;1Hfoo[22;4H[K[23;1Hbar
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 72 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[23;19H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:1;/^Results/,$wq! test.out[24;1H[K[23;19H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l136 fewer lines[24;16H[K[1;1Ha[1;2H[K[2;1Ha
c
%[5;1H[K[6;1H[K[7;1HTEST_7:[7;8H[K[8;1HA[8;3H[K[9;1HA[9;2H[K[10;1HB[10;2H[K[11;1HB[11;2H[K[12;1H['C^@']C[12;9H[K[13;1H['D^@', 'D']
['E^@', '^@', '^@', '^@', '^@E']
Q
Q[16;2H[K[17;1H[K[18;1H[K[19;1Hfoo
bar
foo[21;4H[K[22;1Hbar[22;4H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test80.in" 201 lines, 6298 characters[1;1HTest 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\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[18;1H, '\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', '')[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for *sub-replace-special* and *sub-replace-expression* on substitute().[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1 line, 14 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H29 lines, 1142 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[12;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[23;1H, '\0\9\8\7\6\5\4\3\2\1', '')[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_1:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1H:set cpo&
:$put =\"\n\nTEST_10:\"
:let y = substitute('123', '\zs', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\zs.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\zs', 'a', 'g')[12C| $put =y
:let y = substitute('123', '\ze', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\ze.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\ze', 'a', 'g')[12C| $put =y
:let y = substitute('123', '1\|\ze', 'a', 'g')[10C| $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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A', 'A', '&&', '')
[?25l[1;23r[23;1H
[1;24r[23;1HAA[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('B', 'B', '\&', '')
[?25l[1;23r[23;1H
[1;24r[23;1H&[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)
[23;80H'[24;1H, '\0\9\8\7\6\5\4\3\2\1', '')
[?25l[1;1H[L[1;1H:let y = substitute('123', '\zs.', 'a', 'g')[12C| $put =y[2;29H.\zs[3;29H\ze', 'a', 'g') [4;32H.', 'a', 'g')[5;29H.\ze[6;29H1\|\ze', 'a', 'g')[7;31Hzs\|[23]', 'a', 'g')
/^TEST_11[8;10H[K[9;1HENDTEST[9;8H[K[10;1H[K[11;1HTEST_11:[12;1H[K[13;1HSTARTTEST
:/^Results/,$wq! test.out
ENDTEST[15;8H[K[16;1H[K[17;1HResults of test72:[18;1H[K[20;1HTEST_1:
AA[21;3H[K[22;1H&[22;2H[K[23;1HC123456789987654321[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('D', 'D', 'd', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('E', 'E', '~', '')
[?25l[1;23r[23;1H
[1;24r[23;1H~[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('F', 'F', '\~', '')
[?25l[1;23r[23;1H
[1;24r[23;1H~[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('G', 'G', '\ugg', '')
[?25l[1;23r[23;1H
[1;24r[23;1HGg[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('H', 'H', '\Uh\Eh', '')
[?25l[1;23r[23;1H
[1;24r[23;1HHh[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('I', 'I', '\lII', '')
[?25l[1;23r[23;1H
[1;24r[23;1HiI[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('J', 'J', '\LJ\EJ', '')
[?25l[1;23r[23;1H
[1;24r[23;1HjJ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('K', 'K', '\Uk\ek', '')
[?25l[1;23r[23;1H
[1;24r[23;1HKk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('lLl', 'L', '^[34m^M[m', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hl[34m^M[ml[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('mMm', 'M', '\r', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hm[34m^M[mm[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('nNn', 'N', '\^[34m^M[m', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hn[34m^M[mn[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('oOo', 'O', '\n', '')
[?25l[1;23r[1;1H[2M[1;24r[22;1Ho
o[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('pPp', 'P', '\b', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hp[34m^H[mp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('qQq', 'Q', '\t', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hq[7Cq[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('rRr', 'R', '\\', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hr\r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('sSs', 'S', '\c', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hscs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('uUu', 'U', \"\n\", '')
[?25l[1;23r[1;1H[2M[1;24r[22;1Hu
u[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('vVv', 'V', \"\b\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hv[34m^H[mv[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('wWw', 'W', \"\\\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hw\w[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('xXx', 'X', \"\r\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hx[34m^M[mx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('Y', 'Y', '\L\uyYy\l\EY', '')
[?25l[1;23r[23;1H
[1;24r[23;1HYyyY[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('Z', 'Z', '\U\lZzZ\u\Ez', '')
[?25l[1;23r[23;1H
[1;24r[23;1HzZZz[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_2
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:$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\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[21;1H, '\0\9\8\7\6\5\4\3\2\1', '')
:$put =substitute('D', 'D', 'd', '')
:$put =substitute('E', 'E', '~', '')
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H29 lines, 1144 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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', '\="\\"', '')[11C| $put =y
:let y = substitute('bBb', 'B', '\="\\\\"', '')[9C| $put =y
:let y = substitute('cCc', 'C', '\="[34m^V^M[m"', '')[9C| $put =y
:let y = substitute('dDd', 'D', '\="\\[34m^V^M[m"', '')[7C| $put =y[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nomagic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_2:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1HHh
iI
jJ
Kk
l[34m^M[ml
m[34m^M[mm
n[34m^M[mn
o
o
p[34m^H[mp
q[7Cq
r\r
scs
u
u
v[34m^H[mv
w\w
x[34m^M[mx
YyyY
zZZz
TEST_2:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A', 'A', '&&', '')
[?25l[1;23r[23;1H
[1;24r[23;1HAA[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('B', 'B', '\&', '')
[?25l[1;23r[23;1H
[1;24r[23;1H&[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)
[23;80H'[24;1H, '\0\9\8\7\6\5\4\3\2\1', '')
[?25l[1;1H[L[1;1HKk
l[34m^M[ml
m[2Cm
n[2Cn
o[5;2H[K[7;1Hp[34m^H[mp
q q
r\r[9;9H[K[10;1Hscs
u[11;2H[K[13;1Hv[34m^H[mv
w\w[14;4H[K[15;1Hx[34m^M[mx
YyyY
zZZz[18;1H[K[20;1HTEST_2:
AA[21;3H[K[22;1H&[22;2H[K[23;1HC123456789987654321[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('D', 'D', 'd', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('E', 'E', '~', '')
[?25l[1;23r[23;1H
[1;24r[23;1H~[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('F', 'F', '\~', '')
[?25l[1;23r[23;1H
[1;24r[23;1H~[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('G', 'G', '\ugg', '')
[?25l[1;23r[23;1H
[1;24r[23;1HGg[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('H', 'H', '\Uh\Eh', '')
[?25l[1;23r[23;1H
[1;24r[23;1HHh[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('I', 'I', '\lII', '')
[?25l[1;23r[23;1H
[1;24r[23;1HiI[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('J', 'J', '\LJ\EJ', '')
[?25l[1;23r[23;1H
[1;24r[23;1HjJ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('K', 'K', '\Uk\ek', '')
[?25l[1;23r[23;1H
[1;24r[23;1HKk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('lLl', 'L', '^[34m^M[m', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hl[34m^M[ml[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('mMm', 'M', '\r', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hm[34m^M[mm[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('nNn', 'N', '\^[34m^M[m', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hn[34m^M[mn[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('oOo', 'O', '\n', '')
[?25l[1;23r[1;1H[2M[1;24r[22;1Ho
o[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('pPp', 'P', '\b', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hp[34m^H[mp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('qQq', 'Q', '\t', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hq[7Cq[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('rRr', 'R', '\\', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hr\r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('sSs', 'S', '\c', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hscs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('tTt', 'T', \"\r\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Ht[34m^M[mt[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('uUu', 'U', \"\n\", '')
[?25l[1;23r[1;1H[2M[1;24r[22;1Hu
u[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('vVv', 'V', \"\b\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hv[34m^H[mv[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('wWw', 'W', \"\\\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hw\w[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('X', 'X', '\L\uxXx\l\EX', '')
[?25l[1;23r[23;1H
[1;24r[23;1HXxxX[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('Y', 'Y', '\U\lYyY\u\Ey', '')
[?25l[1;23r[23;1H
[1;24r[23;1HyYYy[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_3
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:$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', '\="\\"', '')[11C| $put =y
:let y = substitute('bBb', 'B', '\="\\\\"', '')[9C| $put =y
:let y = substitute('cCc', 'C', '\="[34m^V^M[m"', '')[9C| $put =y
:let y = substitute('dDd', 'D', '\="\\[34m^V^M[m"', '')[7C| $put =y
:let y = substitute('eEe', 'E', '\="\\\\[34m^V^M[m"', '') | $put =y
:let y = substitute('fFf', 'F', '\="\\r"', '')[10C| $put =y
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H13 lines, 642 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H:let y = substitute('jJj', 'J', '\="\\n"', '')[10C| $put =y
:let y = substitute('kKk', 'K', '\="\r"', '')[11C| $put =y
:let y = substitute('lLl', 'L', '\="\n"', '')[11C| $put =y
/^TEST_4
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_3:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1HHh
iI
jJ
Kk
l[34m^M[ml
m[34m^M[mm
n[34m^M[mn
o
o
p[34m^H[mp
q[7Cq
r\r
scs
t[34m^M[mt
u
u
v[34m^H[mv
w\w
XxxX
yYYy
TEST_3:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet y = substitute('aAa', 'A', '\="\\"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Ha\a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('bBb', 'B', '\="\\\\"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hb\\b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('cCc', 'C', '\="^[34m^M[m"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hc[34m^M[mc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('dDd', 'D', '\="\\^[34m^M[m"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hd\[34m^M[md[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('eEe', 'E', '\="\\\\^[34m^M[m"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1He\\[34m^M[me[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('fFf', 'F', '\="\\r"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hf\rf[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('jJj', 'J', '\="\\n"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hj\nj[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('kKk', 'K', '\="\r"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hk[34m^M[mk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('lLl', 'L', '\="\n"', '') | $put =y
[?25l[1;23r[1;1H[2M[1;24r[22;1Hl
l[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_4
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:let y = substitute('bBb', 'B', '\="\\\\"', '')[9C| $put =y
:let y = substitute('cCc', 'C', '\="[34m^V^M[m"', '')[9C| $put =y
:let y = substitute('dDd', 'D', '\="\\[34m^V^M[m"', '')[7C| $put =y
:let y = substitute('eEe', 'E', '\="\\\\[34m^V^M[m"', '') | $put =y
:let y = substitute('fFf', 'F', '\="\\r"', '')[10C| $put =y
:let y = substitute('jJj', 'J', '\="\\n"', '')[10C| $put =y
:let y = substitute('kKk', 'K', '\="\r"', '')[11C| $put =y
:let y = substitute('lLl', 'L', '\="\n"', '')[11C| $put =y
/^TEST_4
ENDTEST
TEST_4:
STARTTEST
:set magic&
:set cpo&
:$put =\"\n\nTEST_4:\"
:let y = substitute('aAa', 'A', '\=substitute(submatch(0), ".", "\\", "")', '') [19;1H | $put =y
:let y = substitute('bBb', 'B', '\=substitute(submatch(0), ".", "\\\\", "")', '''[21;1H) | $put =y
:let y = substitute('cCc', 'C', '\=substitute(submatch(0), ".", "[34m^V^M[m", "")', '''[23;1H) | $put =y
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H13 lines, 912 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[14M[1;24r[10;1H:let y = substitute('dDd', 'D', '\=substitute(submatch(0), ".", "\\[34m^V^M[m", "")', [11;1H'') | $put =y
:let y = substitute('eEe', 'E', '\=substitute(submatch(0), ".", "\\\\[34m^V^M[m", "")''[13;1H, '') | $put =y
:let y = substitute('fFf', 'F', '\=substitute(submatch(0), ".", "\\r", "")', ''))[15;1H | $put =y
:let y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''))[17;1H | $put =y
:let y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '') [19;1H | $put =y
:let y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '') [21;1H | $put =y
/^TEST_5
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_4:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1Ht[34m^M[mt
u
u
v[34m^H[mv
w\w
XxxX
yYYy
TEST_3:
a\a
b\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf
j\nj
k[34m^M[mk
l
l
TEST_4:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet y = substitute('aAa', 'A', '\=substitute(submatch(0), ".", "\\", "")', '')
| $put =y
[?25l[1;1H[L[1;1Hu
v[34m^H[mv
w\w[4;4H[K[5;1HXxxX
yYYy[7;1H[K[9;1HTEST_3:
a\a[10;4H[K[11;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[15;5H[K[16;1Hj\nj
k[34m^M[mk
l[18;2H[K[20;1H[K[22;1HTEST_4:
a\a[23;4H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('bBb', 'B', '\=substitute(submatch(0), ".", "\\\\", "")', '
[23;80H'[24;1H) | $put =y
[?25l[1;1H[L[1;1Hu
v[34m^H[mv
w\w[3;4H[K[4;1HXxxX
yYYy[6;1H[K[8;1HTEST_3:
a\a[9;4H[K[10;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[14;5H[K[15;1Hj\nj
k[34m^M[mk
l[17;2H[K[19;1H[K[21;1HTEST_4:
a\a[22;4H[K[23;1Hb\b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('cCc', 'C', '\=substitute(submatch(0), ".", "^[34m^M[m", "")', '')
| $put =y
[?25l[1;1H[L[1;1Hv[34m^H[mv
w\w[2;4H[K[3;1HXxxX
yYYy[5;1H[K[7;1HTEST_3:
a\a[8;4H[K[9;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[13;5H[K[14;1Hj\nj
k[34m^M[mk
l[16;2H[K[18;1H[K[20;1HTEST_4:
a\a[21;4H[K[22;1Hb\b
c[34m^M[mc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('dDd', 'D', '\=substitute(submatch(0), ".", "\\^[34m^M[m", "")', '
[23;80H'[24;1H) | $put =y
[?25l[1;1H[L[1;1Hw\w
XxxX
yYYy[4;1H[K[6;1HTEST_3:
a\a[7;4H[K[8;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[12;5H[K[13;1Hj\nj
k[34m^M[mk
l[15;2H[K[17;1H[K[19;1HTEST_4:
a\a[20;4H[K[21;1Hb\b
c[34m^M[mc
d[2Cd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('eEe', 'E', '\=substitute(submatch(0), ".", "\\\\^[34m^M[m", "")',
'') | $put =y
[?25l[1;1H[L[1;1HXxxX
yYYy[3;1H[K[5;1HTEST_3:
a\a[6;4H[K[7;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[11;5H[K[12;1Hj\nj
k[34m^M[mk
l[14;2H[K[16;1H[K[18;1HTEST_4:
a\a[19;4H[K[20;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('fFf', 'F', '\=substitute(submatch(0), ".", "\\r", "")', ''
[23;80H)[24;1H | $put =y
[?25l[1;1H[L[1;1HyYYy[2;1H[K[4;1HTEST_3:
a\a[5;4H[K[6;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[10;5H[K[11;1Hj\nj
k[34m^M[mk
l[13;2H[K[15;1H[K[17;1HTEST_4:
a\a[18;4H[K[19;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me
f[34m^M[mf[23;5H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''
[23;80H)[24;1H | $put =y
[?25l[1;1H[L[2;1HTEST_3:
a\a
b\\b[4;5H[K[5;1Hc[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[8;5H[K[9;1Hj\nj[9;5H[K[10;1Hk[34m^M[mk
l[11;2H[K[12;1Hl[12;2H[K[13;1H[K[14;1H[K[15;1HTEST_4:
a\a
b\b[17;4H[K[18;1Hc[34m^M[mc
d[34m^M[md
e\[34m^M[me
f[2Cf
j[22;2H[K[23;1Hj[23;2H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '')
| $put =y
[?25l[1;1H[L[1;1HTEST_3:
a\a[2;4H[K[3;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[7;5H[K[8;1Hj\nj
k[34m^M[mk
l[10;2H[K[12;1H[K[14;1HTEST_4:
a\a[15;4H[K[16;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me
f[34m^M[mf[20;5H[K[21;1Hj[21;2H[K[23;1Hk[34m^M[mk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '')
| $put =y
[?25l[1;1H[L[1;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[5;5H[K[6;1Hj\nj[6;5H[K[7;1Hk[34m^M[mk
l[8;2H[K[9;1Hl[9;2H[K[10;1H[K[11;1H[K[12;1HTEST_4:
a\a
b\b[14;4H[K[15;1Hc[34m^M[mc
d[34m^M[md
e\[34m^M[me
f[2Cf
j[19;2H[K[20;1Hj[20;2H[K[21;1Hk[34m^M[mk
l
l[23;2H[K[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_5
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:let y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''))[2;1H | $put =y
:let y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '') [4;1H | $put =y
:let y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '') [6;1H | $put =y
/^TEST_5
ENDTEST
TEST_5:
STARTTEST
:set magic&
:set cpo&
:$put =\"\n\nTEST_5:\"
:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[17;1H, '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submaa[18;1Htch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')
:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[20;1H, '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), subb[21;1Hmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), subb[22;1Hmatch(1, 1)])', '')
/^TEST_6
[31msearch hit BOTTOM, continuing at TOP[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[12;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H6 lines, 543 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1HENDTEST[24;1H[K[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_5:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1He\\[34m^M[me
f\rf
j\nj
k[34m^M[mk
l
l
TEST_4:
a\a
b\b
c[34m^M[mc
d[34m^M[md
e\[34m^M[me
f[34m^M[mf
j
j
k[34m^M[mk
l
l
TEST_5:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)
[23;80H'[24;1H, '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . subm
[23;80Ha[24;1Htch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')
[?25l[1;1H[2L[1;1Hf\rf
j\nj
k[34m^M[mk
l[4;2H[K[6;1H[K[8;1HTEST_4:
a\a[9;4H[K[10;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me
f[34m^M[mf[14;5H[K[15;1Hj[15;2H[K[17;1Hk[34m^M[mk
l[18;2H[K[20;1H[K[22;1HTEST_5:
A123456789987654321[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)
[23;80H'[24;1H, '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), su
[23;80Hb[24;1Hmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), su
[23;80Hb[24;1Hmatch(1, 1)])', '')
[?25l[1;1H[3L[1;1Hj\nj
k[34m^M[mk
l[5;1H[K[7;1HTEST_4:
a\a[8;4H[K[9;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me
f[34m^M[mf[13;5H[K[14;1Hj[14;2H[K[16;1Hk[34m^M[mk
l[17;2H[K[19;1H[K[21;1HTEST_5:
A123456789987654321
[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']][24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_6
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:$put =\"\n\nTEST_5:\"
:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[3;1H, '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submaa[4;1Htch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')
:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[6;1H, '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), subb[7;1Hmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), subb[8;1Hmatch(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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H9 lines, 216 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[23;1H
[1;24r[23;1HENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1HTEST_7:[21;1H[?12l[?25h[?25l
:so! Xdotest
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_6:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1Hl
TEST_4:
a\a
b\b
c[34m^M[mc
d[34m^M[md
e\[34m^M[me
f[34m^M[mf
j
j
k[34m^M[mk
l
l
TEST_5:
A123456789987654321
[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]
TEST_6:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo+=/
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A', 'A', 'a', '')
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('B', 'B', '%', '')
[?25l[1;23r[23;1H
[1;24r[23;1H%[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset cpo-=/
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('C', 'C', 'c', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('D', 'D', '%', '')
[?25l[1;23r[23;1H
[1;24r[23;1H%[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_7
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: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[34m^V^M[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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H9 lines, 313 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[23;1H
[1;24r[23;1HENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_7:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1Hd[34m^M[md
e\[34m^M[me
f[34m^M[mf
j
j
k[34m^M[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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A^[34m^M[mA', 'A.', '\=submatch(0)', '')
[?25l[1;23r[23;1H
[1;24r[23;1HA[34m^M[mA[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')
[?25l[1;23r[1;1H[2M[1;24r[22;1HB
B[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '')
[?25l[1;23r[1;1H[2M[1;24r[22;1H['B
']B[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('-bb', '\zeb', 'a', 'g')
[?25l[1;23r[23;1H
[1;24r[23;1H-abab[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('-bb', '\ze', 'c', 'g')
[?25l[1;23r[23;1H
[1;24r[23;1Hc-cbcbc[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_8
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:set magic&
:set cpo&
:$put =\"\n\nTEST_7:\"
:$put =substitute('A[34m^V^M[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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[Kgcc -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
[24;11H10 lines, 186 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1Hyy/^TEST_9:
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_8:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1HTEST_5:
A123456789987654321
[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]
TEST_6:
a
%
c
%
TEST_7:
A[34m^M[mA
B
B
['B
']B
-abab
c-cbcbc
TEST_8:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =',,X'
[?25l[1;23r[23;1H
[1;24r[23;1H,,X[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(^\|,\)\ze\(,\|X\)/\1N/g
[?25l[23;1HN,,NX
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =',,Y'
[?25l[1;23r[23;1H
[1;24r[23;1H,,Y[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(^\|,\)\ze\(,\|Y\)/\1N/gc
[?25l[23;1H[7m,[m
[32mreplace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;1HN,,NY
[?12l[?25h[?25l
:[?12l[?25h$put =',,Z'
[?25l[1;23r[23;1H
[1;24r[23;1H,,Z[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(^\|,\)\ze\(,\|Z\)/\1N/gc
[?25l[23;1H[7m,[m
[32mreplace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;1HN,[7m,[mZ
[32mreplace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;3H,NZ
[?12l[?25h[?25l
/[?12l[?25h^TEST_9:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: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:
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H6 lines, 82 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_9:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1Ha
%
c
%
TEST_7:
A[34m^M[mA
B
B
['B
']B
-abab
c-cbcbc
TEST_8:
N,,NX
N,,NY
N,,NZ
TEST_9:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='xxx'
[?25l[1;23r[23;1H
[1;24r[23;1Hxxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/x/X/gc
[?25l[23;1H[7mx[m
[32mreplace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;1HX[7mx[m
[32mreplace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;2HX[7mx[m
[32mreplace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;3Hx[?12l[?25h[?25l
/[?12l[?25h^TEST_10:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1HTEST_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')[13C| $put =y
:let y = substitute('123', '\zs.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\zs', 'a', 'g')[12C| $put =y
:let y = substitute('123', '\ze', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\ze.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\ze', 'a', 'g')[12C| $put =y
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H12 lines, 584 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H:let y = substitute('123', '1\|\ze', 'a', 'g')[10C| $put =y
:let y = substitute('123', '1\zs\|[23]', 'a', 'g') | $put =y
/^TEST_11
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_10:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[3;1HTEST_7:
A[34m^M[mA
B
B
['B
']B
-abab
c-cbcbc
TEST_8:
N,,NX
N,,NY
N,,NZ
TEST_9:
XXx
TEST_10:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet y = substitute('123', '\zs', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Ha1a2a3a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '\zs.', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '.\zs', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1H1a2a3a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '\ze', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Ha1a2a3a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '\ze.', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Ha1a2a3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '.\ze', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '1\|\ze', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Haa2a3a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '1\zs\|[23]', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1H1aaa[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_11
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:let y = substitute('123', '\zs', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\zs.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\zs', 'a', 'g')[12C| $put =y
:let y = substitute('123', '\ze', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\ze.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\ze', 'a', 'g')[12C| $put =y
:let y = substitute('123', '1\|\ze', 'a', 'g')[10C| $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
&
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H1 line, 26 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^Results/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test82.in" 103 lines, 3166 characters[1;1HTests 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[17;1H:b, a:expected))
: else
: let b:passed += 1
: endif
:endfunction
:
:function! Chk(a, b, result)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 97 lines, 3055 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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%.22[4;1HX', n)) | endfor
:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ[6;1H\xc2\x%.2XuVw', n)) | endfor
:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ[8;1H\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[34m^[[mgg0g~ap:let lns = getline(1,3)
:q!
:call append(line('$'), lns)
:"
:wq! test.out
ENDTEST
[1m[34m~ [23;1H~ [20;1H[?12l[?25h
[?25l
[m:so! Xdotest
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1H: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%.22[4;1HX', n)) | endfor[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hset enc=utf8
[?25l[27m[23m[m[H[2J[1;1H: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%.22[4;1HX', n)) | endfor
:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ[6;1H\xc2\x%.2XuVw', n)) | endfor
:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ[8;1H\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[34m^[[mgg0g~ap:let lns = getline(1,3)
:q!
:call append(line('$'), lns)
:"
:wq! test.out
ENDTEST
[1m[34m~ [23;1H~ [21;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HTests 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[17;1H:b, a:expected))
: else
: let b:passed += 1
: endif
:endfunction
:
:function! Chk(a, b, result)[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[23;80H:[24;1Hop, a:b, a:expected))
[?25l: [?12l[?25h: else
[?25l: [?12l[?25h: let b:passed += 1
[?25l: [?12l[?25h: endif
[?25l: [?12l[?25h:endfunction
[1;1H[7L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[3L[?25l[2;1H[1m[34m~ [3;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! LT(a, b)
[?25l
: [?12l[?25h: call Check(a:a, a:b, -1)
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[2;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! GT(a, b)
[?25l
: [?12l[?25h: call Check(a:a, a:b, 1)
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[2;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! EQ(a, b)
[?25l
: [?12l[?25h: call Check(a:a, a:b, 0)
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[2;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b:passed=0
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('', '')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('', 'a')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('abc', 'abc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('Abc', 'abC')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('ab', 'abc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('AB', 'abc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('ab', 'aBc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xd0\xb9\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd', '\xd0\xb9\xd0\xa6\
[23;80Hx[24;1Hd0\xa3\xd0\xba\xd0\x95\xd0\xbd')
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall LT('\xd0\xb9\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd', '\xd0\xaf\xd1\x86\
[23;80Hx[24;1Hd1\x83\xd0\xba\xd0\xb5\xd0\xbd')
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall EQ('\xe2\x84\xaa', 'k')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('\xe2\x84\xaa', 'kkkkkk')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xe2\x84\xaa\xe2\x84\xaa\xe2\x84\xaa', 'kkk')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('kk', '\xe2\x84\xaa\xe2\x84\xaa\xe2\x84\xaa')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xe2\x84\xaa\xe2\x84\xa6k\xe2\x84\xaak\xcf\x89', 'k\xcf\x89\xe2\x84\x
[23;80Ha[24;1Hakk\xe2\x84\xa6')
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall EQ('Abc\x80', 'AbC\x80')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('Abc\x80', 'AbC\x81')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('Abc', 'AbC\x80')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('abc\x80DEF', 'abc\x80def') " case folding stops at the first bad cha
[23;80Hr[24;1Hacter
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall LT('\xc3XYZ', '\xc3xyz')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xef\xbc\xba', '\xef\xbd\x9a') " FF3A (upper), FF5A (lower)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall GT('\xef\xbc\xba', '\xef\xbc\xff') " first string is ok and equals \xef\
[23;80Hx[24;1Hbd\x9a after folding, second string is illegal and was left unchanged, then the
strings were bytewise compared
[?25l[1;1H[2L[2;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall LT('\xc3', '\xc3\x83')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xc3\xa3xYz', '\xc3\x83XyZ')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.
[23;80H2[24;1HX', n)) | endfor
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfor n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('Xy
[23;80HZ[24;1H\xc2\x%.2XuVw', n)) | endfor
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfor n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('Xy
[23;80HZ[24;1H\xc2\x%.2XuVw', n)) | endfor
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall append(0, printf('%d checks passed', b:passed))
[?25l[1;23r[1;1H[L[1;24r[1;1H3732 checks passed[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test that g~ap changes one paragraph only.
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [m[12;1H[1m[7m[No Name] [m[13;1H3732 checks passed[13;19H[K[14;1H[K[23;1H[7mtest82.in [+] [1;1H[?12l[?25h[?25l[mabcd[2;1H[K[3;1Hdefg[3;5H[K[12;11H[1m[7m[+][3;4H[?12l[?25h[1;1H[?25l[mABCD
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet lns = getline(1,3)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[1;1H3732 checks passed
[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), lns)
[?25l[3;1HABCD[3;5H[K[4;1H[K[5;1Hdefg[5;5H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test84.in" 35 lines, 786 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for curswant not changing when setting an option[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 25 lines, 637 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[6M[1;24r[18;1H:put =map(copy(result), 'join(v:val, '' '')')
:1 delete _
:write test.out
:
:qall!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start target options$/+1,/^end target options$/-1 yank
[?25l3 lines yanked[24;15H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet target_option_names = split(@0)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1H: 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[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;2Hendfor[13;9H[K[14;2H[K[15;2Hnew
:put =map(copy(result), 'join(v:val, '' '')')
:1 delete _[17;12H[K[18;2Hwrite test.out[19;2H[K[20;2Hqall!
ENDTEST[22;1H[K[23;1H[7mtest84.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput =['1234567890', '12345']
[?25l[2;1H1234567890[2;11H[K[3;1H12345[3;6H[K[12;11H[1m[7m[+][3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h1 delete _
[?25l[1;11r[11;1H
[1;24r[11;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet result = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor option_name in target_option_names
[?25l
: [?12l[?25h: call add(result, TestCurswant(option_name))
[?25l: [?12l[?25h:endfor
[1;1H[2L[?25l[1;1H1234567890
12345[24;1H[K[2;5H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[9;1H1234567890
12345
[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [+] [m[17;1H:1 delete _
:write test.out
:
:qall!
ENDTEST
[7mtest84.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hput =map(copy(result), 'join(v:val, '' '')')
[?25l3 more lines[24;13H[K[2;1Htabstop 7 4[2;12H[K[3;1Htimeoutlen 7 7[3;15H[K[4;1Httimeoutlen 7 7[4;16H[K[8;11H[1m[7m[+][4;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h1 delete _
[?25l[1;7r[7;1H
[1;24r[7;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hwrite test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 3 lines, 43 characters written[8;1H[1m[7mtest.out] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqall!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test88.in" 99 lines, 1449 characters[1;1Hvim: 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1Hvim: set ft=vim[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 82 lines, 1216 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[19;9H.concealed. text[20;9H|concealed| text
.a. .b. .c. .d.
|a| |b| |c| |d|[13;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has('conceal')
[?25l
: [?12l[?25h e! test.ok
[?25l: [?12l[?25h wq! test.out
[?25l: [?12l[?25h:endif
[1;1H[3L[?25l[1;1H:normal W
GGk
:normal W[24;1H[K[14;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" Conceal settings.
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset conceallevel=2
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset concealcursor=nc
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyntax match test /|/ conceal
[?25l[17;1Hconcealed [20;9Hconcealed
a b c d[23;26H[K[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Save current cursor position. Only works in <expr> mode, can't be used
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" with :normal because it moves the cursor to the command line. Thanks to ZyX
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" <zyx.vim@gmail.com> for the idea to use an <expr> mapping.
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet positions = []
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnnoremap <expr> GG ":let positions += ['".screenrow().":".screencol()."']\n"
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Start test.
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start:
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal ztj
[?25l[1;23r[1;1H[14M[1;24r[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:let positions += ['2:1']
[2;1H[?12l[?25h[1;1H[2;1H[?25l[24;1H[K[24;1H:[?12l[?25h" We should end up in the same column when running these commands on the two
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" lines.
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal ft
[?25l[2;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['2:17']
[2;17H[?12l[?25h[1;6H[2;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[2;20H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['2:20']
[2;20H[?12l[?25h[1;6H[2;20H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['3:1']
[3;1H[?12l[?25h[2;1H[3;1H[?25l[24;1H[K[24;1H:[?12l[?25hnormal ft
[?25l[3;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['3:17']
[3;17H[?12l[?25h[2;17H[3;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[3;20H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['3:20']
[3;20H[?12l[?25h[2;20H[3;20H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j0j
[?25l[5;8H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['5:8']
[5;8H[?12l[?25h[4;1H[5;8H[?25l[24;1H[K[24;1H:[?12l[?25h" Same for next test block.
[?25l[5;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal ft
[?25l[5;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['5:25']
[5;25H[?12l[?25h[4;1H[5;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[5;28H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['5:28']
[5;28H[?12l[?25h[4;1H[5;28H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j
[?25l[6;8H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['6:8']
[6;8H[?12l[?25h[5;8H[6;8H[?25l[24;1H[K[24;1H:[?12l[?25hnormal ft
[?25l[6;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['6:25']
[6;25H[?12l[?25h[5;25H[6;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[6;28H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['6:28']
[6;28H[?12l[?25h[5;28H[6;28H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j0j
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:1']
[8;1H[?12l[?25h[7;1H[8;1H[?25l[24;1H[K[24;1H:[?12l[?25h" And check W with multiple tabs and conceals in a line.
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[8;9H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:9']
[8;9H[?12l[?25h[7;1H[8;9H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[8;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:17']
[8;17H[?12l[?25h[7;1H[8;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[8;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:25']
[8;25H[?12l[?25h[7;1H[8;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[8;27H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:27']
[8;27H[?12l[?25h[7;1H[8;27H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:1']
[9;1H[?12l[?25h[8;1H[9;1H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;9H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:9']
[9;9H[?12l[?25h[8;9H[9;9H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:17']
[9;17H[?12l[?25h[8;17H[9;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:25']
[9;25H[?12l[?25h[8;25H[9;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:26']
[9;26H[?12l[?25h[8;27H[9;26H[?25l[24;1H[K[24;1H:[?12l[?25hset lbr
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:26']
[9;26H[?12l[?25h[8;27H[9;26H[?25l[24;1H[K[24;1H:[?12l[?25hset list listchars=tab:>-
[?25l[3;10H[34m>------
>-------[11C>----
>-------[9C>------[8;4H>----[m.b.[34m>----[m.c.[34m>----
[ma[34m>------[mb[34m>------[mc[34m>------[9;26H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnormal 0
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:1']
[9;1H[?12l[?25h[8;1H[9;1H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;9H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:9']
[9;9H[?12l[?25h[8;9H[9;9H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:17']
[9;17H[?12l[?25h[8;17H[9;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:25']
[9;25H[?12l[?25h[8;25H[9;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:26']
[9;26H[?12l[?25h[8;27H[9;26H[?25l[24;1H[K[24;1H:[?12l[?25h" Display result.
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', 'end:')
[?25l[10;1Hend:[10;5H[K[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', positions)
[?25l[11;1H2:1[11;4H[K[12;1H2:17[12;5H[K[13;1H2:20[13;5H[K[14;1H3:1[14;4H[K[15;1H3:17[15;5H[K[16;1H3:20[16;5H[K[17;1H5:8[17;4H[K[18;1H5:25[18;5H[K[19;1H5:28[19;5H[K[20;1H6:8[20;4H[K[21;1H6:25[21;5H[K[22;1H6:28[22;5H[K[23;1H8:1[23;4H[K[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^end/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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.
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/os_unix.o os_unix.c
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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test90.in" 53 lines, 1204 characters[1;1HTests 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("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b78522[12;1Hb855'
: let res='ok'
:else
: let res='ng'
:endif
:$put =testcase.res
:"
:let testcase='test for 1 char: '
:if sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee[21;1He48bb'
: let res='ok'
:else[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for sha256() function. vim: set ft=vim et ts=2 sw=2 :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 47 lines, 1114 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:"
:let testcase='test for contains meta char: '
:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[4;1H39ed110ca776'
: 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") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb00[13;1Hb8d27db8d5feaa813953'
: let res='ok'
:else
: let res='ng'
:endif
:$put =testcase.res
:"
:/^start:/,$wq! test.out
ENDTEST
start:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has('cryptv') || !exists('*sha256')
[?25l
: [?12l[?25h e! test.ok
[?25l: [?12l[?25h wq! test.out
[?25l: [?12l[?25h:endif
[1;1H[3L[?25l[1;1H:"
:let testcase='test for contains meta char: '
:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[4;1H3[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for empty string: '
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b785
[23;80H2[24;1Hb855'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:"
:let testcase='test for contains meta char: '
:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[4;1H39ed110ca776'[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[1;23r[23;1H
[1;24r[23;1Htest for empty string: ok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for 1 char: '
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785af
[23;80He[24;1He48bb'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:let testcase='test for contains meta char: '
:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[3;1H39ed110ca776'
: let res='ok'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[1;23r[23;1H
[1;24r[23;1Htest for 1 char: ok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for 3 chars: '
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("abc") ==# 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61
[23;80Hf[24;1H20015ad'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[2;1H39ed110ca776'
: let res='ok'
:else[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[1;23r[1;1H[2M[1;24r[22;1Htest for 3 chars: ok
[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for contains meta char: '
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8c
[23;80Hc[24;1H39ed110ca776'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H: let res='ok'
:else
: let res='ng'
:endif[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[23;1Htest for contains meta char: ok[23;32H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for contains non-ascii char: '
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("\xde\xad\xbe\xef") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb
[23;80H0[24;1Hb8d27db8d5feaa813953'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H: let res='ok'
:else
: let res='ng'
:endif[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[1;23r[23;1H
[1;24r[23;1Htest for contains non-ascii char: ok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test91.in" 116 lines, 3240 characters[1;1HTests 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))[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 109 lines, 3127 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Use strings to test for memory leaks.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" First, check that in an empty window, gettabvar() returns the correct value
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet t:testvar='abcd'
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(gettabvar(1,'testvar'))
[?25l[1;23r[23;1H
[1;24r[23;1H'abcd'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(1,'testvar'))
[?25l[1;23r[23;1H
[1;24r[23;1H'abcd'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" Test for getbufvar()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b:var_num = '1234'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet def_num = '5678'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getbufvar(1, 'var_num'))
[?25l[1;23r[23;1H
[1;24r[23;1H'1234'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, 'var_num', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H'1234'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H{'var_num': '1234'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, '', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H{'var_num': '1234'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet b:var_num
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getbufvar(1, 'var_num', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H'5678'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, '', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(9, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(9, '', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H'5678'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet def_num
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getbufvar(1, '&autoindent'))
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, '&autoindent', 1))
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Open new window with forced option values
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=unix,dos
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew ++ff=dos ++bin ++enc=iso-8859-2
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[14;1H{'var_num': '1234'}
'5678'[16;7H[K[17;1H{}[17;3H[K[19;1H''
'5678'
0[21;2H[K[23;1H[7mtest91.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet otherff = getbufvar(bufnr('%'), '&fileformat')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet otherbin = getbufvar(bufnr('%'), '&bin')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet otherfenc = getbufvar(bufnr('%'), '&fenc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:$put =string(gettabwinvar(9, 3, '', def_dict))
:unlet def_dict[2;16H[K[3;1H:$put =string(gettabwinvar(2, 3, '&nux'))[3;42H[K[4;1H:$put =string(gettabwinvar(2, 3, '&nux', 1))[4;45H[K[5;1H:tabonly[5;9H[K[6;1H:"[6;3H[K[7;1H:/^start/,$wq! test.out[7;24H[K[8;1HENDTEST[8;8H[K[9;1H[K[10;1Hstart:[10;7H[K[11;1H'abcd'[11;7H[K[12;1H'abcd'[12;7H[K[14;1H'1234'[14;7H[K[16;1H{'var_num': '1234'}
'5678'
{}
''[20;3H[K[21;1H'5678'
0[23;2H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =otherff
[?25l[1;23r[23;1H
[1;24r[23;1Hdos[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(otherbin)
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =otherfenc
[?25l[1;23r[23;1H
[1;24r[23;1Hiso-8859-2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet otherff otherbin otherfenc
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for getwinvar()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet w:var_str = "Dance"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet def_str = "Chance"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getwinvar(1, 'var_str'))
[?25l[1;23r[23;1H
[1;24r[23;1H'Dance'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, 'var_str', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H'Dance'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H{'var_str': 'Dance'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, '', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H{'var_str': 'Dance'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet w:var_str
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getwinvar(1, 'var_str', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H'Chance'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, '', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(9, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(9, '', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H'Chance'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, '&nu'))
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, '&nu', 1))
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet def_str
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for gettabvar()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabnew
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25htabnew
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [No Name] [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet t:var_list = [1, 2, 3]
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet t:other = 777
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet def_list = [4, 5, 6, 7]
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m + test91.in [m[4m[30m[47m [No Name] [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[2;1H{'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[2;23r[23;1H
[1;24r[23;1H[1, 2, 3][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, 'var_list', def_list))
[?25l[2;23r[23;1H
[1;24r[23;1H[1, 2, 3][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H{'var_list': [1, 2, 3], 'other': 777}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, '', def_list))
[?25l[2;23r[23;1H
[1;24r[23;1H{'var_list': [1, 2, 3], 'other': 777}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25htablast
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [No Name] [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hunlet t:var_list
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m + test91.in [m[4m[30m[47m [No Name] [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[2;1H''
'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[2;23r[23;1H
[1;24r[23;1H[4, 5, 6, 7][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(9, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(9, '', def_list))
[?25l[2;23r[23;1H
[1;24r[23;1H[4, 5, 6, 7][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, '&nu'))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, '&nu', def_list))
[?25l[2;23r[23;1H
[1;24r[23;1H[4, 5, 6, 7][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet def_list
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabonly
[?25l[1;1Hdos[1;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for gettabwinvar()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabnew
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25htabnew
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [No Name] [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25htabprev
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [No Name] [m[4m[30m[47m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hsplit
[?25l[1;15H[1m[35m2[m[1mN o[No Name] [m[4m[30m[47m [No Name] [m[42C[7m [m[1;80H[4m[30m[47mX[m[12;1H[1m[7m[No Name] [m[13;1H[K[23;1H[7m[No Name] [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsplit
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [m[1m[35m3[m[1m [No Name] [m[4m[30m[47m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[9;1H[1m[7m[No Name] [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hwincmd w
[?25l[9;1H[7m[No Name][m[1m[7m [m[7m [m[16;1H[1m[7m[No Name] [m[1;80H[7m [m[1;80H[4m[30m[47mX[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hvert split
[?25l[1;15H[1m[35m4[m[1m [m[63C[7m [m[1;80H[4m[30m[47mX[m[10;41H[7m|[11;41H|[12;41H|[13;41H|[14;41H|[15;41H|[m[11;42H[1m[34m~[12;42H~[13;42H~[14;42H~[15;42H~[m[16;42H[7m[No Name] [10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd w
[?25l[16;1H[7m[No Name][m[1m[7m [m[7m [m[1m[7m[No Name] [m[1;80H[7m [m[1;80H[4m[30m[47mX[10;42H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet w:var_dict = {'dict': 'tabwin'}
[?25l[10;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet def_dict = {'dict2': 'newval'}
[?25l[10;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd b
[?25l[16;42H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [m[1;80H[7m [m[1;80H[4m[30m[47mX[17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m + test91.in [m[4m[30m[47m [m[4m[35m[47m4[m[4m[30m[47m [No Name] [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[2;1H1
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[2;23r[23;1H
[1;24r[23;1H{'dict': 'tabwin'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{'dict': 'tabwin'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H{'var_dict': {'dict': 'tabwin'}}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, '', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{'var_dict': {'dict': 'tabwin'}}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25htabnext
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [m[1m[35m4[m[1m [No Name] [m[4m[30m[47m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[9;1H[7m[No Name] [10;41H|[11;41H|[12;41H|[13;41H|[14;41H|[15;41H|[m[11;1H[1m[34m~
~
~
~
~ [m
[7m[No Name] [m[11;42H[1m[34m~ [12;42H~ [13;42H~ [14;42H~ [15;42H~ [m[16;42H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [17;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h3wincmd w
[?25l[16;42H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;80H [m[1;80H[4m[30m[47mX[10;42H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hunlet w:var_dict
[?25l[10;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m + test91.in [m[4m[30m[47m [m[4m[35m[47m4[m[4m[30m[47m [No Name] [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[2;1H{'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[2;23r[23;1H
[1;24r[23;1H{'dict2': 'newval'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, '', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 9, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 9, '', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{'dict2': 'newval'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(9, 3, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(9, 3, '', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{'dict2': 'newval'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet def_dict
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(gettabwinvar(2, 3, '&nux'))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, '&nux', 1))
[?25l[2;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25htabonly
[?25l[1;1H0[1;2H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test94.in" 256 lines, 4824 characters[1;1HTest 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()[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for Visual mode and operators[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[18;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 211 lines, 3837 characters written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[19;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hkv3lyjv3lpgvcxxx[34m^[[m
:$put ='---'
:
:$put =''
:$put ='gv in exclusive select mode without operation'
:$put ='zzz '
:set selection=exclusive
0v3l[34m^[[mgvcxxx[34m^[[m
:$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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=utf-8 nocp viminfo+=nviminfo
[?25l[27m[23m[m[H[2J[1;1Hkv3lyjv3lpgvcxxx[34m^[[m
:$put ='---'
:
:$put =''
:$put ='gv in exclusive select mode without operation'
:$put ='zzz '
:set selection=exclusive
0v3l[34m^[[mgvcxxx[34m^[[m
:$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[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" User functions
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction MoveToCap()
[?25l
: [?12l[?25h: call search('\u', 'W')
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1Hkv3lyjv3lpgvcxxx[34m^[[m
:$put ='---'[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[6L[?25l[1;1Hkv3lyjv3lpgvcxxx[34m^[[m
:$put ='---'
:
:$put =''
:$put ='gv in exclusive select mode without operation'
:$put ='zzz '[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Visual modes followed by operator
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^apple
[?25l[16;1H[?12l[?25ha[?25l[24;1H[1m-- VISUAL --[16;2H[?12l[?25h[?25l[m[7mp[?12l[?25h[?25l[mle banana cherry[16;18H[K[24;1H[K[16;2H[?12l[?25h[?25l banana cherry[16;16H[K[16;2H[?12l[?25h [?25l[7mbanan[m[24;1H[1m-- VISUAL --[16;8H[?12l[?25h[?25l[m
a cherry[16;10H[K[24;1H[K[16;3H[?12l[?25h[?25ly[16;4H[K[16;3H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[16;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^line 1
[?25l[18;1H[?12l[?25h[?25ll[7mine 1 line 1 [m[24;1H[1m-- VISUAL LINE --[18;1H[?12l[?25h[?25l[24;4HINSERT --N[m[24;13H[K[24;1H[K[18;1Hnewline[18;8H[K[18;7H[?12l[?25h[19;7H[?25l[24;1H[1m-- INSERT --[m[24;1H[K[19;1Hnewline[19;8H[K[19;7H[?12l[?25h[20;7H[?25l
[7mline 3 line 3
line 4[m [7mline 4 [m
[1m-- VISUAL LINE --[21;7H[?12l[?25h[?25l[m[20;1Hline 5 line 5[20;14H[K[21;1Hline 6 line 6[21;14H[K[22;1H[K[23;1Hxxxxxxxxxxxxx[24;1H[K[20;1H[?12l[?25h[?25l[20;1H[K[21;1Hxxxxxxxxxxxxx
xxxxxxxxxxxxx[20;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^xxxx
[?25l[21;1H[?12l[?25h[?25l
[1m-- VISUAL BLOCK --[21;1H[?12l[?25h[?25l[m[7mx
[?12l[?25h[?25l[21;2Hx
x[?12l[?25h[?25l[m[24;4H[1mINSERT --O[m[24;13H[K[24;1H[K[21;1H
[21;2H[?12l[?25h [?25l
[1m-- INSERT --[m[24;1H[K[21;3H
[21;4H[?12l[?25h [?25l[1;23r[23;1H
[1;24r[20;5H[7mxxxx
[m [7mxxxx
[mxxxx[7mxxxx[m
xxxx[7mxxx[mxxxxxx
[1m-- VISUAL BLOCK --[23;8H[?12l[?25h[?25l
-- INSERT --O[m[24;13H[K[24;1H[K[20;5H----
----
xxxx----
xxxx----[20;8H[?12l[?25h-[?25l[24;1H[1m-- INSERT --[m[24;1H[K[20;9H----[21;9H----[22;9H----[23;9H----[20;12H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Visual mode maps (movement and text object)
[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hvnoremap W /\u/s-1<CR>
[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hvnoremap iW :<C-U>call SelectInCaps()<CR>
[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Kiwi
[?25l[1;23r[1;1H[2M[1;24r[23;1HKiwiRaspberryDateWatermelonPeach[24;1H[K[23;1H[?12l[?25h[?25l
[1m-- VISUAL --[23;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/\u/s-1
[23;1H[7mKiw[?12l[?25h[?25l[m
[1m-- INSERT --[m[24;1H[K[23;1HNoRaspberryDateWatermelonPeach[23;31H[K[23;2H[?12l[?25ho[?25l
[1m-- INSERT --[m[24;1H[K[23;3HNoberryDateWatermelonPeach[23;29H[K[23;4H[?12l[?25hoberry[?25l[7mDateWat[m
[1m-- VISUAL --[23;17H[?12l[?25h[?25l[m[23;10HrmelonPeach[23;21H[K[24;1H[K[23;10H[?12l[?25h[?25lach[23;13H[K[23;10H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;10H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Jambu
[?25l[1;23r[23;1H
[1;24r[23;1HJambuRambutanBananaTangerineMango[24;1H[K[23;1H[?12l[?25hJa[?25l
[1m-- VISUAL --[23;3H[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[24;2H[K[24;2Hcall SelectInCaps()
[23;1H[7mJamb[?12l[?25h[?25l[m
[1m-- INSERT --[m[24;13H[K[24;1H[K[23;1H-RambutanBananaTangerineMango[23;30H[K[23;1H[?12l[?25h-[?25l
[1m-- INSERT --[m[24;1H[K[23;2H-tanBananaTangerineMango[23;26H[K[23;2H[?12l[?25h-[?25l[7mtanBanana[m
[1m-- VISUAL --[23;12H[?12l[?25h[?25l[m
--angerineMango[23;16H[K[24;1H[K[23;3H[?12l[?25ha[?25lgo[23;6H[K[23;4H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Operator-pending mode maps (movement and text object)
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25honoremap W /\u/<CR>
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25honoremap <Leader>W :<C-U>call MoveToCap()<CR>
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25honoremap iW :<C-U>call SelectInCaps()<CR>
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Pineapple
[?25l[1;23r[1;1H[2M[1;24r[23;1HPineappleQuinceLoganberryOrangeGrapefruitKiwiZ[24;1H[K[23;1H[?12l[?25h[?25l
/\u/
[24;4H[K[24;1H[24;1H[K[23;1H-QuinceLoganberryOrangeGrapefruitKiwiZ[23;39H[K[23;1H[?12l[?25h-[?25l
/\u/
[24;4H[K[24;1H[1m-- INSERT --[m[24;1H[K[23;2H-LoganberryOrangeGrapefruitKiwiZ[23;34H[K[23;2H[?12l[?25h-[?25l
/\u/
[24;4H[K[24;1H[1m-- INSERT --[m[24;1H[K[23;3H-GrapefruitKiwiZ[23;19H[K[23;3H[?12l[?25h-[?25l
/\u/
[24;4H[K[24;1H[1m-- INSERT --[m[24;1H[K[23;4H-Z[23;6H[K[23;4H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Juniper
[?25l[1;23r[23;1H
[1;24r[23;1HJuniperDurianZ[24;1H[K[23;1H[?12l[?25h[?25l
:call MoveToCap()
[23;1HWhavcre
[?12l[?25h[7C[?25l[24;1H[K[24;1H:call MoveToCap()
[23;8HQhevna[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;8H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Lemon
[?25l[1;23r[23;1H
[1;24r[23;1HLemonNectarineZ[24;1H[K[23;1H[?12l[?25h[?25l
:call SelectInCaps()
[23;1H[?12l[?25h[?25lLemonLemonNectarineZ
Lemo[?12l[?25hn[?25l[24;1H[K[24;1H:call SelectInCaps()
[24;1H[K[23;6HNewNectarineZ[23;19H[K[23;8H[?12l[?25hwNecta[?25l
:call SelectInCaps()
[24;1H[K[23;11HwZ[23;13H[K[23;11H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Patch 7.3.879: Properly abort Operator-pending mode for "dv:<Esc>" etc.
[?25l[23;11H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^zzzz
[?25l[1;23r[1;1H[2M[1;24r[23;1Hzzzz[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noma | let v:errmsg = ''
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1m[37m[41mE21: Cannot make changes, 'modifiable' is off[23;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ma | put = v:errmsg =~# '^E21' ? 'ok' : 'failed'
[?25l[1;23r[23;1H
[1;24r[23;1Hok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset noma | let v:errmsg = ''
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset ma | put = v:errmsg =~# '^E21' ? 'failed' : 'ok'
[?25l[1;23r[23;1H
[1;24r[23;1Hok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise visual mode: replace last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: replace last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet @" = 'x'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v:errmsg = ''
[?25l[23;1H[?12l[?25h[?25l
[1m-- VISUAL --[m[24;13H[K[23;1H[?12l[?25h[?25l[7ma[?12l[?25h[?25l[mx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='v:errmsg='.v:errmsg
[?25l[1;23r[23;1H
[1;24r[23;1Hv:errmsg=[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise visual mode: delete middle line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: delete middle line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25l
[1m-- VISUAL --[21;1H[?12l[?25h[?25l[m[7ma[?12l[?25h[?25l[mb
c
[1m[34m~ [m[24;1H[K[21;1H[?12l[?25h
[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise visual mode: delete middle two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: delete middle two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25l
[1m-- VISUAL --[21;1H[?12l[?25h[?25l[m[7ma
[?12l[?25h[?25lb[?12l[?25h[?25l[m[21;1Hc[21;2H[K[22;1H[1m[34m~ [23;1H~ [m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[22;1H---[22;4H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='characterwise visual mode: delete last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: delete last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25l
[1m-- VISUAL --[23;1H[?12l[?25h[?25l[m[7mc[?12l[?25h[?25l[m[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise visual mode: delete last two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: delete last two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[?25l
[1m-- VISUAL --[22;1H[?12l[?25h[?25l[m[7mb
[?12l[?25h[?25lc[?12l[?25h[?25l[m[22;1H[K[23;1H[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Select mode maps
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsnoremap <lt>End> <End>
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsnoremap <lt>Down> <Down>
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsnoremap <lt>Del> <Del>
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise select mode: delete middle line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise select mode: delete middle line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25l
[1m-- SELECT --[21;1H[?12l[?25h[?25l[m[7ma[?12l[?25h[?25l[mb
c
[1m[34m~ [m[24;1H[K[21;1H[?12l[?25h
[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise select mode: delete middle two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise select mode: delete middle two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25l
[1m-- SELECT --[21;1H[?12l[?25h[?25l[m[7ma
[?12l[?25h[?25lb[?12l[?25h[?25l[m[21;1Hc[21;2H[K[22;1H[1m[34m~ [23;1H~ [m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[22;1H---[22;4H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='characterwise select mode: delete last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise select mode: delete last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25l
[1m-- SELECT --[23;1H[?12l[?25h[?25l[m[7mc[?12l[?25h[?25l[m[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise select mode: delete last two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise select mode: delete last two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[?25l
[1m-- SELECT --[22;1H[?12l[?25h[?25l[m[7mb
[?12l[?25h[?25lc[?12l[?25h[?25l[m[22;1H[K[23;1H[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='linewise select mode: delete middle line'
[?25l[1;23r[23;1H
[1;24r[23;1Hlinewise select mode: delete middle line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25la[7m [m
[1m-- SELECT LINE --[21;1H[?12l[?25h[?25l[mb[21;2H[K[22;1Hc
[1m[34m~ [m[24;1H[K[21;1H[?12l[?25h
[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='linewise select mode: delete middle two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hlinewise select mode: delete middle two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25la[7m [m
[1m-- SELECT LINE --[21;1H[?12l[?25h[?25l[m[7ma
[mb[7m
[?12l[?25h[?25l[m[21;1Hc[21;2H[K[22;1H[1m[34m~ [23;1H~ [m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[22;1H---[22;4H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='linewise select mode: delete last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hlinewise select mode: delete last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25lc[7m [m
[1m-- SELECT LINE --[23;1H[?12l[?25h[?25l[m[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='linewise select mode: delete last two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hlinewise select mode: delete last two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[?25lb[7m [m
[1m-- SELECT LINE --[22;1H[?12l[?25h[?25l[m[7mb
[mc[7m
[?12l[?25h[?25l[m[22;1H[1m[34m~ [23;1H~ [m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[22;1H---[22;4H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='v_p: replace last character with line register at middle line'
[?25l[1;23r[23;1H
[1;24r[23;1Hv_p: replace last character with line register at middle line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='aaa'
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='bbb'
[?25l[1;23r[23;1H
[1;24r[23;1Hbbb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ccc'
[?25l[1;23r[23;1H
[1;24r[23;1Hccc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h-2yank
[?25l[23;1H[?12l[?25h[22;1Hbb[?25l
[1m-- VISUAL --[22;3H[?12l[?25h[?25l[m[22;3H[K[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[1;1H[2M[1;24r[22;1Hccc
---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='v_p: replace last character with line register at middle line selecting
newline'
[?25l[1;1H[L[2;1Hlinewise select mode: delete middle two line
c[3;2H[K[4;1H---[5;1H[K[6;1Hlinewise select mode: delete last line
a[7;2H[K[8;1Hb
---[10;1H[K[11;1Hlinewise select mode: delete last two line
a[12;2H[K[13;1H---[14;1H[K[15;1Hv_p: replace last character with line register at middle line
aaa[16;4H[K[17;1Hbb[17;3H[K[18;1Haaa[19;1H[K[20;1Hccc
---[22;1H[K[23;1Hv_p: replace last character with line register at middle line selecting newline[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='aaa'
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='bbb'
[?25l[1;23r[23;1H
[1;24r[23;1Hbbb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ccc'
[?25l[1;23r[23;1H
[1;24r[23;1Hccc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h-2yank
[?25l[23;1H[?12l[?25h[22;1Hbb[?25l
[1m-- VISUAL --[22;3H[?12l[?25h[?25l[m[7mb[?12l[?25h[?25l[m[22;3H[K[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hccc
[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?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/ex_eval.o ex_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/pathdef.o 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 -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
$put ='v_p: replace last character with line register at last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hv_p: replace last character with line register at last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='aaa'
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='bbb'
[?25l[1;23r[23;1H
[1;24r[23;1Hbbb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ccc'
[?25l[1;23r[23;1H
[1;24r[23;1Hccc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h-2yank
[?25l[23;1H[?12l[?25hcc[?25l
[1m-- VISUAL --[23;3H[?12l[?25h[?25l[1;23r[m[23;1H
[1;24r[22;3H[K[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='v_p: replace last character with line register at last line selecting n
[23;80He[24;1Hwline'
[?25l[1;1H[L[1;1Haaa
bb[2;3H[K[3;1Haaa[4;1H[K[5;1Hccc
---[7;1H[K[8;1Hv_p: replace last character with line register at middle line selecting newline
aaa[9;4H[K[10;1Hbb[10;3H[K[11;1Haaa
ccc
---[14;1H[K[15;1Hv_p: replace last character with line register at last line
aaa[16;4H[K[17;1Hbbb
cc[18;3H[K[19;1Haaa[20;1H[K[21;1H---[22;1H[K[23;1Hv_p: replace last character with line register at last line selecting newline[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='aaa'
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='bbb'
[?25l[1;23r[23;1H
[1;24r[23;1Hbbb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ccc'
[?25l[1;23r[23;1H
[1;24r[23;1Hccc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h-2yank
[?25l[23;1H[?12l[?25hcc[?25l
[1m-- VISUAL --[23;3H[?12l[?25h[?25l[m[7mc[?12l[?25h[?25l[1;23r[m[23;1H
[1;24r[22;3H[K[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='gv in exclusive select mode after operation'
[?25l[1;23r[23;1H
[1;24r[23;1Hgv in exclusive select mode after operation[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='zzz '
[?25l[1;23r[23;1H
[1;24r[23;1Hzzz[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ä[24;11Hà '
[?25l[1;23r[23;1H
[1;24r[23;1Hä[23;3HÃ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset selection=exclusive
[?25l[23;1H[?12l[?25h[22;1H[?25l
[1m-- VISUAL --[m[24;13H[K[22;1H[?12l[?25h[?25l[7mzzz[?12l[?25h[?25l[m
zzz[24;1H[K[22;1H[?12l[?25h
[?25l
[1m-- VISUAL --[23;1H[?12l[?25h[?25l[m[7mä[23;3HÃ[?12l[?25h[?25l[m
zzz[24;1H[K[23;3H[?12l[?25h[?25l
[1m-- VISUAL --[m[23;1H[7mzzz[?12l[?25h[?25l[m[24;4H[1mINSERT [m[24;1H[K[23;1Hxxx[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='gv in exclusive select mode without operation'
[?25l[1;23r[23;1H
[1;24r[23;1Hgv in exclusive select mode without operation[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='zzz '
[?25l[1;23r[23;1H
[1;24r[23;1Hzzz[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset selection=exclusive
[?25l[23;1H[?12l[?25h[?25l
[1m-- VISUAL --[m[24;13H[K[23;1H[?12l[?25h[?25l[7mzzz[?12l[?25h[?25l[m
zzz[24;1H[K[23;4H[?12l[?25h[?25l
[1m-- VISUAL --[m[23;1H[7mzzz[?12l[?25h[?25l[m[24;4H[1mINSERT [m[24;1H[K[23;1Hxxx[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^start:/+2,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New] 123L, 1328C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test95.in" 141 lines, 5827 characters[1;1HTest 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.[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for regexp patterns with multi-byte support, using utf-8.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 131 lines, 5590 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:[8Cendif
: 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:
[1m[34m~ [20;1H[?12l[?25h
[?25l
[m:so! Xdotest
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp encoding=utf-8 viminfo+=nviminfo nomore
[?25l[27m[23m[m[H[2J[1;1H:[8Cendif
: 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:
[1m[34m~ [21;1H[?12l[?25h[?25l
[m:[?12l[?25h" tl is a List of Lists with:
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" 2: test auto/old/new 0: test auto/old 1: test auto/new
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" regexp pattern
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" text to test the pattern on
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected match (optional)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected submatch 1 (optional)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected submatch 2 (optional)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" etc.
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When there is no match use only the first two items.
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tl = []
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Multi-byte character tests. These will fail unless vim is compiled
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" with Multibyte (FEAT_MBYTE) or BIG/HUGE features.
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[[:alpha:][=a=]]\+', '879 aiaãâaiuvna ', 'aiaãâaiuvna'])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[[=a=]]\+', 'ddaãâbcd', 'aãâ'])[34m^I^I^I^I^I^I^I^I[m" equivalence
classes
[?25l[1;1H[L[1;1H:[8Cendif[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hcall add(tl, [2, '[^ม ]\+', 'มม oijasoifjos ifjoisj f osij j มมมมม abcd', 'oij
[23;80Ha[24;1Hsoifjos'])
[?25l[1;1H[L[1;1H:[8Cendif[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hcall add(tl, [2, ' [^ ]\+', 'start มabcdม ', ' มabcdม'])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[ม[:alpha:][=a=]]\+', '879 aiaãมâมaiuvna ', 'aiaãมâมaiuvna']
[23;80H)[24;1H[?25l[1;1H[L[1;1H:[8Cendif[24;1H[K[21;1H[?12l[?25h[?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 ®expengine = 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
[23;80Hx[24;1Ht . '\", 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
[23;80Hx[24;1Ht . '\", 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
[23;80Hx[24;1Ht . '\", 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:[8C[?12l[?25h: if len(t) <= matchidx + i
[?25l:[10C[?12l[?25h: let e = ''
[?25l:[10C[?12l[?25h: else
[?25l:[10C[?12l[?25h: let e = t[matchidx + i]
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: if l[i] != e
[?25l:[10C[?12l[?25h: $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text:
"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: endfor
[?25l: [?12l[?25h: unlet i
[?25l: [?12l[?25h: endif
[?25l: [?12l[?25h: endfor
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[1;1HOK 2 - ק[34m<200d>[mx\Z
OK 0 - ק[34m<200d>[mx\Z
OK 1 - ק[34m<200d>[mx\Z
OK 2 - ק[34m<200d>[mx\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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" check that 'ambiwidth' does not change the meaning of \p
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset regexpengine=1 ambiwidth=single
[?25l[27m[23m[m[H[2J[1;1HOK 2 - ק[34m<200d>[mx\Z
OK 0 - ק[34m<200d>[mx\Z
OK 1 - ק[34m<200d>[mx\Z
OK 2 - ק[34m<200d>[mx\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[1;23r[23;1H
[1;24r[23;1Heng 1 ambi single: 0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset regexpengine=1 ambiwidth=double
[?25l[27m[23m[m[H[2J[1;1HOK 0 - ק[34m<200d>[mx\Z
OK 1 - ק[34m<200d>[mx\Z
OK 2 - ק[34m<200d>[mx\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[1;23r[23;1H
[1;24r[23;1Heng 1 ambi double: 0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset regexpengine=2 ambiwidth=single
[?25l[27m[23m[m[H[2J[1;1HOK 1 - ק[34m<200d>[mx\Z
OK 2 - ק[34m<200d>[mx\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[1;23r[23;1H
[1;24r[23;1Heng 2 ambi single: 0[24;1H[K[23;1H[?12l[?25h[?25l
:[?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/gui_gtk_x11.o gui_gtk_x11.c
set regexpengine=2 ambiwidth=double
[?25l[27m[23m[m[H[2J[1;1HOK 2 - ק[34m<200d>[mx\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[1;23r[23;1H
[1;24r[23;1Heng 2 ambi double: 0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/\%#=1^Results/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test98.in" 43 lines, 908 characters[1;1HTest 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.[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for 'scrollbind' causing an unexpected scroll of one of the windows.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[Kgcc -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
[24;11H[New File] 35 lines, 791 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[3;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[16M[1;24r[8;1H: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(too[20;1HpLineLeft - topLineRight))
:w! test.out
:brewind
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" We don't want the status line to cause problems:
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset laststatus=0
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:totalLines = &lines * 20
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet middle = g:totalLines / 2
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd n
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd o
[?25l[12;1H[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hfor i in range(1, g:totalLines)
[?25l
: [?12l[?25h: call setline(i, 'LINE ' . i)
[?25l: [?12l[?25h:endfor
[1;1H[2L[?25l[1;1HLINE 1
LINE 2
LINE 3[3;7H[K[4;1HLINE 4[4;7H[K[5;1HLINE 5[5;7H[K[6;1HLINE 6[6;7H[K[7;1HLINE 7[7;7H[K[8;1HLINE 8[8;7H[K[9;1HLINE 9[9;7H[K[10;1HLINE 10[10;8H[K[11;1HLINE 11[11;8H[K[12;1HLINE 12[12;8H[K[13;1HLINE 13[13;8H[K[14;1HLINE 14[14;8H[K[15;1HLINE 15[15;8H[K[16;1HLINE 16[16;8H[K[17;1HLINE 17[17;8H[K[18;1HLINE 18[18;8H[K[19;1HLINE 19[19;8H[K[20;1HLINE 20[20;8H[K[21;1HLINE 21[21;8H[K[22;1HLINE 22[22;8H[K[23;1HLINE 23[23;8H[K[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hexe string(middle)
[?25l[27m[23m[m[H[2J[1;1HLINE 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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnormal zt
[?25l[1;23r[1;1H[11M[1;24r[13;1HLINE 252
LINE 253
LINE 254
LINE 255
LINE 256
LINE 257
LINE 258
LINE 259
LINE 260
LINE 261
LINE 262[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnormal M
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haboveleft vert new
[?25l[1;1H [32C[7m|[2;41H|[3;41H|[4;41H|[5;41H|[6;41H|[7;41H|[8;41H|[9;41H|[10;41H|[11;41H|[12;41H|[13;41H|[14;41H|[15;41H|[16;41H|[17;41H|[18;41H|[19;41H|[20;41H|[21;41H|[22;41H|[23;41H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~ [m[1;42HLINE 240[2;42HLINE 241[3;42HLINE 242[4;42HLINE 243[5;42HLINE 244[6;42HLINE 245[7;42HLINE 246[8;42HLINE 247[9;42HLINE 248[10;42HLINE 249[11;42HLINE 250[12;42HLINE 251[13;42HLINE 252[14;42HLINE 253[15;42HLINE 254[16;42HLINE 255[17;42HLINE 256[18;42HLINE 257[19;42HLINE 258[20;42HLINE 259[21;42HLINE 260[22;42HLINE 261[23;42HLINE 262[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(1, g:totalLines)
[?25l
: [?12l[?25h: call setline(i, 'line ' . i)
[?25l: [?12l[?25h:endfor
[1;1H[2L[?25l[1;1Hline 1[34C[7m|[m
line 2[34C[7m|[m
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 [1;42HLINE 240[2;42HLINE 241[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hexe string(middle)
[?25l[1;6H229[2;7H30[3;6H231[4;6H232[5;6H233[6;6H234[7;6H235[8;6H236[9;6H237[10;6H238[11;6H239[12;6H240[13;6H241[14;6H242[15;6H243[16;6H244[17;6H245[18;6H246[19;6H247[20;7H48[21;7H49[22;7H50[23;7H51[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal zt
[?25l[1;1Hline 240
line 241
line 242
line 243
line 244
line 245
line 246
line 247
line 248
line 249
line 250
line 251
[13;1Hline 252
line 253
line 254
line 255
line 256
line 257
line 258
line 259
line 260
line 261
line 262[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnormal M
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Execute the following two command at once to reproduce the problem.
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl scb | wincmd p
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl scb
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd w
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet topLineLeft = line('w0')
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd p
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet topLineRight = line('w0')
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl noscrollbind
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd p
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl noscrollbind
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[1;1HLINE[1;41H[K[2;1HLINE[2;41H[K[3;1HLINE[3;41H[K[4;1HLINE[4;41H[K[5;1HLINE[5;41H[K[6;1HLINE[6;41H[K[7;1HLINE[7;41H[K[8;1HLINE[8;41H[K[9;1HLINE[9;41H[K[10;1HLINE[10;41H[K[11;1HLINE[11;41H[K[12;1HLINE[12;41H[K[13;1HLINE[13;41H[K[14;1HLINE[14;41H[K[15;1HLINE[15;41H[K[16;1HLINE[16;41H[K[17;1HLINE[17;41H[K[18;1HLINE[18;41H[K[19;1HLINE[19;41H[K[20;1HLINE[20;41H[K[21;1HLINE[21;41H[K[22;1HLINE[22;41H[K[23;1HLINE[23;41H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%del _
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall setline(1, 'Difference between the top lines (left - right): ' . string(t
[23;80Ho[24;1HpLineLeft - topLineRight))
[?25l[1;1H[L[1;1HDifference between the top lines (left - right): 0[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 51 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbrewind
[?25l"test98.in" 43 lines, 908 characters[1;1H:normal M[1;10H[K[2;1H:" Execute the following two command at once to reproduce the problem.[2;71H[K[3;1H:setl scb | wincmd p[3;21H[K[4;1H:setl scb[4;10H[K[5;1H:wincmd w[5;10H[K[6;1H:let topLineLeft = line('w0')[6;30H[K[7;1H:wincmd p[7;10H[K[8;1H:let topLineRight = line('w0')[8;31H[K[9;1H:setl noscrollbind[9;19H[K[10;1H:wincmd p[10;10H[K[11;1H:setl noscrollbind[11;19H[K[12;1H:q![12;4H[K[13;1H:%del _[13;8H[K[14;1H:call setline(1, 'Difference between the top lines (left - right): ' . string(too[15;1HpLineLeft - topLineRight))[15;27H[K[16;1H:w! test.out[16;13H[K[17;1H:brewind[17;9H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1HSTARTTEST[20;10H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[20;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H1 line, 5 characters written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[21;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test99.in" 69 lines, 1400 characters[1;1HTests 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
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with multi-byte encoding and various magic settings.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 43 lines, 931 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:" 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[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
[?25l[27m[23m[m[H[2J[1;1H:" 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
:[?12l[?25h" Test \%u, [\u] and friends
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%u20ac
[?25l[1;23r[23;1H
/[?12l[?25h[\u4f7f\u5929]\+
[?25l[1;23r[23;1H
/[?12l[?25h\%U12345678
[?25l[1;23r[23;1H
/[?12l[?25h[\U1234abcd\u1234\uabcd]
[?25l[1;23r[23;1H
/[?12l[?25h\%d21879b
[?25l[1;23r[23;1H
:[?12l[?25h" Test backwards search from a multi-byte char
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hx
[?25l[1;23r[23;1H
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" l Test what 7.3.192 fixed
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^l
[?25l[1;23r[23;1H
2 d dd dee deeff
3 g gg ghh ghhii
4 j jj jkk jkkll
5 m mm mnn mnnoo
#@/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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test103.in" 37 lines, 823 characters[1;1HTest for visual mode not being reset causing E315 error.
STARTTEST
:so small.vim
:enew
:let g:msg="Everything's fine."
:function! TriggerTheProblem()
:[7C" At this point there is no visual selection because :call reset it.
:[7C" Let's restore the selection:
:[7Cnormal gv
:[7C'<,'>del _
:[7Ctry
:[15Cexe "normal \<Esc>"
:[7Ccatch /^Vim\%((\a\+)\)\=:E315/
:[15Cechom 'Snap! E315 error!'
:[15Clet g:msg='Snap! E315 error!'
:[7Cendtry
: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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for visual mode not being reset causing E315 error.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 29 lines, 723 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[3;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[10M[1;24r[14;1H:"[7Cex-way will require the colon operator which resets the visual mode thuu[15;1Hs
:"[7Cpreventing the problem:
:"
GV:call TriggerTheProblem()
:%del _
:call append(line('$'), g:msg)
:w! test.out
:brewind
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25henew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet g:msg="Everything's fine."
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! TriggerTheProblem()
[?25l
: [?12l[?25h:[34m^I[m" At this point there is no visual selection because :call reset it.
[?25l: [?12l[?25h:[34m^I[m" Let's restore the selection:
[?25l: [?12l[?25h:[34m^I[mnormal gv
[?25l: [?12l[?25h:[34m^I[m'<,'>del _
[?25l: [?12l[?25h:[34m^I[mtry
[?25l: [?12l[?25h:[34m^I^I[mexe "normal \<Esc>"
[?25l: [?12l[?25h:[34m^I[mcatch /^Vim\%((\a\+)\)\=:E315/
[?25l: [?12l[?25h:[34m^I^I[mechom 'Snap! E315 error!'
[?25l: [?12l[?25h:[34m^I^I[mlet g:msg='Snap! E315 error!'
[?25l: [?12l[?25h:[34m^I[mendtry
[?25l: [?12l[?25h:endfunction
[1;1H[11L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25henew
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl buftype=nofile
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), 'Delete this line.')
[?25l[2;1HDelete this line.[2;18H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" NOTE: this has to be done by a call to a function because executing :del the
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" ex-way will require the colon operator which resets the visual mode th
[23;80Hu[24;1Hs[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" preventing the problem:
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h
[?25lD[7melete this line.
[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[?12l[?25hcall TriggerTheProblem()
[?25l[2;1H[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h%del _
[?25l--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), g:msg)
[?25l[2;1HEverything's fine.[2;19H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 2 lines, 20 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbrewind
[?25l"test103.in" 37 lines, 823 characters[1;1H:[7Cendtry
:endfunction[2;14H[K[3;1H:enew[3;6H[K[4;1H:setl buftype=nofile[4;21H[K[5;1H:call append(line('$'), 'Delete this line.')[5;45H[K[6;1H:"[6;3H[K[7;1H:"[7;3H[K[8;1H:" NOTE: this has to be done by a call to a function because executing :del the[8;80H[K[9;1H:" ex-way will require the colon operator which resets the visual mode thuu[10;1Hs[10;2H[K[11;1H:" preventing the problem:[11;33H[K[12;1H:"[12;3H[K[13;1HGV:call TriggerTheProblem()[13;28H[K[14;1H:%del _[14;8H[K[15;1H:call append(line('$'), g:msg)[15;31H[K[16;1H:w! test.out[16;13H[K[17;1H:brewind[17;9H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1HSTARTTEST[20;10H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[20;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H1 line, 5 characters written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[21;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test104.in" 30 lines, 698 characters[1;1HTests 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 [16;1H== 1 ? "a" : "b"}']
: try
: redir => messages
: execute 'let' letargs
: redir END
: $put ='OK:'
: $put =split(substitute(messages, '\n', '\0 ', 'g'), '\n')
: catch[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :let. vim: set ft=vim ts=8 :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 24 lines, 618 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[6M[1;24r[18;1H: $put ='FAIL: ' . v:exception
: redir END
: endtry
:endfor
:/^Results/,$wq! test.out
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset runtimepath+=./sautest
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test to not autoload when assigning. It causes internal error.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[5L[?25l[1;1H: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 [7;1H== 1 ? "a" : "b"}']
: try[8;7H[K[9;1H: redir => messages
: execute 'let' letargs[11;12HEND[11;15H[K[12;6H$put ='OK:'[12;17H[K[13;6H$put =split(substitute(messages, '\n', '\0 ', 'g'), '\n')
: catch[14;9H[K[15;12H'FAIL: ' . v:exception[15;34H[K[16;4H redir END
: endtry[17;11H[K[18;2Hendfor[18;8H[K[19;2H/^Results/,$wq! test.out
ENDTEST[21;1H[K[22;1HResults of test104:
OK: function('tr')[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet a = 1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b = 2
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0
== 1 ? "a" : "b"}']
[?25l[24;1H[K[24;1H: [?12l[?25h: try
[?25l: [?12l[?25h: redir => messages
[?25l: [?12l[?25h: execute 'let' letargs
[?25la[21C#1
b[21C#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[21C#2
b[21C#2
a[21C#1
a[21C#1
b[21C#2
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h/^Results/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test107.in" 38 lines, 717 characters[1;1HTests 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)
:[7Clet 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for adjusting window and contents vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 32 lines, 628 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[13M[1;24r[11;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;2H:wincmd p[13;11H[K[14;2Hcall add(r, [line("w0"), s3])[15;2H[K[16;2Hbwipeout!
:$put=r[17;8H[K[18;2Hcall garbagecollect(1)
:"[19;3H[K[20;2H/^start:/,$wq! test.out
ENDTEST[21;8H[K[22;1H[K[23;1H[7mtest107.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall setline(1, range(1,256))
[?25l[1;1H1
2[2;2H[K[3;1H3[3;2H[K[4;1H4[4;2H[K[5;1H5[5;2H[K[6;1H6[6;2H[K[7;1H7[7;2H[K[8;1H8[8;2H[K[9;1H9[9;2H[K[10;1H10[10;3H[K[11;1H11[11;3H[K[12;11H[1m[7m[+][1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet r=[]
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1H1
2
3
4
5
6[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"
[?25l[11;1H[7m[No Name] [+] [m[12;1H:let s3=GetScreenStr(1)[12;24H[K[23;1H[1m[7mtest107.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd p
[?25l[11;1H[1m[7m[No Name] [+] [m[23;1H[7mtest107.in[m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"
[?25l[27m[23m[m[H[2J[1;1H50
51
52
53
54
55
56
57
58
59
[7m[No Name] [+] [m[12;1H:let s3=GetScreenStr(1)
::wincmd p
:call add(r, [line("w0"), s3])
:
:bwipeout!
:$put=r
:call garbagecollect(1)
:"
:/^start:/,$wq! test.out
ENDTEST
[1m[7mtest107.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd p
[?25l[11;1H[1m[7m[No Name] [+] [m[23;1H[7mtest107.in[m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"
[?25l[27m[23m[m[H[2J[1;1H59
60
61
62
63
64
65
66
67
68
[7m[No Name] [+] [m[12;1H:let s3=GetScreenStr(1)
::wincmd p
:call add(r, [line("w0"), s3])
:
:bwipeout!
:$put=r
:call garbagecollect(1)
:"
:/^start:/,$wq! test.out
ENDTEST
[1m[7mtest107.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h:wincmd p
[?25l[11;1H[1m[7m[No Name] [+] [m[23;1H[7mtest107.in[m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipeout!
[?25l[1;1H:[1;2H[K[2;1H: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])
:[6;2H[K[7;1H: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])
:[11;2H[K[12;2Hexe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"
:let s3=GetScreenStr(1)
::wincmd p[14;11H[K[15;2Hcall add(r, [line("w0"), s3])[16;2H[K[17;2Hbwipeout!
:$put=r[18;8H[K[19;2Hcall garbagecollect(1)
:"[20;3H[K[21;1H:/^start:/,$wq! test.out
ENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put=r
[?25l3 more lines[1;23r[1;1H[4M[1;24r[20;1Hstart:
[1, '1 ']
[50, '50 ']
[59, '59 '][24;1H[K[24;1H3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test108.in" 88 lines, 1329 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for backtrace debug commands. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 83 lines, 1251 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hup
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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang mess C
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1Hup
b
echo "fil is not frame or finish, it is file"
fil[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1Hup
b
echo "fil is not frame or finish, it is file"
fil[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1Hup
b
echo "fil is not frame or finish, it is file"
fil[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;5H[K[14;1Hecho "\n- final result 19:"
cont[15;6H[K[16;1H:0debuggreedy
:redir END[17;11H[K[18;2H$put =out
:w! test.out
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7mtest108.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hdebuggreedy
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir => out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[?25l[1m[37m[41mError detected while processing function Foo[2]..Bar[2]..Bazz:[m
[33mline 3:[m
[1m[37m[41mE121: Undefined variable: var3[m
[1m[37m[41mE15: Invalid expression: var3[m
>[?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
[?25l[1m[37m[41mError detected while processing function Foo[2]..Bar:[m
[33mline 3:[m
[1m[37m[41mE121: Undefined variable: var2[m
[1m[37m[41mE15: Invalid expression: var2[m
>[?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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h0debuggreedy
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1Hfram
echo "\n- final result 19:"
cont
:0debuggreedy
:redir END
:$put =out
:w! test.out
:qa!
ENDTEST
[7mtest108.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hredir END
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =out
[?25l83 more lines[1;1H->1 function Foo[2]
0 Bar[2;8H[K[3;1Hline 3: End of function[3;24H[K[4;1Hframe is zero[4;14H[K[5;1H 1 function Foo[2][5;20H[K[6;1H->0 Bar[6;8H[K[7;1Hline 3: End of function[7;24H[K[8;1H[K[9;1H- final result 19:[9;19H[K[10;1H19[10;3H[K[11;1H[K[12;11H[1m[7m[+][11;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 84 lines, 1390 characters written[12;1H[1m[7mtest.out] [11;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_autocmd_option.in" 77 lines, 2954 characters[1;1HTest for option autocommand
STARTTEST
:so small.vim
:if !has("eval") || !has("autocmd") || !exists("+autochdir") | e! test.ok | w! tt[6;1Hest.out | qa! | endif
:fu! AutoCommand(match)
:[7Clet c=g:testcase
:[7Clet item=remove(g:options, 0)
:[7Clet c.=printf("Expected: Name: <%s>, Oldval: <%s>, NewVal: <%s>, Scope: [11;1H<%s>\n", item[0], item[1], item[2], item[3])
:[7Clet c.=printf("Autocmd Option: <%s>,", a:match)
:[7Clet c.=printf(" OldVal: <%s>,", v:option_old)
:[7Clet c.=printf(" NewVal: <%s>,", v:option_new)
:[7Clet c.=printf(" Scope: <%s>\n", v:option_type)
:[7Ccall 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']][1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for option autocommand[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 72 lines, 2896 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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, secoo[4;1Hnd 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[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has("eval") || !has("autocmd") || !exists("+autochdir") | e! test.ok | w!
[23;80Ht[24;1Hest.out | qa! | endif
[?25l[1;1H[L[1;1H:let g:testcase="13: Setting option backspace through setbufvar()\n"[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hfu! AutoCommand(match)
[?25l
: [?12l[?25h:[34m^I[mlet 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
[23;80Hp[24;1He: <%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
[1;1H[10L[?25l[1;1H: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, secoo[4;1Hnd 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)[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hau OptionSet * :call AutoCommand(expand("<amatch>"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="1: Setting number option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['number', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nu
[?25l[1;1H[33m 56 [m:let g:testcase="13: Setting option backspace through setbufvar()\n"
[33m 57 [m:let g:options=[['backup', '', '1', 'local']]
[33m 58 [m: "try twice, first time, shouldn't trigger because option name is invall[4;1Hid, second time, it should trigger
[33m 59 [m:call setbufvar(1, '&l:bk', 1)
[33m 60 [m: "should trigger, use correct option name
[33m 61 [m:call setbufvar(1, '&backup', 1)
[33m 62 [m:let g:testcase="14: Setting number option using setwinvar\n"
[33m 63 [m:let g:options=[['number', 0, 1, 'local']]
[33m 64 [m:call setwinvar(0, '&number', 1)
[33m 65 [m:" Write register now, because next test shouldn't output anything.
[33m 66 [m:$put r
[33m 67 [m:let @r=''
[33m 68 [m:let g:testcase="\n15: Setting key option, shouldn't trigger\n"
[33m 69 [m:let g:options=[['key', 'invalid', 'invalid1', 'invalid']]
[33m 70 [m:setlocal key=blah
[33m 71 [m:setlocal key=
[33m 72 [m:$put =g:testcase
[33m 73 [m:$put r
[33m 74 [m:/^dummy text/,$w! test.out
[33m 75 [m:qa!
[33m 76 [mENDTEST
[33m 77 [mdummy text[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="2: Setting local number option\n"
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['number', 1, 0, 'local']]
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal nonu
[?25l[1;1H:let g:testcase="13: Setting option backspace through setbufvar()\n"[1;69H[K[2;1H:let g:options=[['backup', '', '1', 'local']][2;46H[K[3;1H: "try twice, first time, shouldn't trigger because option name is invalid, secoo[4;1Hnd time, it should trigger[4;28H[K[5;1H:call setbufvar(1, '&l:bk', 1)[5;31H[K[6;1H: "should trigger, use correct option name[6;43H[K[7;1H:call setbufvar(1, '&backup', 1)[7;33H[K[8;1H:let g:testcase="14: Setting number option using setwinvar\n"[8;62H[K[9;1H:let g:options=[['number', 0, 1, 'local']][9;43H[K[10;1H:call setwinvar(0, '&number', 1)[10;33H[K[11;1H:" Write register now, because next test shouldn't output anything.[11;68H[K[12;1H:$put r[12;8H[K[13;1H:let @r=''[13;11H[K[14;1H:let g:testcase="\n15: Setting key option, shouldn't trigger\n"[14;64H[K[15;1H:let g:options=[['key', 'invalid', 'invalid1', 'invalid']][15;59H[K[16;1H:setlocal key=blah[16;19H[K[17;1H:setlocal key=[17;15H[K[18;1H:$put =g:testcase[18;18H[K[19;1H:$put r[19;8H[K[20;1H:/^dummy text/,$w! test.out[20;28H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1Hdummy text[23;11H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="3: Setting global number option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['number', 1, 0, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal nonu
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="4: Setting local autoindent option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoindent', 0, 1, 'local']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal ai
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="5: Setting global autoindent option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoindent', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal ai
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="6: Setting global autoindent option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoindent', 1, 0, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ai!
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h Should not print anything, use :noa
[?25l[1m[37m[41mE492: Not an editor command: Should not print anything, use :noa[23;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnoa :set nonu
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="7: Setting several global list and number option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['list', 0, 1, 'global'], ['number', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset list nu
[?25l[1;1H[33m 56 [m:let g:testcase="13: Setting option backspace through setbufvar()\n"[1m[34m$[m
[33m 57 [m:let g:options=[['backup', '', '1', 'local']][1m[34m$[m
[33m 58 [m: "try twice, first time, shouldn't trigger because option name is invall[4;1Hid, second time, it should trigger[1m[34m$[m
[33m 59 [m:call setbufvar(1, '&l:bk', 1)[1m[34m$[m
[33m 60 [m: "should trigger, use correct option name[1m[34m$[m
[33m 61 [m:call setbufvar(1, '&backup', 1)[1m[34m$[m
[33m 62 [m:let g:testcase="14: Setting number option using setwinvar\n"[1m[34m$[m
[33m 63 [m:let g:options=[['number', 0, 1, 'local']][1m[34m$[m
[33m 64 [m:call setwinvar(0, '&number', 1)[1m[34m$[m
[33m 65 [m:" Write register now, because next test shouldn't output anything.[1m[34m$[m
[33m 66 [m:$put r[1m[34m$[m
[33m 67 [m:let @r=''[1m[34m$[m
[33m 68 [m:let g:testcase="\n15: Setting key option, shouldn't trigger\n"[1m[34m$[m
[33m 69 [m:let g:options=[['key', 'invalid', 'invalid1', 'invalid']][1m[34m$[m
[33m 70 [m:setlocal key=blah[1m[34m$[m
[33m 71 [m:setlocal key=[1m[34m$[m
[33m 72 [m:$put =g:testcase[1m[34m$[m
[33m 73 [m:$put r[1m[34m$[m
[33m 74 [m:/^dummy text/,$w! test.out[1m[34m$[m
[33m 75 [m:qa![1m[34m$[m
[33m 76 [mENDTEST[1m[34m$[m
[33m 77 [mdummy text[1m[34m$[23;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnoa set nolist nonu
[?25l[1;1H:let g:testcase="13: Setting option backspace through setbufvar()\n"[1;69H[K[2;1H:let g:options=[['backup', '', '1', 'local']][2;46H[K[3;1H: "try twice, first time, shouldn't trigger because option name is invalid, secoo[4;1Hnd time, it should trigger[4;28H[K[5;1H:call setbufvar(1, '&l:bk', 1)[5;31H[K[6;1H: "should trigger, use correct option name[6;43H[K[7;1H:call setbufvar(1, '&backup', 1)[7;33H[K[8;1H:let g:testcase="14: Setting number option using setwinvar\n"[8;62H[K[9;1H:let g:options=[['number', 0, 1, 'local']][9;43H[K[10;1H:call setwinvar(0, '&number', 1)[10;33H[K[11;1H:" Write register now, because next test shouldn't output anything.[11;68H[K[12;1H:$put r[12;8H[K[13;1H:let @r=''[13;11H[K[14;1H:let g:testcase="\n15: Setting key option, shouldn't trigger\n"[14;64H[K[15;1H:let g:options=[['key', 'invalid', 'invalid1', 'invalid']][15;59H[K[16;1H:setlocal key=blah[16;19H[K[17;1H:setlocal key=[17;15H[K[18;1H:$put =g:testcase[18;18H[K[19;1H:$put r[19;8H[K[20;1H:/^dummy text/,$w! test.out[20;28H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1Hdummy text[23;11H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="8: Setting global acd\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autochdir', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal acd
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="9: Setting global autoread\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoread', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="10: Setting local autoread\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoread', 0, 1, 'local']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal ar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="11: Setting global autoread\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoread', 1, 0, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal invar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="12: Setting option backspace through :let\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['backspace', '', 'eol,indent,start', 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet &bs="eol,indent,start"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="13: Setting option backspace through setbufvar()\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['backup', '', '1', 'local']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h "try twice, first time, shouldn't trigger because option name is invalid, sec
[23;80Ho[24;1Hnd time, it should trigger
[?25l[1;1H[L[1;1H:let g:testcase="13: Setting option backspace through setbufvar()\n"[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcall setbufvar(1, '&l:bk', 1)
[?25l[1m[37m[41mE355: Unknown option: l:bk[m[24;27H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h "should trigger, use correct option name
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall setbufvar(1, '&backup', 1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="14: Setting number option using setwinvar\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['number', 0, 1, 'local']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall setwinvar(0, '&number', 1)
[?25l[1;1H[33m 56 [m:let g:testcase="13: Setting option backspace through setbufvar()\n"
[33m 57 [m:let g:options=[['backup', '', '1', 'local']]
[33m 58 [m: "try twice, first time, shouldn't trigger because option name is invall[4;1Hid, second time, it should trigger
[33m 59 [m:call setbufvar(1, '&l:bk', 1)
[33m 60 [m: "should trigger, use correct option name
[33m 61 [m:call setbufvar(1, '&backup', 1)
[33m 62 [m:let g:testcase="14: Setting number option using setwinvar\n"
[33m 63 [m:let g:options=[['number', 0, 1, 'local']]
[33m 64 [m:call setwinvar(0, '&number', 1)
[33m 65 [m:" Write register now, because next test shouldn't output anything.
[33m 66 [m:$put r
[33m 67 [m:let @r=''
[33m 68 [m:let g:testcase="\n15: Setting key option, shouldn't trigger\n"
[33m 69 [m:let g:options=[['key', 'invalid', 'invalid1', 'invalid']]
[33m 70 [m:setlocal key=blah
[33m 71 [m:setlocal key=
[33m 72 [m:$put =g:testcase
[33m 73 [m:$put r
[33m 74 [m:/^dummy text/,$w! test.out
[33m 75 [m:qa!
[33m 76 [mENDTEST
[33m 77 [mdummy text[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Write register now, because next test shouldn't output anything.
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put r
[?25l60 more lines[1;5H[33m117[m[1CAutocmd Option: <autoread>, OldVal: <0>, NewVal: <1>, Scope: <global>[2;5H[33m118[m[2;9H[K[3;5H[33m119[m[1C10: Setting local autoread[3;35H[K[4;1H[33m 120 [mExpected: Name: <autoread>, Oldval: <0>, NewVal: <1>, Scope: <local>[5;5H[33m121[m[1CAutocmd Option: <autoread>, OldVal: <1>, NewVal: <1>, Scope: <local>[6;5H[33m122[m[6;9H[K[7;5H[33m123[m[1C11: Setting global autoread[7;36H[K[8;5H[33m124[m[1CExpected: Name: <autoread>, Oldval: <1>, NewVal: <0>, Scope: <global>[9;5H[33m125[m[1CAutocmd Option: <autoread>, OldVal: <1>, NewVal: <0>, Scope: <global>[10;5H[33m126[m[10;9H[K[11;5H[33m127[m[1C12: Setting option backspace through :let[11;50H[K[12;5H[33m128[m[1CExpected: Name: <backspace>, Oldval: <>, NewVal: <eol,indent,start>, Scoo[13;1Hpe: <global>[13;14H[K[14;5H[33m129[m[1CAutocmd Option: <backspace>, OldVal: <>, NewVal: <eol,indent,start>, Scoo[15;1Hpe: <global>[15;14H[K[16;5H[33m13[m[16;9H[K[17;5H[33m13[m[2C13: Setting option backspace through setbufvar()[18;5H[33m13[m[2CExpected: Name: <backup>, Oldval: <>, NewVal: <1>, Scope: <local>[19;5H[33m13[m[2CAutocmd Option: <backup>, OldVal: <0>, NewVal: <1>, Scope: <local>[20;5H[33m13[m[20;9H[K[21;5H[33m13[m[2C14: Setting number option using setwinvar[22;5H[33m13[m[3Cxpected: Name: <number>, Oldval: <0>, NewVal: <1>, Scope: <local>[23;5H[33m13[m[2CAutocmd Option: <number>, OldVal: <0>, NewVal: <1>, Scope: <local>[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet @r=''
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="\n15: Setting key option, shouldn't trigger\n"
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['key', 'invalid', 'invalid1', 'invalid']]
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal key=blah
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal key=
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:testcase
[?25l[1;23r[1;1H[2M[1;24r[22;1H[33m 138
139 [m15: Setting key option, shouldn't trigger[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25h$put r
[?25l[1;23r[23;1H
[1;24r[23;1H[33m 140 [m[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25h/^dummy text/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 64 lines, 2700 characters written[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_autoformat_join.in" 23 lines, 524 characters[1;1HTests 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
ENDTEST[16;17HO 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:[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for setting the '[,'] marks when joining lines.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 9 lines, 265 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^\t\t/
[?25l[16;17H[?12l[?25h[16;8H[?25l[36Cattamen consulite per voster honur.
Tua pulchra facies me fay planszer milies[17;42H[K[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet a=string(getpos("'[")).'/'.string(getgcc -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
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
pos("']"))
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^This line/;'}-join
[?25l[19;23r[19;1H[2M[1;24r[19;1HThis line. Should be joined with the next line and with this line
[1m[34m~ [23;1H~ [m[24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet b=string(getpos("'[")).'/'.string(getpos("']"))
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='First test: Start/End '.string(a)
[?25l[22;1HFirst test: Start/End '[0, 16, 1, 0]/[0, 17, 1, 0]'[22;52H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='Second test: Start/End '.string(b)
[?25l[23;1HSecond test: Start/End '[0, 19, 11, 0]/[0, 19, 67, 0]'[23;55H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^\t\t/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_changelist.in" 22 lines, 288 characters[1;1HTest 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[34m^[[m
:catch
: normal ggVGcfail[34m^[[m
:finally
: %w! test.out
:endtry
:qa!
ENDTEST
1
2
[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest changelist position after splitting window[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 14 lines, 163 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h
[21;1H[?25l11[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ul=100
[?25l[21;2H[?12l[?25h
[?25l22[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ul=100
[?25l[22;2H[?12l[?25h[1;1H
[?25l[24;1H[K[24;1H:[?12l[?25hvsplit
[?25l[1;41H[7m|[m
window [7m|[m
Set 'undolevels' to make changelist for [7m|[m
sourced file[28C[7m|[m
[27C[7m|[m
STARTTEST [24C[7m|[m
:so small.vim [25C[7m|[m
Gkylp:set ul=100[24C[7m|[m
Gylp:set ul=100[25C[7m|[m
gg [36C[7m|[m
:vsplit [28C[7m|[m
:try [18C[7m|[m
: normal g;[28C[7m|[m[14;16Hpass[21C[7m|[m
:catch [32C[7m|[m
: normal ggVGcfail[34m^[[m[19C[7m|[m
:finally[32C[7m|[m
: %w! test.out[25C[7m|[m
:endtry[33C[7m|[m
:qa![36C[7m|[m
ENDTEST[33C[7m|[m
[38C[7m|[m
[1m[7mtest_changelist.in [+] [m[1;42HTest changelist position after splittin[2;42Hg window[2;50H[K[3;42HSet 'undolevels' to make changelist for[4;43Hsourced file[6;42HSTARTTEST[7;42H:so small.vim[8;42HGkylp:set ul=100[9;42HGylp:set ul=100[10;42Hgg[11;42H:vsplit[12;42H:try[13;42H: normal g;[14;42H: normal ggVGcpass[34m^[[m[15;42H:catch[16;42H: normal ggVGcfail[34m^[[m[17;42H:finally[18;42H: %w! test.out[19;42H:endtry[20;42H:qa![21;42HENDTEST[23;42H[7mtest_changelist.in [+] [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25htry
[?25l
: [?12l[?25h: normal g;
[?25l: [?12l[?25h: normal ggVGcpass
[?25l21 fewer lines[24;15H[K[24;1H
:
: [?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
[1;1H[10L[?25l[1;1Hpass[36C[7m|[2;41H|[3;41H|[4;41H|[5;41H|[6;41H|[7;41H|[8;41H|[9;41H|[10;41H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~ [m[23;20H[1m[7m [m[1;42Hpass[2;42H[1m[34m~ [3;42H~ [4;42H~ [5;42H~ [6;42H~ [7;42H~ [8;42H~ [9;42H~ [10;42H~ [11;42H~ [12;42H~ [13;42H~ [14;42H~ [15;42H~ [16;42H~ [17;42H~ [18;42H~ [19;42H~ [20;42H~ [21;42H~ [22;42H~ [m[23;61H[7m [m[24;1H[K[1;4H[?12l[?25h[?25l[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_close_count.in" 153 lines, 2665 characters[1;1HTests 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![1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :[count]close! and :[count]hide vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 41 lines, 749 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tests = []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(5)
[?25l
: [?12l[?25h:new
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [m[4;1H[1m[7m[No Name] [m[6;1H[1m[34m~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[7mtest_close_count.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h4wincmd w
[?25l[4;1H[7m[No Name][m[1m[7m [m[7m [m[16;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[7m[No Name] [m[7;1H[1m[34m~ [8;1H~ [m[9;1H[7m[No Name] [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [m[14;1H[7m[No Name] [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[1m[7m[No Name] [m[20;1H:b1
ENDTEST
[7mtest_close_count.in [15;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[19;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7m[No Name] [m[18;1H:only!
:b1
ENDTEST
STARTTEST
[1m[7mtest_close_count.in [21;1H[?12l[?25h[?25l
[m:[?12l[?25hlet buffers = []
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7m[No Name] [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [16;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[8;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h2close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[12;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[1m[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [m[18;1H[7m[No Name] [m[20;1H[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h2wincmd w
[?25l[6;1H[7m[No Name][m[1m[7m [m[7m [m[12;1H[1m[7m[No Name] [7;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h-1close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[8;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h2wincmd w
[?25l[16;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [9;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h+1close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [m[11;1H[7m[No Name] [m[13;1H[1m[34m~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [12;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [New File][23;1H[1m[7mtest.out] [12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(0, map(copy(tests), 'join(v:val, " ")'))
[?25l[12;22r[12;1H[6L[1;24r[12;1H6 5 4 2 1
5 4 2 1
5 4 2
5 2
7 5 2
7 5[23;10H[1m[7m[+][m[24;1H[K[18;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw
[?25l"test.out" [New File] 7 lines, 39 characters written[23;10H[1m[7m [18;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25honly!
[?25l[1;1H6 5 4 2 1
5 4 2 1[2;8H[K[3;1H5 4 2[3;6H[K[4;1H5 2[4;4H[K[5;1H7 5 2[5;6H[K[6;1H7 5[6;4H[K[7;1H[K[11;1H[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [23;1H~ [7;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hb1
[?25l"test_close_count.in" 153 lines, 2665 characters[1;1H: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[8;3H[K[9;1H:only![9;7H[K[10;1H:b1[10;4H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1HSTARTTEST[13;10H[K[14;1H:let tests = [][14;16H[K[15;1H:for i in range(5)[15;19H[K[16;1H:new[16;5H[K[17;1H:endfor[17;8H[K[18;1H:let buffers = [][18;18H[K[19;1H:windo call add(buffers, bufnr('%'))[19;37H[K[20;1H:call add(tests, buffers)[20;26H[K[21;1H:4wincmd w[21;11H[K[22;1H:.hide[22;7H[K[23;1H:let buffers = [][23;18H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H44 lines, 815 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[34m^[[m
: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('%'))[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tests = []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(5)
[?25l
: [?12l[?25h:new
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [m[4;1H[1m[7m[No Name] [m[6;1H[1m[34m~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[7mtest_close_count.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[4;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h4wincmd w
[?25l[16;1H[1m[7m[No Name] [m[23;1H[7mtest_close_count.in[m[1m[7m [m[7m [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[7m[No Name] [m[7;1H[1m[34m~ [8;1H~ [m[9;1H[7m[No Name] [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [m[14;1H[7m[No Name] [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[1m[7m[No Name] [m[20;1H:b1
ENDTEST
[7mtest_close_count.in [15;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[19;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7m[No Name] [m[18;1H:only!
:b1
ENDTEST
STARTTEST
[1m[7mtest_close_count.in [21;1H[?12l[?25h[?25l
[m:[?12l[?25hlet buffers = []
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7m[No Name] [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [16;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[8;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h2hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[12;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[1m[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [m[18;1H[7m[No Name] [m[20;1H[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h3wincmd w
[?25l[6;1H[7m[No Name][m[1m[7m [m[7m [m[18;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h-hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[1m[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [9;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[16;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h2wincmd w
[?25l[16;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [9;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h+hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [m[11;1H[7m[No Name] [m[13;1H[1m[34m~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [12;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H7 lines, 39 characters[12;1H6 5 4 2 1
5 4 2 1[13;8H[K[14;1H5 4 2[14;6H[K[15;1H5 2[15;4H[K[16;1H7 5 2[16;6H[K[17;1H7 5[17;4H[K[18;1H[K[23;1H[1m[7mtest.out] [12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l[19;1H13 12 11 10 9 1[19;16H[K[20;1H13 12 11 9 1[20;13H[K[21;1H12 11 9 1[21;10H[K[22;1H12 11 9[22;8H[K[23;10H[1m[7m[+][12;1H[?12l[?25h[?25l[12;22r[m[12;1H[3M[1;24r[20;1H12 9
15 12 9
15 12[24;1H[K[22;1H[?12l[?25h[?25l[12;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25hw
[?25l"test.out" 15 lines, 106 characters written[23;10H[1m[7m [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25honly!
[?25l[1;1H6 5 4 2 1
5 4 2 1[2;8H[K[3;1H5 4 2[3;6H[K[4;1H5 2[4;4H[K[5;1H7 5 2[5;6H[K[6;1H7 5[6;4H[K[7;1H[K[8;1H13 12 11 10 9 1[8;16H[K[9;1H13 12 11 9 1[9;13H[K[10;1H12 11 9 1[10;10H[K[11;1H12 11 9[11;8H[K[12;1H12 9[12;5H[K[13;1H15 12 9
15 12[15;1H[K[16;1H[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [15;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hb1
[?25l[1;1H:+hide[1;7H[K[2;1H:let buffers = []
:windo call add(buffers, bufnr('%'))
:call add(tests, buffers)
:e! test.out
:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))
Go[34m^[[m
:w[8;4H[K[9;1H:only![9;7H[K[10;1H:b1[10;4H[K[11;1HENDTEST[12;1H[K[13;1HSTARTTEST
:let tests = []
:set hidden
:for i in range(5)[16;19H[K[17;1H:new[17;5H[K[18;1H:endfor[18;8H[K[19;1H:1wincmd w[19;11H[K[20;1H:$ hide[20;8H[K[21;1H:let buffers = [][21;18H[K[22;1H:windo call add(buffers, bufnr('%'))[22;37H[K[23;1H:call add(tests, buffers)[23;26H[K[24;1H"test_close_count.in" line 93 of 153 --60%-- col 1[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H25 lines, 448 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[34m^[[m
:w
:only!
:b1
ENDTEST
STARTTEST
:let tests = []
:set hidden
:for i in range(5)
:new
:endfor
:4wincmd w
[34m^W[mc
:let buffers = []
:windo call add(buffers, bufnr('%'))[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tests = []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(5)
[?25l
: [?12l[?25h:new
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [m[4;1H[1m[7m[No Name] [m[6;1H[1m[34m~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[7mtest_close_count.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h1wincmd w
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$ hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[1m[7m[No Name] [m[7;1H[1m[34m~ [8;1H~ [9;1H~ [m[10;1H[7m[No Name] [m[12;1H[1m[34m~ [13;1H~ [m[14;1H[7m[No Name] [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[7m[No Name] [m[21;1H[1m[34m~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[5;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [20;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$-1 close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7m[No Name] [m[19;1H[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [18;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[6;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.+close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[8;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H15 lines, 106 characters[17;1H6 5 4 2 1
5 4 2 1[18;8H[K[19;1H5 4 2[19;6H[K[20;1H5 2[20;4H[K[21;1H7 5 2[21;6H[K[22;1H7 5[22;4H[K[23;1H[1m[7mtest.out] [17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l[23;10H[1m[7m[+][17;1H[?12l[?25h[?25l[m15 12 9[17;9H[K[18;1H15 1[18;7H[K[19;1H[K[20;1H20 19 18 17 16
20 19 18 16
20 18 16
[?12l[?25h[?25l[17;22r[22;1H
[1;24r[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hw
[?25l"test.out" 19 lines, 143 characters written[23;10H[1m[7m [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25honly!
[?25l[27m[23m[m[H[2J[1;1H6 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
[1m[34m~ [21;1H~ [22;1H~ [23;1H~ [19;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hb1
[?25l[1;1H:.+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[34m^[[m
:w[8;4H[K[9;1H:only![9;7H[K[10;1H:b1[10;4H[K[11;1HENDTEST[12;1H[K[13;1HSTARTTEST
:let tests = []
:set hidden
:for i in range(5)
:new[17;5H[K[18;1H:endfor[18;8H[K[19;1H:4wincmd w
[34m^W[mc[20;4H[K[21;1H:let buffers = [][21;18H[K[22;1H:windo call add(buffers, bufnr('%'))[22;37H[K[23;1H:call add(tests, buffers)[23;26H[K[24;1H"test_close_count.in" line 121 of 153 --79%-- col 1[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H28 lines, 511 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[19M[1;24r[5;1H1[34m^W[mc
:let buffers = []
:windo call add(buffers, bufnr('%'))
:call add(tests, buffers)
9[34m^W[mc
:let buffers = []
:windo call add(buffers, bufnr('%'))
:call add(tests, buffers)
:1wincmd w
2[34m^W[mc
: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tests = []
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(5)
[?25l
: [?12l[?25h:new
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [m[4;1H[1m[7m[No Name] [m[6;1H[1m[34m~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[7mtest_close_count.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h4wincmd w
[?25l[4;1H[7m[No Name][m[1m[7m [m[7m [m[16;1H[1m[7m[No Name] [13;1H[?12l[?25h[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[7m[No Name] [m[7;1H[1m[34m~ [8;1H~ [m[9;1H[7m[No Name] [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [m[14;1H[7m[No Name] [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[1m[7m[No Name] [m[20;1H:qa!
ENDTEST
[7mtest_close_count.in [15;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[19;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7m[No Name] [m[18;1H:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))
:w
:qa!
ENDTEST
[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[18;22r[m[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25hlet buffers = []
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7m[No Name] [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [16;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[8;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25honly!
[?25l[12;1H[1m[34m~ [13;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" line 19 of 19 --100%-- col 1[1;1H6 5 4 2 1
5 4 2 1[2;8H[K[3;1H5 4 2[3;6H[K[4;1H5 2[4;4H[K[5;1H7 5 2[5;6H[K[6;1H7 5[6;4H[K[7;1H[K[8;1H13 12 11 10 9 1[8;16H[K[9;1H13 12 11 9 1[9;13H[K[10;1H12 11 9 1[10;10H[K[11;1H12 11 9[11;8H[K[12;1H12 9[12;5H[K[13;1H15 12 9[13;8H[K[14;1H15 12[14;6H[K[15;1H[K[16;1H20 19 18 17 16[16;15H[K[17;1H20 19 18 16[17;12H[K[18;1H20 18 16[18;9H[K[19;1H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l[20;1H25 24 23 21 1[20;14H[K[21;1H24 23 21 1[21;11H[K[22;1H24 23 21[22;9H[K[23;1H24 21[23;6H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" 23 lines, 183 characters written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_comparators.in" 21 lines, 283 characters[1;1H" 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
[1m[34m~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1H" Test for expression comparators. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 14 lines, 200 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[10L[?25l[1;1H" Test for expression comparators. vim: set ft=vim :
STARTTEST
:so small.vim
:try
: let oldisident=&isident
: set isident+=#
: if 1 is#1
: $put ='ok'[22;1Hok[22;3H[K[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^marker/+1,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_erasebackword.in" 19 lines, 427 characters[1;1HTest for erasing backword
STARTTEST
:so small.vim
:so mbyte.vim
:set encoding=utf-8
G
:/^test/,$w! test.out
:qa!
ENDTEST
test starts here:
[1m[34m~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for erasing backword[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 12 lines, 362 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1HTest for erasing backword
STARTTEST
:so small.vim
:so mbyte.vim
:set encoding=utf-8
G
o wwwこんにちわ世界ワールドvim [34m^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^W^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^W^W^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^W^W^W^W^[[m
:/^test/,$w! test.out
:qa!
ENDTEST
test starts here:
[1m[34m~ [21;1H~ [22;1H~ [23;1H~ [17;1H[?12l[?25h
[?25l[m
www[20;5H[K[20;5H[?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[21;5H[K[21;5H[?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[21;19H[K[21;17H[?12l[?25h[?25l
www[22;5H[K[22;5H[?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[22;15H[K[22;13H[?12l[?25h[?25l
www[23;5H[K[23;5H[?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[23;5H[K[23;4H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Hwww[?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[23;2H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Hwww[?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[23;2H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^test/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 8 lines, 111 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_eval.in" 247 lines, 6201 characters[1;1HTest 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:rr[15;1Heg, 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[19;1H:type, a:cont, a:strcont, a:cont1, a:strcont1))
endfun
:command -nargs=? AR :call AppendRegContents(<q-args>)
:fun SetReg(...)
call call('setreg', a:000)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for various eval features. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 233 lines, 6010 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[9;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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:[18;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=latin1
[?25l[27m[23m[m[H[2J[1;1H:$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:[19;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset noswapfile
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang C
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfun AppendRegContents(reg)
[?25l
: [?12l[?25h call AppendRegParts(a:reg, getregtype(a:reg), getreg(a:reg), string(getreg
[23;80H([24;1Ha:reg, 0, 1)), getreg(a:reg, 1), string(getreg(a:reg, 1, 1)))
[?25l: [?12l[?25h:endfun
[1;1H[3L[?25l[1;1H:$put =str[:n]
:$put =str[n:n]
:unlet n[24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?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
[23;80Hg[24;1H, a:type, a:cont, a:strcont, a:cont1, a:strcont1))
[?25l: [?12l[?25hendfun
[1;1H[3L[?25l[1;1H:$put =str[:n]
:$put =str[n:n]
:unlet n[24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcommand -nargs=? AR :call AppendRegContents(<q-args>)
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[7L[?25l[1;1H:$put =str[:n]
:$put =str[n:n]
:unlet n
:let nn = 3
:$put =str[nn:]
:$put =str[:nn]
:$put =str[nn:nn][24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[7L[?25l[1;1H:$put =str[:n]
:$put =str[n:n]
:unlet n
:let nn = 3
:$put =str[nn:]
:$put =str[:nn]
:$put =str[nn:nn][24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?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
[23;80H-[24;1H4-2"])
[?25l: [?12l[?25hcall SetReg('b', ['abcB4c-0', "\n", "abcB4c-2\n", "\nabcB4c-3", "abcB4c-4\na
[23;80Hb[24;1HcB4c-4-2"], 'c')
[?25l: [?12l[?25hcall SetReg('c', ['abcC4l-0', "\n", "abcC4l-2\n", "\nabcC4l-3", "abcC4l-4\na
[23;80Hb[24;1HcC4l-4-2"], 'l')
[?25l: [?12l[?25hcall SetReg('d', ['abcD4b-0', "\n", "abcD4b-2\n", "\nabcD4b-3", "abcD4b-4\na
[23;80Hb[24;1HcD4b-4-2"], 'b')
[?25l: [?12l[?25hcall SetReg('e', ['abcE4b10-0', "\n", "abcE4b10-2\n", "\nabcE4b10-3", "abcE4
[23;80Hb[24;1H10-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
[23;80Hn[24;1Hts']", "clipboard contents\n", "['clipboard contents']")
[?25l: [?12l[?25h call AppendRegParts('*', 'V', "something else\n", "['something else']",
[23;80H"[24;1Hsomething 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
[27m[23m[m[H[2J[?25l[1;1H:$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:[19;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Test()
[?25l[1;1H*: type V; value: something else[34m^@[m (['something else']), expr: something else[34m^@[m [2;1H(['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 moo[18;1Hre lines
Executing call setreg("=", ["1", "2"])
Vim(call):E883: search pattern and expression register may not contain two or moo[21;1Hre lines[21;9H[K[22;1HExecuting call setreg(1, ["", "", [], ""])
Vim(call):E730: using List as a String
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction SetReg
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction AppendRegContents
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction ErrExe
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction Test
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelcommand AR
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" function name not starting with capital
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1H{{{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)[7;14H8: Too many arguments for function: setreg[7;56H[K[8;23H[], 2)[8;29H[K[9;12H730: using List as a String[9;40H[K[10;23H1, {}[11;14H1[8CDictionary as a String[12;26H2, [])[13;14H0[8CList as a String[13;39H[K[14;23H"/", ["1", "2"])[15;12H883: search pattern and expression register may not contain two or moo[16;1Hre lines[16;9H[K[17;1HExecuting call setreg("=", ["1", "2"])[17;39H[K[18;1HVim(call):E883: search pattern and expression register may not contain two or moo[19;1Hre lines[19;9H[K[20;1HExecuting call setreg(1, ["", "", [], ""])[20;43H[K[21;1HVim(call):E730: using List as a String
Vim(function):E128: Function name must start with a capital or "s:": g:test()
[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" function name includes a colon
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1H{{{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)[23;1HVim(function):E128: Function name must start with a capital or "s:": b:test()[23;78H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" function name folowed by #
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1HExecuting 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)[7;29H[K[8;1HVim(call):E730: using List as a String
Executing call setreg(1, {})[9;29H[K[10;1HVim(call):E731: using Dictionary as a String
Executing call setreg(1, 2, [])[11;32H[K[12;1HVim(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 moo[15;1Hre lines[15;9H[K[16;1HExecuting call setreg("=", ["1", "2"])
Vim(call):E883: search pattern and expression register may not contain two or moo[18;1Hre lines[18;9H[K[19;1HExecuting call setreg(1, ["", "", [], ""])
Vim(call):E730: using List as a String[20;39H[K[21;5Hfunction):E128: Function name must start with a capital or "s:": g:test()[22;70Hb[23;70Htest2() "#[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" function name starting with/without "g:", buffer-local funcref.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! g:Foo(n)
[?25l
: [?12l[?25h: $put ='called Foo(' . a:n . ')'
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1HExecuting call setreg()
Vim(call):E119: Not enough arguments for function: setreg[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet b:my_func = function('Foo')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall b:my_func(1)
[?25l[1;23r[23;1H
[1;24r[23;1Hcalled Foo(1)[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hecho g:Foo(2)
[?25l0[24;2H[K[1;23r[23;1H
[1;24r[23;1Hcalled Foo(2)[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hecho Foo(3)
[?25l0[24;2H[K[1;23r[23;1H
[1;24r[23;1Hcalled Foo(3)[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" script-local function used in Funcref must exist.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso test_eval_func.vim
[?25l[1;23r[1;1H[4M[1;24r[20;1Hs:Testje exists: 0
func s:Testje exists: 1
Bar exists: 1
func Bar exists: 1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Using $ instead of '$' must give an error
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htry
[?25l
: [?12l[?25h: call append($, 'foobar')
[?25l: [?12l[?25h:catch
[?25l: [?12l[?25h:$put =v:exception
[?25l: [?12l[?25h:endtry
[1;1H[4L[?25l[1;1HExecuting 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 moo[7;1Hre lines[7;9H[K[8;1HExecuting call setreg("=", ["1", "2"])
Vim(call):E883: search pattern and expression register may not contain two or moo[10;1Hre lines[10;9H[K[11;1HExecuting call setreg(1, ["", "", [], ""])
Vim(call):E730: using List as a String[12;39H[K[13;5Hfunction):E128: Function name must start with a capital or "s:": g:test()[14;70Hb[15;70Htest2() "#
called Foo(1[16;14H[K[17;12H2[18;12H3
s:Testje exists: 0
func s:Testje exists: 1
Bar exists: 1[21;15H[K[22;1Hfunc Bar exists: 1
Vim(call):E116: Invalid arguments for function append[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='{{{1 getcurpos/setpos'
[?25l[1;23r[23;1H
[1;24r[23;1H{{{1 getcurpos/setpos[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^012345678
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: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[34m^@[m (['abc']), expr: abc[34m^@[m (['abc'])
": type V; value: abc[34m^M^@[m (['abc[34m^M[m']), expr: abc[34m^M^@[m (['abc[34m^M[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'])
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[m012345[?25l[24;1H[K[24;1H:[?12l[?25hlet sp = getcurpos()
[?25l[12;7H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hcall setpos('.', sp)
[?25l[12;7H[?12l[?25h[13;7H[?25l[24;1H[K[24;1H:[?12l[?25h$put
[?25l[27m[23m[m[H[2J[1;1HExecuting 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 moo[5;1Hre lines
Executing call setreg("=", ["1", "2"])
Vim(call):E883: search pattern and expression register may not contain two or moo[8;1Hre 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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" substring and variable name
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet str = 'abcdef'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet n = 3
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[n:]
[?25l[1;23r[23;1H
[1;24r[23;1Hdef[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =str[:n]
[?25l[1;23r[23;1H
[1;24r[23;1Habcd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =str[n:n]
[?25l[1;23r[23;1H
[1;24r[23;1Hd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet n
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet nn = 3
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[nn:]
[?25l[1;23r[1;1H[2M[1;24r[22;1Hdef
[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put =str[:nn]
[?25l[23;1Habcd[23;5H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[nn:nn]
[?25l[1;23r[23;1H
[1;24r[23;1Hd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet nn
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b:nn = 4
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[b:nn:]
[?25l[1;23r[1;1H[2M[1;24r[22;1Hef
[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put =str[:b:nn]
[?25l[23;1Habcde[23;6H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[b:nn:b:nn]
[?25l[1;23r[23;1H
[1;24r[23;1He[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet b:nn
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/+1,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_fixeol.in" 40 lines, 780 characters[1;1HTests for 'fixeol'[25Cvim: set ft=vim :
STARTTEST
:" use Unix fileformat for consistency
:set ff=unix
:enew!
awith eol[34m^[[m:w! XXEol
:enew!
:set noeol nofixeol
awithout eol[34m^[[m:w! XXNoEol
:set eol fixeol
:bwipe XXEol XXNoEol
:"
:" try editing files with 'fixeol' disabled
:e! XXEol
ostays eol[34m^[[m:set nofixeol
:w! XXTestEol
:e! XXNoEol
ostays without[34m^[[m:set nofixeol
:w! XXTestNoEol
:bwipe XXEol XXNoEol XXTestEol XXTestNoEol
:set fixeol[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for 'fixeol'[25Cvim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 35 lines, 698 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[16M[1;24r[8;1H:"
:" Append "END" to each file so that we can see what the last written char was.
ggdGaEND[34m^[[m:w >>XXEol
:w >>XXNoEol
:w >>XXTestEol
:w >>XXTestNoEol
:"
:" Concatenate the results
:e! test.out
a0[34m^[[m:$r XXEol
:$r XXNoEol
Go1[34m^[[m:$r XXTestEol
:$r XXTestNoEol
:w
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
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/os_unix.o os_unix.c
[24;11H[New File][Incomplete last line] 1 line, 11 characters written[1;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset eol fixeol
[?25l[1;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXEol XXNoEol
[?25l"test_fixeol.in" [24;18H[K[24;18H40 lines, 780 characters
2 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[2L[1;1H:w! XXTestEol
:e! XXNoEol
ostays without[34m^[[m:set nofixeol[3;30H[K[4;1H:w! XXTestNoEol[4;16H[K[5;1H:bwipe XXEol XXNoEol XXTestEol XXTestNoEol[5;43H[K[6;1H:set fixeol[6;12H[K[7;1H:"[7;3H[K[8;1H:" Append "END" to each file so that we can see what the last written char was.[8;80H[K[9;1HggdGaEND[34m^[[m:w >>XXEol[9;21H[K[10;1H:w >>XXNoEol[10;13H[K[11;1H:w >>XXTestEol[11;15H[K[12;1H:w >>XXTestNoEol[12;17H[K[13;1H:"[13;3H[K[14;1H:" Concatenate the results[14;27H[K[15;1H:e! test.out[15;13H[K[16;1Ha0[34m^[[m:$r XXEol[16;14H[K[17;1H:$r XXNoEol[17;12H[K[18;1HGo1[34m^[[m:$r XXTestEol[18;19H[K[19;1H:$r XXTestNoEol[19;16H[K[20;1H:w[20;3H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" try editing files with 'fixeol' disabled
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXEol
[?25l"XXEol" [24;9H[K[24;9H1 line, 9 characters[1;1Hwith eol[1;9H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m
stays eol[2;10H[K[2;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nofixeol
[?25l[2;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXTestEol
[?25l"XXTestEol" [24;13H[K[24;13H[New File] 2 lines, 19 characters written[2;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXNoEol
[?25l"XXNoEol" [24;11H[K[24;11H[Incomplete last line] 1 line, 11 characters[1;5Hout eol
[1m[34m~ [1;1H[?12l[?25h[?25l[m
stays without[2;14H[K[2;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nofixeol
[?25l[2;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXTestNoEol
[?25l"XXTestNoEol" [24;15H[K[24;15H[New File][Incomplete last line] 2 lines, 25 characters written[2;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXEol XXNoEol XXTestEol XXTestNoEol
[?25l"test_fixeol.in" [24;18H[K[24;18H40 lines, 780 characters
4 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fixeol
[?25l[1;1H[2L[1;1H:w! XXTestEol
:e! XXNoEol
ostays without[34m^[[m:set nofixeol[3;30H[K[4;1H:w! XXTestNoEol[4;16H[K[5;1H:bwipe XXEol XXNoEol XXTestEol XXTestNoEol[5;43H[K[6;1H:set fixeol[6;12H[K[7;1H:"[7;3H[K[8;1H:" Append "END" to each file so that we can see what the last written char was.[8;80H[K[9;1HggdGaEND[34m^[[m:w >>XXEol[9;21H[K[10;1H:w >>XXNoEol[10;13H[K[11;1H:w >>XXTestEol[11;15H[K[12;1H:w >>XXTestNoEol[12;17H[K[13;1H:"[13;3H[K[14;1H:" Concatenate the results[14;27H[K[15;1H:e! test.out[15;13H[K[16;1Ha0[34m^[[m:$r XXEol[16;14H[K[17;1H:$r XXNoEol[17;12H[K[18;1HGo1[34m^[[m:$r XXTestEol[18;19H[K[19;1H:$r XXTestNoEol[19;16H[K[20;1H:w[20;3H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Append "END" to each file so that we can see what the last written char was.
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[17L[1;24r[1;1HTests for 'fixeol'[25Cvim: set ft=vim :
STARTTEST
:" use Unix fileformat for consistency
:set ff=unix
:enew!
awith eol[34m^[[m:w! XXEol
:enew!
:set noeol nofixeol
awithout eol[34m^[[m:w! XXNoEol
:set eol fixeol
:bwipe XXEol XXNoEol
:"
:" try editing files with 'fixeol' disabled
:e! XXEol
ostays eol[34m^[[m:set nofixeol[24;1H[K[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25lEND[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXEol
[?25l"XXEol" [24;9H[K[24;9H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXNoEol
[?25l"XXNoEol" [24;11H[K[24;11H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXTestEol
[?25l"XXTestEol" [24;13H[K[24;13H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXTestNoEol
[?25l"XXTestNoEol" [24;15H[K[24;15H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Concatenate the results
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [New File][1;1H[K[1;1H[?12l[?25h[?25l0[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXEol
[?25l"XXEol" [24;9H[K[24;9H2 lines, 13 characters[2;1Hwith eol[2;9H[K[3;1HEND[3;4H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXNoEol
[?25l"XXNoEol" [24;11H[K[24;11H1 line, 15 characters[4;1Hwithout eolEND[4;15H[K[4;1H[?12l[?25h[?25l
1[5;2H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXTestEol
[?25l"XXTestEol" [24;13H[K[24;13H3 lines, 23 characters[6;1Hwith eol[6;9H[K[7;1Hstays eol[7;10H[K[8;1HEND[8;4H[K[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXTestNoEol
[?25l"XXTestNoEol" [24;15H[K[24;15H2 lines, 29 characters[9;1Hwithout eol[9;12H[K[10;1Hstays withoutEND[10;17H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" [New File] 10 lines, 84 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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.
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
VIMRUNTIME=../../runtime; export VIMRUNTIME; ../vim -f -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test_getcwd.in
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_getcwd.in" 96 lines, 2374 characters[1;1HTests for getcwd(), haslocaldir(), and :lcd[19Cvim: 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for getcwd(), haslocaldir(), and :lcd[19Cvim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 90 lines, 2273 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Do all test in a separate window to avoid E211 when we recursively
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" delete the Xtopdir directory during cleanup
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" This will cause a few errors, do it silently.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset visualbell
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" On windows a swapfile in Xtopdir prevents it from being cleaned up.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noswapfile
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[27m[23m[m[H[2J[?25l[1;1H: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[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" we start from a clean state.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xtopdir", "rf")
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet r=[]
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[23;1H[7mtest_getcwd.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet cwd=getcwd()
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet test_out = cwd . '/test.out'
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xtopdir')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd Xtopdir
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir[23;1H[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/test_getcwd.in[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xdir1')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xdir2')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xdir3')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew a
[?25l"a" [New File][27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7ma [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[17;1H:q
:exec "cd " . cwd
:call delete("Xtopdir", "rf")
:qa!
ENDTEST
[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/test_getcwd.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew b
[?25l"b" [New File][27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[1m[7mb [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7ma [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [m[18;1H[7m[No Name] [m[19;1H:call delete("Xtopdir", "rf")
:qa!
ENDTEST
[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/test_getcwd.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew c
[?25l"c" [New File][27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[1m[7mc [m[7;1H[1m[34m~ [8;1H~ [9;1H~ [m[10;1H[7mb [m[12;1H[1m[34m~ [13;1H~ [m[14;1H[7ma [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[7m[No Name] [m[20;1H:qa!
ENDTEST
[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/test_getcwd.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h3wincmd w
[?25l[5;1H[7mc[m[1m[7m [m[7m [m[14;1H[1m[7ma [11;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlcd Xdir1
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/Xdir1[5;1H[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/c[10;1H/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/b[m[14;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/a[11;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[5;1H[7mc [m[10;1H[1m[7mb [m[14;1H[7ma[m[1m[7mb[m[7m [6;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[5;1H[1m[7mc [m[10;1H[7mb[m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlcd Xdir3
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/Xdir3[5;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/c[m[10;1H[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/b[14;1H/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/a[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("a"), 0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("b"), 0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("c"), 0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[5;1H[7mc[m[1m[7mb[m[7m [10;1Hb [14;1Ha [m[23;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("a"), tabpagenr()))
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("b"), tabpagenr()))
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("c"), tabpagenr()))
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabnew x
[?25l"x" [New File][27m[23m[m[H[2J[1;1H[4m[30m[47m [m[4m[35m[47m5[m[4m[30m[47m /b/v/v/s/v/t/test_getcwd.in [m[1m x [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew y
[?25l"y" [New File][1;33H[1m[35m2[m[1m y [m[43C[7m [m[1;80H[4m[30m[47mX[m[12;1H[1m[7my[m[1m[34m [m[1m[7m [m[13;1H[K[23;1H[7mx[m[1m[34m [m[7m [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnew z
[?25l"z" [New File][27m[23m[m[H[2J[1;1H[4m[30m[47m [m[4m[35m[47m5[m[4m[30m[47m /b/v/v/s/v/t/test_getcwd.in [m[1m [m[1m[35m3[m[1m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[9;1H[1m[7mz [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7my [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mx [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h3wincmd w
[?25l[9;1H[7mz[m[1m[7m [m[7m [m[23;1H[1m[7mx [m[1;35H[1mx [m[43C[7m [m[1;80H[4m[30m[47mX[17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[16;1H[1m[7my [m[23;1H[7mx[m[1m[7m [m[7m [m[1;35H[1my [m[43C[7m [m[1;80H[4m[30m[47mX[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlcd Xdir2
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/Xdir2[1;35H[1m/b/v/v/s/v/t/X/y [m[28C[7m [m[1;80H[4m[30m[47mX[m[9;1H[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/z[m[16;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/y[m[23;1H[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/x[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[1;35H[1mzb /[m[7m [28C [m[1;80H[4m[30m[47mX[m[9;1H[1m[7mz [m[16;1H[7my[m[1m[7mb[m[7m [23;1Hx [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlcd Xdir3
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/Xdir3[1;35H[1m/b/v/v/s/v/t/X/z [m[28C[7m [m[1;80H[4m[30m[47mX[m[9;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/z[m[16;1H[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/y[23;1H/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtopdir/x[2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("x"), 0))
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("y"), 0))
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("z"), 0))
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tp_nr = tabpagenr()
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m5[m[1m /b/v/v/s/v/t/test_getcwd.in [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [m[11;1H[7mb [m[13;1H[1m[34m~ [14;1H~ [m[15;1H[7ma [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[1m[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hcall add(r, GetCwdInfo(3, tp_nr))
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m5[m[1m /b/v/v/s/v/t/test_getcwd.in [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [m[11;1H[7mb [m[13;1H[1m[34m~ [14;1H~ [m[15;1H[7ma [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[1m[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hcall add(r, GetCwdInfo(2, tp_nr))
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m5[m[1m /b/v/v/s/v/t/test_getcwd.in [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [m[11;1H[7mb [m[13;1H[1m[34m~ [14;1H~ [m[15;1H[7ma [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[1m[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hcall add(r, GetCwdInfo(1, tp_nr))
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m5[m[1m /b/v/v/s/v/t/test_getcwd.in [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [m[11;1H[7mb [m[13;1H[1m[34m~ [14;1H~ [m[15;1H[7ma [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[1m[7m/<<PKGBUILDDIR>>/src/vim-basic/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall writefile(r, test_out, "a")
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m4[m[1m [No Name] [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7mb [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7ma [m[19;1H[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [18;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir[1;17H[4m[30m[47mX/z [m[59C[7m [m[1;80H[4m[30m[47mX[m[6;1H[7mXtopdir/c[12;1HXtopdir/b[17;1HXtopdir/a
[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall delete("Xtopdir", "rf")
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_insertcount.in" 14 lines, 204 characters[1;1HTests for repeating insert and replace.
STARTTEST
:so small.vim
:/Second
4gro
:/^First/,$wq! test.out
:" get here when failed and in Insert mode
[34m^[[m:.wq! test.out
ENDTEST
First line
Second line
Last line
[1m[34m~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for repeating insert and replace.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 6 lines, 111 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/Second
[?25l[13;1H[?12l[?25h[?25looooecond line
ooo[?12l[?25h
Las[?25l[24;1H[K[24;1H:[?12l[?25h/^First/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_listchars.in" 54 lines, 705 characters[1;1HTests 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))'))[9;1H, '')
:endfunction
:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\\[12;1H<CR>"
:set listchars+=tab:>-,space:.,trail:<
:set list
:
/^start:/
:normal! jzt
GG
GG
GG
GG
GGH:
:set listchars-=trail:<[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for 'listchars' display with 'list' and :list[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 25 lines, 431 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[9M[1;24r[15;1HGG
GG
GG
GG
GG:
:put =g:lines
:'[,']w! test.out
ENDTEST[24;1H[K[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff=unix
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:lines = []
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction GetScreenCharsForLine(lnum)
[?25l
: [?12l[?25h: return join(map(range(1, virtcol('$')), 'nr2char(screenchar(a:lnum, v:val
[23;80H)[24;1H)'), '')
[?25l: [?12l[?25h:endfunction
[1;1H[3L[?25l[1;1H:endfunction
:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\\[3;1H<CR>"[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hnnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))
[23;80H\[24;1H<CR>"
[?25l[1;1H[L[1;1H:endfunction[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset listchars+=tab:>-,space:.,trail:<
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset list
[?25l[1;13H[1m[34m$[m[2;10H[34m.[m<expr>[34m.[mGG[34m.[m":call[34m.[12C.[m[39C\\[3;1H<CR>"[1m[34m$[m
:set[34m.[m[33C[1m[34m$[m
:set[34m.[mlist[1m[34m$
[m:[1m[34m$[7;10H$[m[8;9H[34m.[mjzt[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGGH:[1m[34m$[m
:set[34m.[m[18C[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG:[1m[34m$[m
:put[34m.[m[8C[1m[34m$[m[21;9H[34m.[m[8C[1m[34m$[22;8H$
$[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start:/
[?25l[24;9H[K[24;1H[1;23r[23;1H
[1;24r[23;1Hstart:[1m[34m$[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hnormal! jzt
[?25l[27m[23m[m[H[2J[1;1H[34m>-------[maa[34m>-----[m[1m[34m$[m
[34m..[mbb[34m>---<<[m[1m[34m$[m
[34m...[mcccc[34m><[m[1m[34m$[m
dd[34m........[mee[34m<<>-[m[1m[34m$[m
[34m<[m[1m[34m$
$
$[m
STARTTEST[1m[34m$[m
:set[34m.[mlistchars+=trail:<[1m[34m$[m
:set[34m.[mnolist[1m[34m$[m
:[1m[34m$[m
/^start:/[1m[34m$[m
:redir![34m.[m>>[34m.[mtest.out[1m[34m$[m
:+1,$list[1m[34m$[m
:redir[34m.[mEND[1m[34m$[m
:q![1m[34m$[m
ENDTEST[1m[34m$
$[m
start:[1m[34m$[m
[34m..[mfff[34m>--<<[m[1m[34m$[m
[34m>-------[mgg[34m>-----[m[1m[34m$[m
[34m.....[mh[34m>-[m[1m[34m$[m
iii[34m<<<<><<[m[1m[34m$[1;1H[?12l[?25h[?25l[24;1H[m:call add(g:lines, GetScreenCharsForLine(1))
[1;1H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(2))
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(3))
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(4))
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(5))
[5;1H[?12l[?25h[1;9H[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset listchars-=trail:<
[?25l[2;9H[34m..[3;9H.[4;13H..
.[20;9H..[23;4H....>..[1;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(1))
[1;9H[?12l[?25h[2;9H[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(2))
[2;9H[?12l[?25h[3;9H[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(3))
[3;9H[?12l[?25h[4;9H[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(4))
[4;9H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(5))
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hput =g:lines
[?25l10 more [6;23r[6;1H[10L[1;24r[6;1H>-------aa>-----$[1m[34m$[m
..bb>---<<$[1m[34m$[m
...cccc><$[1m[34m$[m
dd........ee<<>-$[1m[34m$[m
<$[1m[34m$[m
>-------aa>-----$[1m[34m$[m
..bb>---..$[1m[34m$[m
...cccc>.$[1m[34m$[m
dd........ee..>-$[1m[34m$[m
.$[1m[34m$[m[24;1H[K[24;1H10 more lines[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h'[,']w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 10 lines, 124 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[18;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H8 lines, 93 characters written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[19;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H:+1,$list[1m[34m$[m
:redir[34m.[mEND[1m[34m$[m
:q![1m[34m$[m
ENDTEST[1m[34m$[m[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[1m[34m$[?12l[?25h[?25l
[m:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset listchars+=trail:<
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nolist
[?25l[1;18H[K[2;12H[K[3;11H[K[4;18H[K[5;3H[K[6;18H[K[7;12H[K[8;11H[K[9;18H[K[10;3H[K[11;1H[K[12;1H[K[13;10H[K[14;5H [14;24H[K[15;5H [15;12H[K[16;2H[K[17;10H[K[18;8H >> [18;20H[K[19;10H[K[20;7H [20;11H[K[21;4H[K[22;8H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start:/
[?25l[24;9H[K[24;1H[1;23r[23;1H
[1;24r[23;1Hstart:[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hredir! >> test.out
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h+1,$list
[?25l[34m..[mfff[34m>--<<[m[1m[34m$[m
[34m>-------[mgg[34m>-----[m[1m[34m$[m
[34m.....[mh[34m>-[m[1m[34m$[m
iii[34m<<<<><<[m[1m[34m$[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[4L[1;1H>-------aa>-----$
..bb>---..$
...cccc>.$
dd........ee..>-$
.$[5;3H[K[6;1H[K[7;1H[K[8;1HSTARTTEST[8;10H[K[9;1H:set listchars+=trail:<
:set nolist
:
/^start:/
:redir! >> test.out[13;20H[K[14;2H+1,$list[14;10H[K[15;2Hredir END
:q![16;4H[K[17;1HENDTEST[17;9H[K[18;1H[K[19;1Hstart:[19;8H[K[20;1H fff
gg[22;6Hh
iii [24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_listlbr.in" 119 lines, 2868 characters[1;1HTest for linebreak and list option (non-utf8)
STARTTEST
:so small.vim
:if !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! | [6;1Hendif
: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)
:[7Clet c=''
:[7Cfor j in range(1,4)
:[11Cfor i in range(1,a:width)
:[15Clet c.=nr2char(screenchar(j, i))
:[11Cendfor
:[11Clet c.="\n"
:[7Cendfor
:[7Creturn c
:endfu
:fu! DoRecordScreen()
:[7Cwincmd l
:[7C$put =printf(\"\n%s\", g:test)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for linebreak and list option (non-utf8)[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 114 lines, 2792 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Habcd{ef
ghijklm
no}pqrs[34m^[[m2k0f{[34m^V^V[mc%[34m^[[m
:"
:let g:test ="Test 11: using block replace mode after wrapping"
:$put =g:test
:set linebreak wrap
Go[34m^[[m150aa[34m^[[myypk147|[34m^V[mjr0
:"
:let g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$"[11;1H: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[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! |
endif
[?25l[1;1H[L[1;1Habcd{ef[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h10new|:vsp|:vert resize 20
[?25l[1;1H [13C[7m|[2;21H|[3;21H|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [m[2;22H[1m[34m~ [3;22H~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [m[12;2Hlet line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line[13;12H[K[14;3H[K[15;2Hnorm! zt
:redraw![16;9H[K[17;2Hlet line=ScreenChar(winwidth(0))
:call DoRecordScreen()[18;23H[K[19;2H%w! test.out[19;14H[K[20;2Hqa[20;6H[K[21;1HENDTEST
dummy text
[7mtest_listlbr.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"
[?25l[2;1H abcdef hijkl
mn pqrstuvwxyz_1060
ABCDEFGHIJKLMNOP [11;11H[1m[7m[+][m[2;22H abcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP [2;79H[K[11;32H[7m[+][2;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H abcdef hijkl
mn pqrstuvwxyz_1060
ABCDEFGHIJKLMNOP
[1m[34m~
~
~
~
~
~ [m
[1m[34m~ [m[24;1H[K[1;9H[?12l[?25h[?25l[24;1H:[?12l[?25hset ts=4 sw=4 sts=4 linebreak sbr=+ wrap
[?25l[1;5Habcdef
[1m[34m+[mhijklmn
[1m[34m+[mpqrstuvwxyz_1060ABC
[1m[34m+[mDEFGHIJKLMNOP [2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP [2;75H[K[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfu! ScreenChar(width)
[?25l
: [?12l[?25h:[34m^I[mlet c=''
[?25l: [?12l[?25h:[34m^I[mfor j in range(1,4)
[?25l: [?12l[?25h:[34m^I[m for i in range(1,a:width)
[?25l: [?12l[?25h:[34m^I[m [34m^I[mlet c.=nr2char(screenchar(j, i))
[?25l: [?12l[?25h:[34m^I[m endfor
[?25l: [?12l[?25h: let c.="\n"
[?25l: [?12l[?25h:[34m^I[mendfor
[?25l: [?12l[?25h:[34m^I[mreturn c
[?25l: [?12l[?25h:endfu
[1;1H[9L[?25l[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[m[5;1H[1m[34m~
~
~
~
~ [m[2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hfu! DoRecordScreen()
[?25l
: [?12l[?25h:[34m^I[mwincmd l
[?25l: [?12l[?25h:[34m^I[m$put =printf(\"\n%s\", g:test)
[?25l: [?12l[?25h:[34m^I[m$put =g:line
[?25l: [?12l[?25h:[34m^I[mwincmd p
[?25l: [?12l[?25h:endfu
[1;1H[5L[?25l[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[m
[1m[34m~ [m[2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 1: set linebreak"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;5H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[5;1H
Test 1: set
[1m[34m+[mlinebreak
abcdef
+hijklmn
+pqrstuvwxyz_1060ABC[3;22H[K[4;22HTest 1: set linebreak[4;43H[K[5;22H abcdef [5;42H[K[6;22H+hijklmn [6;42H[K[7;22H+pqrstuvwxyz_1060ABC[7;42H[K[8;22H+DEFGHIJKLMNOP [8;42H[K[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 2: set linebreak + set list"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset linebreak list listchars=
[?25l[1;1H[34m^I[mabcdef hijklmn[34m^I [m[2;2Hpqrstuvwxyz_1060ABC[3;2HDEFGHIJKLMNOP
Test 1: set
[1m[34m+[mlinebreak
abcdef
+hijklmn
+pqrstuvwxyz_1060ABC
+DEFGHIJKLMNOP [1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H[34m^I[mabcdef hijklmn[34m^I [m[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[4;21H|[m
Test 1: set[9C[7m|[m
[1m[34m+[mlinebreak[10C[7m|[m
abcdef[10C[7m|[m
+hijklmn[12C[7m|[m
+pqrstuvwxyz_1060ABC[7m|[m
+DEFGHIJKLMNOP [7m|[m
[1m[7m[No Name] [+] [m[2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP[4;22HTest 1: set linebreak[5;26Habcdef[6;22H+hijklmn[7;22H+pqrstuvwxyz_1060ABC[8;22H+DEFGHIJKLMNOP[9;22H[1m[34m~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;3H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[1;22H abcdef [2;22H+hijklmn [3;22H+pqrstuvwxyz_1060ABC [4;22H+DEFGHIJKLMNOP [5;22H[1m[34m~ [6;22H~ [m[7;22H [8;22H [9;22H [10;22H [5;22H[K[6;22HTest 2: set linebreak + set list[6;54H[K[7;22H^Iabcdef hijklmn^I[8;22H+pqrstuvwxyz_1060ABC[9;22H+DEFGHIJKLMNOP[24;1H[K[24;1H4 more lines[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 3: set linebreak nolist"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nolist linebreak
[?25l[1;1H abcdef [2;2Hhijklmn [3;2Hpqrstuvwxyz_1060ABC
[1m[34m+[mDEFGHIJKLMNOP
Test 1: set
[1m[34m+[mlinebreak
abcdef
+hijklmn
+pqrstuvwxyz_1060ABC[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[m
Test 1: set[9C[7m|[m
[1m[34m+[mlinebreak[10C[7m|[m
abcdef[10C[7m|[m
+hijklmn[12C[7m|[m
+pqrstuvwxyz_1060ABC[7m|[m
[1m[7m[No Name] [+] [m[1;26Habcdef[2;22H+hijklmn[3;22H+pqrstuvwxyz_1060ABC[4;22H+DEFGHIJKLMNOP[6;22HTest 2: set linebreak + set list[7;22H^Iabcdef hijklmn^I[8;22H+pqrstuvwxyz_1060ABC[9;22H+DEFGHIJKLMNOP[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;5H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet lingcc -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
e=ScreenChar(winwidth(0))
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[1;22H^Iabcdef hijklmn^I [2;22H+pqrstuvwxyz_1060ABC [3;22H+DEFGHIJKLMNOP [4;22H [5;22H [6;22H [7;22H [8;22H [9;22H [10;22H [6;22HTest 3: set linebreak nolist[7;26Habcdef[8;22H+hijklmn[9;22H+pqrstuvwxyz_1060ABC[10;22H+DEFGHIJKLMNOP[24;1H[K[24;1H4 more lines[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 4: set linebreak with tab and 1 line as long as screen: shou
[23;80Hl[24;1Hd break!"
[?25l[1;1H[L[1;5Habcdef[10C[7m|[m^Iabcdef hijklmn^I[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hset nolist linebreak ts=8
[?25l[1;5H abcdef[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet line="1\t".repeat('a', winwidth(0)-2)
[?25l[1;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[1;9H
Test 3: set [4;2Hlinebreak nolist
abcdef
+hijklmn
+pqrstuvwxyz_1060ABC
+DEFGHIJKLMNOP
1
[1m[34m+[maaaaaaaaaaaaaaaaaa [9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H1
[1m[34m+[maaaaaaaaaaaaaaaaaa
[3;1H[1m[34m~
~
~
~
~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H1[19C[7m|[m
[1m[34m+[maaaaaaaaaaaaaaaaaa [7m|[3;21H|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[3;1H[1m[34m~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[1;22H^Iabcdef hijklmn^I[2;22H+pqrstuvwxyz_1060ABC[3;22H+DEFGHIJKLMNOP[6;22HTest 3: set linebreak nolist[7;26Habcdef[8;22H+hijklmn[9;22H+pqrstuvwxyz_1060ABC[10;22H+DEFGHIJKLMNOP[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[3;1H
Test 4: set
[1m[34m+[mlinebreak with tab
[1m[34m+[mand 1 line as long
[1m[34m+[mas screen: should
[1m[34m+[mbreak!
1
+aaaaaaaaaaaaaaaaaa [1;22H+pqrstuvwxyz_1060ABC [2;22H+DEFGHIJKLMNOP [3;22H [4;22H [5;22H [6;22H [7;22H [8;22H [9;22H [10;22H [3;22H1[7Caaaaaaaaaaaaaaaaaa[5;22HTest 4: set linebreak with tab and 1 line as long as screen[6;22H[1m[34m+[m: should break![7;22H1[8;22H+aaaaaaaaaaaaaaaaaa[9;22H~[10;22H~[24;1H[K[24;1H4 more lines[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet line="_S_\t bla"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[1;1HTest 4: set
[1m[34m+[mlinebreak with tab
[1m[34m+[mand 1 line as long
[1m[34m+[mas screen: should
[1m[34m+[mbreak!
1
+aaaaaaaaaaaaaaaaaa
[8;1H~
~
_S_ bla[24;1H[K[10;1H[?12l[?25h[?25l[24;1H:[?12l[?25h$
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H_S_ bla
[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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[1;1H[L[1;1H_S_ bla[8C[7m|[m+pqrstuvwxyz_1060ABC[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset cpo&vim list linebreak conceallevel=2 concealcursor=nv listchars=tab:ab
[?25l[1;4H[34mabbbb[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsyn match ConcealVar contained /_/ conceal
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn match All /.*/ contains=ConcealVar
[?25l[1;1HS[34mabb[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l[24;1H4 more lines[24;13H[K[2;1H
Test 5: set
[1m[34m+[mlinebreak with
[1m[34m+[mconceal and set
[1m[34m+[mlist and tab
[1m[34m+[mdisplayed by
[1m[34m+[mdifferent char
[1m[34m+[m(line may not be
[1m[34m+[mtruncated) [1;22H~ [2;22H~ [3;22H [4;22H [5;22H [6;22H [7;22H [8;22H [9;22H [10;22H [3;22H_S_ bla[5;22HTest 5: set linebreak with conceal and set list and tab dis[6;22H[1m[34m+[mplayed by different char (line may not be truncated)[7;22HSabbbbbb bla[8;22H~[9;22H~[10;22H~[24;1H[K[24;1H4 more lines[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&vim linebreak
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 6: set linebreak with visual block mode"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet line="REMOVE: this not"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;2Habbbbbb
~
~
~
Test 6: set [6;4Hnebreak with[7;2Hvisual block mode
[1m[34m~
~
~ [5;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[8;1HREMOVE: this not [8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet line="REMOVE: aaaaaaaaaaaaa"
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[9;1HREMOVE:
[1m[34m+[maaaaaaaaaaaaa [9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1/^REMOVE:
[?25l[8;1H[?12l[?25h[8;1H[?25l[8;1H[?12l[?25h[?25l[7mR[9;1H[?12l[?25h[?25l[8;2HEMOVE:
REMOVE:[9;8H[?12l[?25h[?25l[m[8;1Hthis not
aaaaaaaaaaaaa
[1m[34m~ [8;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put
[?25l[1;1H~
~
~
Test 6: set
[1m[34m+[mlinebreak with
[1m[34m+[mvisual block mode
this not
aaaaaaaaaaaaa
[1m[34m~ [m
[9;1HREMOVE:
REMOVE:[24;1H[K[10;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset cpo&vim linebreak
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 7: set linebreak with visual block mode and v_b_A"
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1Hthis not
aaaaaaaaaaaaa
REMOVE:
REMOVE:
[5;1HTest 7: set
[1m[34m+[mlinebreak with
[1m[34m+[mvisual block mode
[1m[34m+[mand vbA
[1m[34m~
~ [m[24;1H[K[5;1H[?12l[?25h[5;1H[?25l[9;1Hlong line: [9;11H[?12l[?25h[?25l foobar
[1m[34m+[mfoobar foobar [9;1H[1m[34m@
@ [m[1;1H
[1;1H[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar[10;8H[?12l[?25h[1;1H[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar
[?25l[9;9HTARGET at
[1m[34m+[mend[10;4H[?12l[?25h[10;4H[?25l[24;1H:[?12l[?25hexe "norm! $3B\<C-v>eAx\<Esc>"
[?25l[9;15Hx at[9;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&vim linebreak sbr=
[?25l[1;1Hfoobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar TARGETx at
end [6;22Hplayed by different char (line may not be truncated)[6;74H[K[9;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[9;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 8: set linebreak with visual char mode and changing block"
[?25l[9;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1HTest 8: set
linebreak with
visual char mode
and changing block
[1m[34m~
~
~
~
~
~ [1;1H[?12l[?25h[1;1H[?25l[m[5;1H1111-1111-1111-11-
1111-1111-1111 [6;14H[?12l[?25h[5;1H[5;5H[5;6H[?25l[5;6H[?12l[?25h[?25l[7m111[5;9H[?12l[?25h[?25l[m2222[5;9H[?12l[?25h[5;6H[6;6H[?25l2222[6;9H[?12l[?25h[6;9H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[6;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 9: using redo after block visual mode"
[?25l[6;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[7;1HTest 9: using redo
after block visual
mode [7;1H[?12l[?25h[7;1H[?25l[1;1H1111-2222-1111-11-
1111-2222-1111
Test 9: using redo
after block visual
mode
[1m[34m~ [m
[6;1H
aaa
aaa
a
[1m[34m~ [m[24;1H[K[9;1H[?12l[?25h[7;1H[?25l[7;1H[?12l[?25h[?25l[7ma
a[9;1H[?12l[?25h[?25l[m[24;1H3 lines changed[7;1HA
A
A[7;1H[?12l[?25h[7;3H[?25lA
AaA[7;3H[?12l[?25h[8;3H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[8;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 10: using normal commands after block-visual"
[?25l[8;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1HTest 9: using redo
after block visual
mode
AaA
AaA
A
[1m[34m~ [m
[8;1HTest 10: using
normal commands
after block-visual[24;1H[K[8;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset linebreak
[?25l[8;1H[?12l[?25h[8;1H[?25l[1;1HAaA
AaA
A
Test 10: using
normal commands
after block-visual
[8;1Habcd{ef
ghijklm
no}pqrs[24;1H[K[10;7H[?12l[?25h[8;7H[8;1H[8;5H[?25l[8;5H[?12l[?25h[?25l[8;5H[?12l[?25h[8;5H[?25lpqrs
[1m[34m~
~ [8;4H[?12l[?25h[8;4H[?25l[24;1H[m:[?12l[?25h"
[?25l[8;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 11: using block replace mode after wrapping"
[?25l[8;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1HAaA
A
Test 10: using
normal commands
after block-visual
abcdpqrs
[1m[34m~
~ [m
[8;1HTest 11: using
block replace mode
after wrapping[24;1H[K[8;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset linebreak wrap
[?25l[8;1H[?12l[?25h[8;1H[?25l[1;1HA
Test 10: using
normal commands
after block-visual
abcdpqrs
Test 11: using
block replace mode
after wrapping
[24;1H[K[10;1H[?12l[?25h[?25l[1;1Haaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaa
[1m[34m~
~ [8;10H[?12l[?25h[8;10H[8;10H[?25l[1;1H[?12l[?25h[?25l[m[9;1Haaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa[9;1H[1m[34m@
@ [1;1H[?12l[?25h[8;7H[?25l[8;7H[?12l[?25h[?25l[m[1;1H[1m[34m@
@ [m
[1;1Haaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaa
[1m[34m~
~ [8;7H[?12l[?25h[?25l[m0
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa[9;1H[1m[34m@
@ [8;7H[?12l[?25h[?25l[m[1;1H[1m[34m@
@ [m
[1;1Haaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaa0aaa
[1m[34m~
~ [8;7H[?12l[?25h[?25l[24;1H[m:[?12l[?25h"
[?25l[8;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$
[23;80H"[24;1H[?25l[1;1H[L[1;1Haaaaaaaaaaaaaaaaaaaa[7m|[m~[24;1H[K[8;7H[?12l[?25h[?25l[24;1H:[?12l[?25hset list listchars=space:_,trail:-,tab:>-,eol:$
[?25l[8;11H[1m[34m$[8;7H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1HTest[34m_[m12:[34m_[mset[34m_[m
linebreak[34m_[mlist[34m_[m
listchars=space:,
tab:>-,tail:-,eol:$[1m[34m$
~
~
~
~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet line="a aaaaaaaaaaaaaaaaalink.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
aaaaa\ta "
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[5;1Ha[34m_[m
aaaaaaaaaaaaaaaaaaaa
aa[34m>-----[ma[34m-[m[1m[34m$[m [5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1Ha[34m_[m
aaaaaaaaaaaaaaaaaaaa
aa[34m>-----[ma[34m-[m[1m[34m$[m
[1m[34m~
~
~ [m
[7;1H[1m[34m~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1Ha[34m_[m[18C[7m|[m
aaaaaaaaaaaaaaaaaaaa[7m|[m
aa[34m>-----[ma[34m-[m[1m[34m$[m[9C[7m|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[4;1H[1m[34m~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[1;22H~[2;22H~[3;22H_S_ bla[5;22HTest 5: set linebreak with conceal and set list and tab dis[6;22Hplayed by different char (line may not be truncated)[7;22HSabbbbbb bla[8;22H~[9;22H~[10;22H~[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l[24;1H4 more lines[24;13H[K[4;1H[1m[34m$[m
Test[34m_[m12:[34m_[mset[34m_[m
linebreak[34m_[mlist[34m_[m
listchars=space:,
tab:>-,tail:-,eol:$[1m[34m$[m
a[34m------------------[m
[1m[34m$[m [1;22HTest 12: set linebreak list listchars=space:_,tab:>-,tail:-[2;22H,eol:$[3;22Ha aaaaaaaaaaaaaaaaaaaaaa[8Ca[5;27H12: set linebreak list listchars=space:_,tab:>-,tail:-[6;22H,eol:$[6;29H[K[7;22Ha_ [8;22Haaaaaaaaaaaaaaaaaaaa[9;22Haa>-----a-$[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 62 lines, 2030 characters written[11;1H[1m[7mtest.out] [m[7C[7mtest.out [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_search_mbyte.in" 15 lines, 226 characters[1;1HTest 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
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for search('multi-byte char', 'bce')[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 6 lines, 140 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsource small.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsource mbyte.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1HTest 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
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [11;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h/^Test bce:/+1
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =search('A', 'bce', line('.'))
[?25l[16;1H15[16;3H[K[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/^Results:/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_utf8.in" 46 lines, 1245 characters[1;1HTests for Unicode manipulations[16Cvim: 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()
:[7C$put=strchars(str)
:[7C$put=strchars(str, 0)
:[7C$put=strchars(str, 1)
:endfor
:"
:" Test for customlist completion[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for Unicode manipulations[16Cvim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 40 lines, 1151 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:"
:" 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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1H:" Test for customlist completion
:function! CustomComplete1(lead, line, pos)
:[7Creturn ['あ', 'い']
:endfunction
:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo
:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')
:"
:function! CustomComplete2(lead, line, pos)
:[7Creturn ['あたし', 'あたま', 'あたりめ']
:endfunction
:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo
:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')
:"
:function! CustomComplete3(lead, line, pos)
:[7Creturn ['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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Visual block Insert adjusts for multi-byte char
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;2Hfunction! CustomComplete3(lead, line, pos)
: return ['Nこ', 'Nん', 'Nぶ'][14;37H[K[15;2Hendfunction[15;13H[K[16;2Hcommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo
:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')[17;56H[K[18;2H"[18;3H[K[19;2Hcall garbagecollect(1)
:/^start:/,$wq! test.out
ENDTEST[21;8H[K[22;1H [22;2H[K[23;1H[7mtest_utf8.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall setline(1, ["aaa", "あああ", "bbb"])
[?25l[1;1Haaa
あああ[2;7H[K[3;1Hbbb[3;4H[K[12;11H[1m[7m[+][1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexe ":norm! gg0l\<C-V>jjIx\<Esc>"
[?25l[1;2Hxaa
xあああ
bxbb[1;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet r = getline(1, '$')
[?25l[1;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipeout!
[?25l[1;1H:" Test for customlist completion
:function! CustomComplete1(lead, line, pos)
: return ['あ', 'い']
:endfunction[4;13H[K[5;1H:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo[5;66H[K[6;1H:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')[6;56H[K[7;1H:"[7;3H[K[8;1H:function! CustomComplete2(lead, line, pos)[8;44H[K[9;1H: return ['あたし', 'あたま', 'あたりめ'][9;48H[K[10;1H:endfunction[10;13H[K[11;1H:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo[11;66H[K[12;1H:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')[12;56H[K[13;2H"[13;3H[K[14;2Hfunction! CustomComplete3(lead, line, pos)
: return ['Nこ', 'Nん', 'Nぶ']
:endfunction[16;13H[K[17;3Hommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo
:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')
:"[19;3H[K[20;2Hcall garbagecollect(1)[20;24H[K[21;1H:/^start:/,$wq! test.out
ENDTEST
[23;2H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put=r
[?25l3 more lines[1;23r[1;1H[4M[1;24r[20;1Hstart:
axaa
xあああ
bxbb[24;1H[K[24;1H3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for built-in function strchars()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor str in ["a", "あいa", "A\u20dd", "A\u20dd\u20dd", "\u20dd"]
[?25l
: [?12l[?25h:[34m^I[m$put=strchars(str)
[?25l: [?12l[?25h:[34m^I[m$put=strchars(str, 0)
[?25l: [?12l[?25h:[34m^I[m$put=strchars(str, 1)
[?25l: [?12l[?25h:endfor
[1;1H[4L[?25l[1;1H:call garbagecollect(1)
:/^start:/,$wq! test.out
ENDTEST
start:[5;9H[K[6;1Haxaa[6;5H[K[7;1Hxあああ[7;8H[K[8;1Hbxbb[8;5H[K[9;1H1[9;2H[K[10;1H1[10;2H[K[11;1H1[11;9H[K[12;1H3[12;2H[K[13;1H3[13;2H[K[14;1H3[14;2H[K[15;1H2[15;2H[K[16;1H2[16;2H[K[17;1H1[17;2H[K[18;1H3[18;2H[K[19;1H3
1[20;2H[K[21;1H1[21;2H[K[22;1H1[22;2H[K[23;1H1[23;2H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for customlist completion
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! CustomComplete1(lead, line, pos)
[?25l
: [?12l[?25h:[34m^I[mreturn ['あ', 'い']
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1H:call garbagecollect(1)
:/^start:/,$wq! test.out[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete1 Test1 echo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:Test1 ...[24;8H[K[24;8H'
:$Test1 '
:$pTest1 '
:$puTest1 '
:$putTest1 '
:$put=Test1 '[24;7H'Test1 '[24;8H
[1;23r[23;1H
[1;24r[23;1HTest1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! CustomComplete2(lead, line, pos)
[?25l
: [?12l[?25h:[34m^I[mreturn ['あたし', 'あたま', 'あたりめ']
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1H:/^start:/,$wq! test.out
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete2 Test2 echo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:Test2 ...あた'
:$Test2 あた'
:$pTest2 あた'
:$puTest2 あた'
:$putTest2 あた'
:$put=Test2 あた'[24;7H'Test2 あた'[24;8H
[1;23r[23;1H
[1;24r[23;1HTest2 あた[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! CustomComplete3(lead, line, pos)
[?25l
: [?12l[?25h:[34m^I[mreturn ['Nこ', 'Nん', 'Nぶ']
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1HENDTEST[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:Test3 ...N[24;9H[K[24;9H'
:$Test3 N'
:$pTest3 N'
:$puTest3 N'
:$putTest3 N'
:$put=Test3 N'[24;7H'Test3 N'[24;8H
[1;23r[23;1H
[1;24r[23;1HTest3 N[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_wordcount.in" 126 lines, 2815 characters[1;1HTest for wordcount() function
STARTTEST
:so small.vim
:so mbyte.vim
:set enc=utf8
:set selection=inclusive fileformat=unix fileformats=unix
:new
:fu DoRecordWin(...)
:[7Cwincmd k
:[7Cif exists("a:1")
:[11Ccall cursor(a:1)
:[7Cendif
:[7Clet result=[]
:[7Ccall add(result, g:test)
:[7Ccall add(result, getline(1, '$'))
:[7Ccall add(result, wordcount())
:[7Cwincmd j
:[7Creturn result
:endfu
:fu PutInWindow(args)
:[7Cwincmd k
:[7C%d _[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for wordcount() function[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 121 lines, 2753 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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:[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=utf8
[?25l[27m[23m[m[H[2J[1;1H: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¤[9;27Hne Mü[9;32Hh', 'und raus bist dü[9;53H!'])
: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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1H0v$y
:set stl= ls=1
:let log=DoRecordWin([3,99,0])[16;9H[2]=g:visual_stat[16;26H[K[17;2Hcall Log()[17;12H[K[18;2H"[18;3H[K[19;2H/^RESULT test/,$w! test.out
:qa![20;5H[K[21;1HENDTEST
RESULT test:
[7mtest_wordcount.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hfu DoRecordWin(...)
[?25l
: [?12l[?25h:[34m^I[mwincmd 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:[34m^I[mwincmd j
[?25l: [?12l[?25h: return result
[?25l: [?12l[?25h:endfu
[1;1H[11L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfu PutInWindow(args)
[?25l
: [?12l[?25h: wincmd k
[?25l: [?12l[?25h: %d _
[?25l: [?12l[?25h: call append(1, a:args)
[?25l: [?12l[?25h:[34m^I[mwincmd j
[?25l: [?12l[?25h:endfu
[1;1H[5L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[4L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[5L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet g:test="Test 1: empty window"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin()
[?25l[12;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 1: empty window
[[''], {'chars': 0, 'cursor_chars': 0, 'words': 0, 'cursor_words': 0, 'bytes': 00[22;1H, 'cursor_bytes': 0}][23;19H[1m[7m[+][m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 2: some words, cursor at start"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow('one two three')
[?25l[2;1Hone two three[2;14H[K[12;11H[7m[+][21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([1,1,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 2: some words, cursor at start
[['', 'one two three'], {'chars': 15, 'cursor_chars': 1, 'words': 3, 'cursor_worr[22;1Hds': 0, 'bytes': 15, 'cursor_bytes': 1}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 3: some words, cursor at end"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow('one two three')
[?25l--No lines in buffer--[24;24H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 3: some words, cursor at end
[['', 'one two three'], {'chars': 15, 'cursor_chars': 14, 'words': 3, 'cursor_woo[22;1Hrds': 3, 'bytes': 15, 'cursor_bytes': 14}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlink.sh: Linked fine
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-gtk'
# Ensure ERM is set to a sane value for testing
[ yes != "yes" ] || flock debian env TERM=xterm /usr/bin/make -j1 -C src/vim-gtk test
let g:test="Test 4: some words, cursor at end, ve=all"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=all
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow('one two three')
[?25l--No lines in buffer--[24;24H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 4: some words, cursor at end, ve=all
[['', 'one two three'], {'chars': 15, 'cursor_chars': 15, 'words': 3, 'cursor_woo[22;1Hrds': 3, 'bytes': 15, 'cursor_bytes': 15}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hset ve=
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 5: several lines with words"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['one two three', 'one two three', 'one two three'])
[?25l[3;1Hone two three[3;14H[K[4;1Hone two three[4;14H[K[24;1H--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([4,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 5: several lines with words
[['', 'one two three', 'one two three', 'one two three'], {'chars': 43, 'cursor__[22;1Hchars': 42, 'words': 9, 'cursor_words': 9, 'bytes': 43, 'cursor_bytes': 42}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 6: one line with BOM set"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow('one two three')
[?25l[3;1H[1m[34m~ [4;1H~ [m[24;1H--No lines in buffer--[24;24H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd k
[?25l[12;1H[1m[7m[No Name] [+] [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset bomb
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest
[?25l"Xtest" [24;9H[K[24;9H[New File] 2 lines, 18 characters written[12;1H[1m[7mXtesta [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd j
[?25l[12;1H[7mXtest[m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 6: one line with BOM set
[['', 'one two three'], {'chars': 15, 'cursor_chars': 14, 'words': 3, 'cursor_woo[22;1Hrds': 3, 'bytes': 18, 'cursor_bytes': 14}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hwincmd k
[?25l[12;1H[1m[7mXtest [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [2;13H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset nobomb
[?25l[12;7H[1m[7m[+][2;13H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw!
[?25l"Xtest" 2 lines, 15 characters written[12;7H[1m[7m [2;13H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd j
[?25l[12;1H[7mXtest[m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 7: one line with multibyte words"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh'])
[?25l[2;1HÄne M¤[2;7Hne Mü[2;12Hh[2;13H[K[12;7H[7m[+][m[24;1H--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 7: one line with multibyte words
[['', 'Äne M¤[21;14Hne Mü[21;19Hh'], {'chars': 14, 'cursor_chars': 13, 'words': 3, 'cursor_worr[22;1Hds': 3, 'bytes': 17, 'cursor_bytes': 16}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 8: several lines with multibyte words"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh', 'und raus bist dü[24;53H!'])
[?25l[3;1Hund raus bist dü[3;17H![3;18H[K[24;1H--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 8: several lines with multibyte words
[['', 'Äne M¤[21;14Hne Mü[21;19Hh', 'und raus bist dü[21;40H!'], {'chars': 32, 'cursor_chars': 31, 'ww[22;1Hords': 7, 'cursor_words': 7, 'bytes': 36, 'cursor_bytes': 35}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 9: visual mode, complete buffer"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh', 'und raus bist dü[24;53H!'])
[?25l--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd k
[?25l[12;1H[1m[7mXtest [+] [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ls=2 stl=%{STL()}
[?25l[12;1H[1m[7m<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[m[23;1H[7m<: 3985, 'words': 579, 'cursor_words': 560, 'bytes': 4153, 'cursor_bytes': 4007}[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h0
[?25l[1;1H[?12l[?25h[?25l[12;2H[1m[7mords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 0, 'visual_[1;1H[?12l[?25h[?25l[m[7m
Äne M¤[2;7Hne Mü[2;12Hh
[mu[7mnd raus bist dü[3;17H! [m[12;2H[1m[7mds': 7, 'bytes': 36, 'visual_chars': 32, 'visual_words': 7, 'visual_bytes': 36}[3;1H[?12l[?25h[?25l[m[1;1H[K[2;1HÄne M¤[2;7Hne Mü[2;12Hh[2;13H[K[3;2Hnd raus bist dü[3;17H![3;18H[K[24;1H3 lines yanked[12;2H[1m[7mursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[1;1H[?12l[?25h[12;16H2,[29C1,[30C3}[2;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset stl= ls=1
[?25l[12;1H[1m[7mXtest [+]a [m[23;1H[7mtest_wordcount.in [+] [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[12;1H[7mXtest [+][m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log[2]=g:visual_stat
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 9: visual mode, complete buffer
[['', 'Äne M¤[21;14Hne Mü[21;19Hh', 'und raus bist dü[21;40H!'], {'chars': 32, 'words': 7, 'bytes': 33[22;1H6, 'visual_chars': 32, 'visual_words': 7, 'visual_bytes': 36}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 10: visual mode (empty)"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh', 'und raus bist dü[24;53H!'])
[?25l--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd k
[?25l[12;1H[1m[7mXtest [+] [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ls=2 stl=%{STL()}
[?25l[12;1H[1m[7m<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[m[23;1H[7m<: 4170, 'words': 606, 'cursor_words': 587, 'bytes': 4342, 'cursor_bytes': 4196}[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h0
[?25l[1;1H[?12l[?25h[?25l[12;2H[1m[7mords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 0, 'visual_[1;1H[?12l[?25h[?25l[?12l[?25h[?25l[12;2Hursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_[1;1H[?12l[?25h[12;16H2,[29C1,[30C3}[2;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset stl= ls=1
[?25l[12;1H[1m[7mXtest [+]a [m[23;1H[7mtest_wordcount.in [+] [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[12;1H[7mXtest [+][m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log[2]=g:visual_stat
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 10: visual mode (empty)
[['', 'Äne M¤[21;14Hne Mü[21;19Hh', 'und raus bist dü[21;40H!'], {'chars': 32, 'words': 7, 'bytes': 33[22;1H6, 'visual_chars': 1, 'visual_words': 0, 'visual_bytes': 1}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 11: visual mode, single line"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh', 'und raus bist dü[24;53H!'])
[?25l--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd k
[?25l[12;1H[1m[7mXtest [+] [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ls=2 stl=%{STL()}
[?25l[12;1H[1m[7m<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[m[23;1H[7m<: 4347, 'words': 632, 'cursor_words': 613, 'bytes': 4521, 'cursor_bytes': 4377}[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h2
[?25l[12;16H[1m[7m2,[29C1,[30C3}[2;1H[?12l[?25h[?25l[12;2Hords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 1, 'visual_[8C2}[2;1H[?12l[?25h[?25l[m[7mÄne M¤[2;7Hne Mü[2;12Hh[m[12;2H[1m[7mds': 7, 'bytes': 36, 'visual_chars': 13, 'visual_words': 3, 'visual_bytes': 16}[2;13H[?12l[?25h[?25l[m
Äne M¤[2;7Hne Mü[2;12Hh[12;2H[1m[7mursor_chars': 2, 'words': 7, 'cursor_words': 1, 'bytes': 36, 'cursor_bytes': 3}[2;1H[?12l[?25h[12;2Hsor_chars': 15, 'words': 7, 'cursor_words': 4, 'bytes': 36, 'cursor_bytes': 18}[3;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset stl= ls=1
[?25l[12;1H[1m[7mXtest [+]s [m[23;1H[7mtest_wordcount.in [+] [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[12;1H[7mXtest [+][m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log[2]=g:visual_stat
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 11: visual mode, single line
[['', 'Äne M¤[21;14Hne Mü[21;19Hh', 'und raus bist dü[21;40H!'], {'chars': 32, 'words': 7, 'bytes': 33[22;1H6, 'visual_chars': 13, 'visual_words': 3, 'visual_bytes': 16}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^RESULT test/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 34 lines, 1905 characters written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test11.in" 84 lines, 3366 characters[1;1HTests for autocommands:
- FileWritePre[10Cwriting a compressed file
- FileReadPost[10Creading a compressed file
- BufNewFile[12Creading a file template
- BufReadPre[12Cdecompressing the file to be read
- FilterReadPre[9Csubstituting characters in the temp file
- FilterReadPost[8Csubstituting characters after filtering
- FileReadPre[11Cset options for decompression
- FileReadPost[10Cdecompress 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for autocommands:[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 48 lines, 2298 characters written[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[17;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:au! FileReadPre *.gz exe 'silent !gzip -d ' . shellescape(expand("<afile>""[2;1H))
:au FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
:au! FileReadPost *.gz '[,']s/l/L/
:$r Xtestfile.gz[13C" Read compressed file
:w[27C" write it, after filtering
:au![13C" remove all autocommands
:e[15C" 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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" drop out when there is no gzip program
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !executable("gzip")
[?25l
: [?12l[?25h: e! test.ok
[?25l: [?12l[?25h: w! test.out
[?25l: [?12l[?25h: qa!
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:au! FileReadPre *.gz exe 'silent !gzip -d ' . shellescape(expand("<afile>""[2;1H))
:au FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
:au! FileReadPost *.gz '[,']s/l/L/[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet $GZIP = ""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileChangedShell * echo "caught FileChangedShell"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileWritePre *.gz '[,']!gzip
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileWritePost *.gz undo
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start of testfile/,/^end of testfile/w! Xtestfile.gz
[?25l[?12l[?25h[?25l11 lines filtered[24;18H[K[24;1H
"Xtestfile.gz"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
[New File][Incomplete last line] 1 line, 111 characters written
10 more lines; before #1 0 seconds ago
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau FileReadPost *.gz '[,']!gzip -d
[?25l[1;1H[3L[1;1H:au FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
:au! FileReadPost *.gz '[,']s/l/L/
:$r Xtestfile.gz[13C" Read compressed file
:w " write it, after filtering
:au! " remove all autocommands[5;43H[K[6;2He[15C" Edit test.out again[6;39H[K[7;2Hset nobin ff& " use the default fileformat for writing
:w[8;18H[K[9;2Hqa![9;6H[K[10;1HENDTEST[11;1H[K[12;1Hstartstart
start of testfile
line 2 Abcdefghijklmnopqrstuvwxyz
line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[16;6H4[17;6H5[18;6H6[19;6H7[20;6H8[21;6H9[22;6H10
end of testfile[23;16H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtestfile.gz " Read and decompress the testfile
[?25l"Xtestfile.gz" [24;16H[K[24;16H[Incomplete last line] 1 line, 111 characters
[?12l[?25h[60C[?25l[1;23r[1;1H[7M[1;24r[18;1Hstart of test.c
/*
* Here is a new .c file
*/
end of test.c
start of testfile[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h?startstart?,$w! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 29 lines, 788 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufNewFile *.c read Xtest.c
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start of test.c/+1,/^end of test.c/-1w! Xtest.c
[?25l[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[24;1H"Xtest.c" [24;11H[K[24;11H[New File] 3 lines, 32 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! foo.c " Will load Xtest.c
[?25l"foo.c" [New File][24;33H[K[24;1H
"Xtest.c" 3 lines, 32 characters
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau FileAppendPre *.out '[,']s/new/NEW/
[?25l[1;1H[2L[2;1H/*
* Here is a new .c file
*/
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hau FileAppendPost *.out !cat Xtest.c >>test.out
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw>>test.out " Append it to the output file
[?25l"test.out" [24;12H[K[24;12H4 lines, 33 characters appended
:!cat Xtest.c >>test.out
[?12l[?25h[m
[32mPress ENTER or type command to continue[?25l[m[24;1H[K[24;1H:[?12l[?25hau! FileAppendPre
[?25l[27m[23m[m[H[2J[2;1H/*
* Here is a NEW .c file
*/
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [3;2H[?12l[?25h[?25l[24;1H[m:[?12l[?25h" setup autocommands to decompress before reading and re-compress afterwards
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPre *.gz exe '!gzip -d ' . shellescape(expand("<afile>"))
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPost *.gz call rename(expand("<afile>"), expand("<afile>:r"))
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPost *.gz exe '!gzip ' . shellescape(expand("<afile>:r"))
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile.gz " Edit compressed file
[?25l:!gzip -d 'Xtestfile.gz'[24;33H[K[24;25H
[?12l[?25h[?25l[m"Xtestfile.gz"[23;1H"Xtestfile.gz" 11 lines, 357 characters[24;1H[K[24;1H:!gzip 'Xtestfile'
[?12l[?25h[?25l[mcaught FileChangedShell
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw>>test.out " Append it to the output file
[?25l"test.out" [24;12H[K[24;12H11 lines, 357 characters appended
:!cat Xtest.c >>test.out
[?12l[?25h[m
[32mPress ENTER or type command to continue[?25l[m[24;1H[K[24;1H:[?12l[?25hset shelltemp " need temp files here
[?25l[27m[23m[m[H[2J[1;1Hstart 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
[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hau FilterReadPre *.out call rename(expand("<afile>"), expand("<afile>") . "
[23;80H.[24;1Ht")
[?25l[1;1H[L[1;1Hstart of testfile[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hau FilterReadPre *.out exe 'silent !sed s/e/E/ ' . shellescape(expand("<afi
[23;80Hl[24;1He>")) . ".t >" . shellescape(expand("<afile>"))
[?25l[1;1H[L[1;1Hstart of testfile[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hau FilterReadPre *.out exe 'silent !rm ' . shellescape(expand("<afile>")) .
'.t'
[?25l[1;1H[L[1;1Hstart of testfile[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hau FilterReadPost *.out '[,']s/x/X/g
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out " Edit the output file
[?25l"test.out" [24;12H[K[24;12H50 lines, 1242 characters[1;6Hstar[1;11H[K[2;1Hstart of testfile[2;18H[K[3;6H2 Abcdefghijklmnopqrstuvwxyz[3;35H[K[4;6H3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[5;6H4 Abcdefghijklmnopqrstuvwxyz[5;35H[K[6;6H5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[7;6H6 Abcdefghijklmnopqrstuvwxyz[7;35H[K[8;6H7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[9;6H8 Abcdefghijklmnopqrstuvwxyz[9;35H[K[10;6H9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 10 Abcdefghijklmnopqrstuvwxyz
end of testfile[12;16H[K[13;1H[K[14;1Hstart of test.c[14;16H[K[15;1H/*[15;3H[K[16;1H * Here is a new .c file[16;25H[K[17;1H */[17;4H[K[18;1Hend of test.c[18;14H[K[19;1Hstart of testfile[19;18H[K[20;1Hline 2 Abcdefghijklmnopqrstuvwxyz[20;35H[K[21;1Hline 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[21;39H[K[22;1Hline 4 Abcdefghijklmnopqrstuvwxyz[22;35H[K[23;1Hline 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[23;39H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h23,$!cat
[?25l[?12l[?25h[?25l218 substitutions on 15 lines
28 lines filtered
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h23,$s/\r$// " remove CR for when sed adds them
[?25l[1m[37m[41mE486: Pattern not found: \r$[m[24;30H[K[24;1H
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau! FileReadPre *.gz exe 'silent !gzip -d ' . shellescape(expand("<afile>
[23;80H"[24;1H))
[?25l[1;1H[4L[1;1Hstartstart
start of testfile
line 2 Abcdefghijklmnopqrstuvwxyz
line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[23;4HE 5 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hau FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau! FileReadPost *.gz '[,']s/l/L/
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r Xtestfile.gz " Read compressed file
[?25l[?12l[?25h[?25l"Xtestfile.gz" [24;16H[K[24;16H11 lines, 357 characters
11 substitutions on 11 lines
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw " write it, after filtering
[?25l"test.out"[24;30H[K[24;12H61 lines, 1599 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau! " remove all autocommands
[?25l[1m[37m[41mE216: No such group or event: " remove all autocommands[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he " Edit test.out again
[?25l"test.out"[24;18H[K[24;12H61 lines, 1599 characters[1;1H[4L[1;1Hstartstart
start of testfile
line 2 Abcdefghijklmnopqrstuvwxyz
line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[24;1H[K[24;1H"test.out" 61 lines, 1599 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nobin ff& " use the default fileformat for writing
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" 61 lines, 1599 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test52.in" 65 lines, 1645 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for reading and writing files with conversion for Win32.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 57 lines, 1333 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[24;1H:so! Xdotest
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make this a dummy test for non-Win32 systems
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has("win32") | e! test.ok | wq! test.out | endif
[?25l"test.ok" [24;11H[K[24;11H18 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=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_x11.o gui_gtk_x11.c
[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test85.in" 85 lines, 1868 characters[1;1HTest 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)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for Lua interface and luaeval() function[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 77 lines, 1775 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[19;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso lua.vim
[?25l"test.ok" [24;11H[K[24;11H7 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test86.in" 1711 lines, 48481 characters[1;1HTests 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])[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for various python features. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1700 lines, 48188 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[9;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: endif
: call Test()
: if i == 0
:[7Clet 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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=latin1
[?25l[27m[23m[m[H[2J[1;1H: endif
: call Test()
: if i == 0
:[7Clet 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:[22;1H[?12l[?25h[?25l
:[?12l[?25hset noswapfile
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has('python') | e! test.ok | wq! test.out | endif
[?25l"test.ok" [24;11H[K[24;11H1445 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test87.in" 1707 lines, 49069 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for various python features. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1701 lines, 48985 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: call Test()
: if i == 0
:[7Clet 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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noswapfile
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has('python3') | e! test.ok | wq! test.out | endif
[?25l"test.ok" [24;11H[K[24;11H1445 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test12.in" 52 lines, 1199 characters[1;1HTests 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/[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for 'directory' option.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 40 lines, 965 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:!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[18;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset dir=.,~
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/start of testfile/,/end of testfile/w! Xtest1
[?25l"Xtest1" [24;10H[K[24;10H[New] 4L, 70C written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" do an ls of the current dir to find the swap file (should not be there)
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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=[24;1H
[?25l: :[?12l[?25helse
[?25l: [?12l[?25h: r !ls X*.swp >test.out
[?25l: [?12l[?25h:endif
[?25l[24;1H[K[24;1H:[?12l[?25h!echo first line >>test.out
[?25l[28C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25he Xtest1
[?25l"Xtest1" 4L, 70C[27m[23m[m[H[2J[1;1Hstart of testfile
line 2 Abcdefghij
line 3 Abcdefghij
end of testfile
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H"Xtest1" 4L, 70C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[m
[?25l: [?12l[?25h: s/\.*X/X/
[?25l: [?12l[?25h: .w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 11C appended
: [?12l[?25h: undo
[?25l1 line less; before #1 1 seconds ago
: [?12l[?25h:else
[?25l: [?12l[?25h: !ls X*.swp >>test.out
[?25l: [?12l[?25h:endif
[27m[23m[m[H[2J[?25l[1;1Hstart of testfile
line 2 Abcdefghij
line 3 Abcdefghij
end of testfile
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h!echo under Xtest1.swp >>test.out
[?25l[34C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir Xtest2
[?25l[14C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25hset dir=./Xtest2,.,~
[?25l[27m[23m[m[H[2J[1;1Hstart of testfile
line 2 Abcdefghij
line 3 Abcdefghij
end of testfile
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25he Xtest1
[?25l"Xtest1" 4L, 70C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!ls X*.swp >>test.out
[?25l[22C[?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[24;1H[K[24;1H:[?12l[?25h!echo under under >>test.out
[?25l[29C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!ls Xtest2 >>test.out
[?25l[22C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!echo under Xtest1.swp >>test.out
[?25l[34C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir Xtest.je
[?25l[16C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h/start of testfile/,/end of testfile/w! Xtest2/Xtest3
[?25l[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[24;1H"Xtest2/Xtest3" [24;17H[K[24;17H[New] 4L, 70C written[27m[23m[m[H[2J[1;1Hstart of testfile
line 2 Abcdefghij
line 3 Abcdefghij
end of testfile
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H"Xtest2/Xtest3" [New] 4L, 70C written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset dir=Xtest.je,~
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtest2/Xtest3
[?25l"Xtest2/Xtest3" 4L, 70C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hswap
[?25lXtest.je/Xtest3.swp[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!ls Xtest2 >>test.out
[?25l[22C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!echo under Xtest3 >>test.out
[?25l[30C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!ls Xtest.je >>test.out
[?25l[24C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!echo under Xtest3.swp >>test.out
[?25l[34C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test25.in" 31 lines, 840 characters[1;1HTest 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[34m^][m x:.w! test.out
:!rm -f test25.dir tags.test
:qa!
ENDTEST[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 540 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Create a link from test25.dir to the current directory.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!rm -f test25.dir
[?25l[18C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!ln -s . test25.dir
[?25l[20C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h" Create tags.text, with the current directory name inserted.
[?25l[27m[23m[m[H[2J[1;1HTest 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[34m^][m x:.w! test.out
:!rm -f test25.dir tags.test
:qa!
ENDTEST
[?12l[?25h[?25l
/[?12l[?25htags line
[?25l[1;2Hhis only works for Unix, because of the symbolic link.[1;56H[K[2;1H[K[3;1HSTARTTEST
:so small.vim
:set hidden[5;12H[K[6;2H" Create a link from test25.dir to the current directory.
:!rm -f test25.dir[7;19H[K[8;3Hln -s . test25.dir
:" Create tags.text, with the current directory name inserted.
/tags line[10;11H[K[11;1H:r !pwd[11;8H[K[12;1Hd$/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[17;20H[K[18;1HG[34m^][m x:.w! test.out[18;19H[K[19;1H:!rm -f test25.dir tags.test
:qa![20;6H[K[21;1HENDTEST[22;1H[K[23;1Htags line:
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hr !pwd
[?25l[?12l[?25h[27m[23m[m[H[2J[?25l[2;1HSTARTTEST
: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[34m^][m x:.w! test.out
:!rm -f test25.dir tags.test
:qa!
ENDTEST
tags line:
/<<PKGBUILDDIR>>/src/vim-basic/testdir
[?12l[?25h[?25l[23;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25htest
[?25l[1;23r[23;1H
[1;24r[23;1HSECTION_OFF /test25.dir/test25.in /^#define SECTION_OFF 3$/[24;1H[K[23;18H[?12l[?25h[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir/test25.dir/[23;1H[1m[34m@ [1;23r[m[23;1H
[1;24r[22;1HSECTION_OFF /<<PKGBUILDDIR>>/src/vim-basic/testdir/test25.dir//[23;1Htest25.in[7C/^#define SECTION_OFF 3$/[22;68H[?12l[?25h[?25l
:[?12l[?25h.w! tags.test
[?25l"tags.test" [24;13H[K[24;13H[New File] 1 line, 114 characters written[22;68H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Try jumping to a tag in the current file, but with a path that contains a
[?25l[22;68H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" symbolic link. When wrong, this will give the ATTENTION message. The next
[?25l[22;68H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" space will then be eaten by hit-return, instead of moving the cursor to 'd'.
[?25l[22;68H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tags=tags.test
[?25l[22;68H[?12l[?25h[?25l[1;23r[1;1H[6M[1;24r[19;1H/*tx.c*/
#define SECTION_OFF 3
#define NUM_SECTIONS 3
SECTION_OFF[24;1H[K[23;1H[?12l[?25h[20;1H#[?25lefine SECTION_OFF 3[20;23H[K[20;2H[?12l[?25h[?25l[24;1H:[?12l[?25h.w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 23 characters written[20;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!rm -f test25.dir tags.test
[?25l[28C[?1l>[?12l[?25h[?1049l
[No write since last change]
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test49.in" 32 lines, 705 characters[1;1HThis 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HThis is a test of the script language.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 23 lines, 475 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[7M[1;24r[17;1H:endfor
:for v in keys(g:)
: silent! exe "unlet " . v
:endfor
:unlet v
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hse nocp nomore viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang mess C
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso test49.vim
[?25l[1m[37m[41mError detected while processing function F:[m
[33mline 5:[m
[1m[37m[41mE583: multiple :else: else^I^I[m
[1m[37m[41mError detected while processing function G:[m
[33mline 5:[m
[1m[37m[41mE584: :elseif after :else: elseif 1^I^I" aborts function[m
[1m[37m[41mError detected while processing function H:[m
[33mline 7:[m
[1m[37m[41mE583: multiple :else: else^I^I[m
[1m[37m[41mError detected while processing function I:[m
[33mline 7:[m
[1m[37m[41mE584: :elseif after :else: elseif 1^I^I" aborts function[m
*** Test 16: OK (8722)
[1m[37m[41mError detected while processing function F:[m
[33mline 18:[m
[1m[37m[41mE171: Missing :endif: endwhile^I[m
[1m[37m[41mE171: Missing :endif: endwhile^I[m
[33mline 34:[m
[1m[37m[41mE171: Missing :endif: endwhile^I[m
[1m[37m[41mE171: Missing :endif: endwhile^I[m
[1m[37m[41mE171: Missing :endif: endwhile^I[m
[33mline 47:[m
[1m[37m[41mE580: :endif without :if: ^Iendif^I[m
[1m[37m[41mE580: :endif without :if: ^Iendif^I[m
[1m[37m[41mE580: :endif without :if: ^Iendif^I[m
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-basic/te[m
[23;80H[1m[37m[41ms[24;1Htdir/test49.vim:[m
[33mline 784:[m
[1m[37m[41mE171: Missing :endif: endwhile [m
*** Test 17: OK (285127993)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"/tmp/vdTcBam/0" [24;18H[K[24;18H[New] 53L, 1582C written[24;18H[K[24;18H14L, 358C appended[24;18H[K[24;18H26L, 824C appended[24;18H[K[24;18H34L, 986C appended
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/1[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/1" [24;18H[K[24;18H16L, 304C appended[24;18H[K[24;18H17L, 326C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/2[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/2"' -c 'breakad
[23;80Hd[24;2Hfile 8 /tmp/vdTcBam/1' -S /tmp/vdTcBam/1[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/2" [24;18H[K[24;18H3L, 6C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/3[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/3" [24;18H[K[24;18H6L, 127C appended[24;18H[K[24;18H7L, 149C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/4[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/4"' -c 'breakad
[23;80Hd[24;2Hfile 4 /tmp/vdTcBam/3' -S /tmp/vdTcBam/3[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/4" [24;18H[K[24;18H1L, 5C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/5[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/5" [24;18H[K[24;18H21L, 486C appended[24;18H[K[24;18H22L, 508C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/6[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/6"' -c 'breakad
[23;80Hd[24;2Hfunc 7 F' -S /tmp/vdTcBam/5[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/6" [24;18H[K[24;18H3L, 18C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/7[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/7" [24;18H[K[24;18H13L, 364C appended[24;18H[K[24;18H14L, 386C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/8[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/8"' -c 'breakad
[23;80Hd[24;2Hfunc 3 G' -S /tmp/vdTcBam/7[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/8" [24;18H[K[24;18H1L, 9C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 18: OK (67224583)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/9[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/9" [24;18H[K[24;18H12L, 201C appended[24;18H[K[24;18H13L, 223C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/10[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/10"' -S /tmp/vdTcB
[23;80Ha[24;1Hm/9[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/10" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/11[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/11" [24;19H[K[24;19H12L, 205C appended[24;19H[K[24;19H13L, 227C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/12[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/12"' -S /tmp/vdTcB
[23;80Ha[24;1Hm/11[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/12" 2L, 7C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/13[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/13" [24;19H[K[24;19H6L, 122C appended[24;19H[K[24;19H7L, 144C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/14[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/14"' -S /tmp/vdTcB
[23;80Ha[24;1Hm/13[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/14" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/15[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/15" [24;19H[K[24;19H8L, 176C appended[24;19H[K[24;19H9L, 198C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/16[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/16"' -S /tmp/vdTcB
[23;80Ha[24;1Hm/15[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/16" 1L, 6C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/17[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/17" [24;19H[K[24;19H10L, 215C appended[24;19H[K[24;19H11L, 237C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/18[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/18"' -S /tmp/vdTcB
[23;80Ha[24;1Hm/17[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/18" 1L, 8C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/19[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/19" [24;19H[K[24;19H7L, 149C appended[24;19H[K[24;19H8L, 171C[24;19H[Kgcc -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
[24;19H8L, 170C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/20[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/20"' -S /tmp/vdTcB
[23;80Ha[24;1Hm/19[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/20" 1L, 9C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 19: OK (69275973)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/21[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/21" [24;19H[K[24;19H9L, 135C appended[24;19H[K[24;19H10L, 157C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/22[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/22"' -S /tmp/vdTcB
[23;80Ha[24;1Hm/21[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/22" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/23[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/23" [24;19H[K[24;19H10L, 155C appended[24;19H[K[24;19H11L, 177C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/24[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/24"' -S /tmp/vdTcB
[23;80Ha[24;1Hm/23[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/24" 3L, 8C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/25[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/25" [24;19H[K[24;19H12L, 204C appended[24;19H[K[24;19H13L, 226C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/26[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/26"' -S /tmp/vdTcB
[23;80Ha[24;1Hm/25[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/26" 4L, 18C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/27[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/27" [24;19H[K[24;19H12L, 214C appended[24;19H[K[24;19H13L, 236C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/28[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/28"' -S /tmp/vdTcB
[23;80Ha[24;1Hm/27[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/28" 4L, 22C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/29[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/29" [24;19H[K[24;19H12L, 211C appended[24;19H[K[24;19H13L, 233C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/30[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/30"' -S /tmp/vdTcB
[23;80Ha[24;1Hm/29[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/30" 3L, 22C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/31[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/31" [24;19H[K[24;19H14L, 263C appended[24;19H[K[24;19H15L, 285C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/32[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/32"' -S /tmp/vdTcB
[23;80Ha[24;1Hm/31[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/32" 4L, 34C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/33[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/33" [24;19H[K[24;19H14L, 277C appended[24;19H[K[24;19H15L, 299C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/34[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/34"' -S /tmp/vdTcB
[23;80Ha[24;1Hm/33[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/34" 4L, 40C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 20: OK (1874575085)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/35[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/35" [24;19H[K[24;19H58L, 1022C appended[24;19H[K[24;19H59L, 1044C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/36[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/36"' -S /tmp/vdTcB
[23;80Ha[24;1Hm/35[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/36" 9L, 56C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 21: OK (147932225)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/37[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/37" [24;19H[K[24;19H23L, 418C appended[24;19H[K[24;19H24L, 440C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/38[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/38"' -S /tmp/vdTcB
[23;80Ha[24;1Hm/37[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/38" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/39[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/39" [24;19H[K[24;19H23L, 437C appended[24;19H[K[24;19H24L, 459C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/40[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/40"' -c 'breaka
[23;80Hd[24;1Hd func 2 Interrupt' -S /tmp/vdTcBam/39[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/40" [24;19H[K[24;19H1L, 3C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/41[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/41" [24;19H[K[24;19H21L, 386C appended[24;19H[K[24;19H22L, 408C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/42[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/42"' -S /tmp/vdTcB
[23;80Ha[24;1Hm/41[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/42" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 22: OK (4161)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/43[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/43" [24;19H[K[24;19H25L, 432C appended[24;19H[K[24;19H26L, 454C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/44[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/44"' -S /tmp/vdTcB
[23;80Ha[24;1Hm/43[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/44" 3L, 8C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 23: OK (49)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/45[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/45" [24;19H[Kgcc -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
[24;19H16L, 392C appended[24;19H[K[24;19H17L, 414C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/46[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/46"' -S /tmp/vdTcB
[23;80Ha[24;1Hm/45[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/46" 3L, 7C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 24: OK (41)
*** Test 25: OK (260177811)
*** Test 26: OK (1681500476)
*** Test 27: OK (1996459)
function F()
1 try
2[10CXpath 1[33C" X: 1
3[10Ctry
4[14CXpath 2[29C" X: 2
5[14Creturn
6[14CXpath 4[29C" X: 0
7[10Cfinally
8[14CXpath 8[29C" X: 8
9[10Cendtry
10[9CXpath 16[32C" X: 0
11 finally
12[9CXpath 32[32C" X: 32
13 endtry
14 Xpath 64[36C" X: 0
endfunction[9;1H"/tmp/vdTcBam/47"[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[9;19H[noeol] 17L, 552C
14 substitutions on 14 lines
Pattern not found: ^\s*$
"/tmp/vdTcBam/47" [11;20H[K[11;19H14L, 502C written
"test49.in" [11;13H[K[11;13H32L, 705C
function G()
1 try
2[10CXpath 128[31C" X: 128
3[10Creturn
4[10CXpath 256[31C" X: 0
5 finally
6[10CXpath 512[31C" X: 512
7[10Ccall F()
8[10CXpath 1024[30C" X: 1024
9 endtry
10 Xpath 2048[34C" X: 0
endfunction[12;1H"/tmp/vdTcBam/48"[13;1H[K[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;4H[K[12;19H[noeol] 13L, 406C
10 substitutions on 10 lines
Pattern not found: ^\s*$
"/tmp/vdTcBam/48" [14;20H[K[14;19H10L, 378C written
"test49.in" [14;13H[K[14;13H32L, 705C
function H()
1 try
2[10CXpath 4096[30C" X: 4096
3[10Ccall G()
4[10CXpath 8192[30C" X: 8192
5 finally
6[10CXpath 16384[29C" X: 16384
7[10Creturn
8[10CXpath 32768[29C" X: 0
9 endtry
10 Xpath 65536[33C" X: 0
endfunction[13;1H"/tmp/vdTcBam/49"[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[13;19H[noeol] 13L, 409C
10 substitutions on 10 lines
Pattern not found: ^\s*$
"/tmp/vdTcBam/49" [15;20H[K[15;19H10L, 381C written
"test49.in" [15;13H[K[15;13H32L, 705C
*** Test 28: OK (1996459)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim" [readonly] 900[17;1H8L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/50[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[18;1H[K[18;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/50" [18;19H[K[18;19H39L, 721C appended[18;19H[K[18;19H40L, 743C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim" [readonly] 900[19;1H8L, 206669C
:!>/tmp/vdTcBam/51[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[21;1H:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'l[22;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/51"' -S /tmp/vdTcBa[23;1Hm/50[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[23;1H"/tmp/vdTcBam/51" 6L, 21C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim" [readonly] 900[24;1H8L, 206669C[23;2Htest49.in" [23;13H[K[24;1H[K[23;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim" [readonly] 900[24;1H8L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/52[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/52" [24;19H[K[24;19H23L, 509C appended[24;19H[K[24;19H24L, 531C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.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 -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
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/53[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/53"' -S /tmp/vdTcB
[23;80Ha[24;1Hm/52[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/53" 4L, 34C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 29: OK (170428555)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/54[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/54" [24;19H[K[24;19H60L, 1101C appended[24;19H[K[24;19H61L, 1123C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/55[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nv
[23;80Hi[24;1Hminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/55"' -
[23;80Hc[24;2H'breakadd func 3 F' -c 'breakadd file 19 /tmp/vdTcBam/54' -c 'breakadd file 31
/tmp/vdTcBam/54' -S /tmp/vdTcBam/54[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/55" [24;19H[K[24;19H16L, 89C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 30: OK (190905173)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/56[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/56" [24;19H[K[24;19H60L, 1122C appended[24;19H[K[24;19H61L, 1144C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/57[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/57"' -S /tmp/vdTcB
[23;80Ha[24;1Hm/56[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/57" 16L, 89C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 31: OK (190905173)
*** Test 32: OK (354833067)
*** Test 33: OK (1216907538)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/58[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/58" [24;19H[K[24;19H63L, 1288C appended[24;19H[K[24;19H64L, 1310C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/59[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi
[23;80Hm[24;1Hinfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcB
[23;80Ha[24;1Hm/59"' -c 'breakadd func 16 C' -S /tmp/vdTcBam/58[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/59" [24;19H[K[24;19H17L, 127C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 34: OK (2146584868)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/60[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/60" [24;19H[K[24;19H63L, 1285C appended[24;19H[K[24;19H64L, 1307C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/61[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi
[23;80Hm[24;1Hinfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcB
[23;80Ha[24;1Hm/61"' -c 'breakadd func 16 B' -S /tmp/vdTcBam/60[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/61" [24;19H[K[24;19H17L, 127C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 35: OK (2146584868)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/62[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/62" [24;19H[K[24;19H66L, 1430C appended[24;19H[K[24;19H67L, 1452C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/63[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vimin
[23;80Hf[24;1Ho+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/
[23;80H6[24;1H3"' -c 'breakadd func 16 R' -S /tmp/vdTcBam/62[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/63" [24;19H[K[24;19H9L, 81C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 36: OK (1071644672)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/64[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/64" [24;19H[K[24;19H73L, 1488C appended[24;19H[K[24;19H74L, 1510C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/65[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/65"' -c 'breakadd
[23;80Hf[24;1Hunc 16 F' -S /tmp/vdTcBam/64[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/65" [24;19H[K[24;19H9L, 81C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 37: OK (1071644672)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/66[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/66" [24;19H[K[24;19H82L, 1519C appended[24;19H[K[24;19H83L, 1541C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/67[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi
[23;80Hm[24;1Hinfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcB
[23;80Ha[24;1Hm/67"' -c 'breakadd func 16 E' -S /tmp/vdTcBam/66[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/67" [24;19H[K[24;19H8L, 63C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 38: OK (357908480)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/68[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/68" [24;19H[Kgcc -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
[24;19H83L, 1538C appended[24;19H[K[24;19H84L, 1560C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/69[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -
[23;80Hc[24;2H'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVi
[23;80Hm[24;1HResult = "/tmp/vdTcBam/69"' -c 'breakadd func 16 I' -c 'breakadd func 22 I' -S
[23;80H/[24;1Htmp/vdTcBam/68[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/69" 8L, 63C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 39: OK (357908480)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/70[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/70" [24;19H[K[24;19H82L, 1519C appended[24;19H[K[24;19H83L, 1541C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/71[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi
[23;80Hm[24;1Hinfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcB
[23;80Ha[24;1Hm/71"' -c 'breakadd func 16 T' -S /tmp/vdTcBam/70[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/71" [24;19H[K[24;19H8L, 63C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 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
2[10CXpath 1[33C" X: 1
3[10Cthrow "arrgh"
4[10CXpath 2[33C" X: 0
5 catch /arrgh/
6[10CXpath 4[33C" X: 4
7 endtry
8 Xpath 8[37C" X: 8
endfunction[15;1H"/tmp/vdTcBam/72"[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[15;19H[noeol] 11L, 334C
8 substitutions on 8 lines
Pattern not found: ^\s*$
"/tmp/vdTcBam/72" [17;20H[K[17;19H8L, 295C written
"test49.in" [17;13H[K[17;13H32L, 705C
function T1()
1 XloopNEXT
2 try
3[10CXloop 1[33C" X: 16 + 16*16
4[10Cthrow "arrgh"
5[10CXloop 2[33C" X: 0
6 finally
7[10CXloop 4[33C" X: 64 + 64*16
8 endtry
9 Xloop 8[37C" X: 0
endfunction[14;1H"/tmp/vdTcBam/73"[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[14;19H[noeol] 12L, 364C
9 substitutions on 9 lines
Pattern not found: ^\s*$
"/tmp/vdTcBam/73" [16;20H[K[16;19H9L, 323C written
"test49.in" [16;13H[K[16;13H32L, 705C
function T2()
1 try
2[10CXpath 4096[30C" X: 4096
3[10Ccall T1()
4[10CXpath 8192[30C" X: 0
5 finally
6[10CXpath 16384[29C" X: 16384
7 endtry
8 Xpath 32768[33C" X: 0
endfunction[15;1H"/tmp/vdTcBam/74"[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[15;19H[noeol] 11L, 332C
8 substitutions on 8 lines
Pattern not found: ^\s*$
"/tmp/vdTcBam/74" [17;20H[K[17;19H8L, 305C written
"test49.in" [17;13H[K[17;13H32L, 705C
*** Test 50: OK (363550045)
*** Test 51: OK (40744667)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim" [readonly] 900[20;1H8L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/76[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[21;1H[K[21;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/76" [21;19H[K[21;19H2L, 41C appended[21;19H[K[21;19H3L, 63C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim" [readonly] 900[22;1H8L, 206669C
:!>/tmp/vdTcBam/77[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/77"' -S /tmp/vdTcBam/76[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/77" [24;19H[K[24;19H1L, 2C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/75" [24;19H[K[24;19H8L, 182C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/78[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/78" [24;19H[K[24;19H7L, 115C appended[24;19H[K[24;19H8L, 137C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/79[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/79"' -S /tmp/vdTcBam/78[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/79" [24;19H[K[24;19H1L, 2C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/75" [24;19H[K[24;19H8L, 181C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/80[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/80" [24;19H[K[24;19H12L, 180C appended[24;19H[K[24;19H13L, 202C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/81[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/81"' -S /tmp/vdTcBam/80[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/81" [24;19H[K[24;19H2L, 8C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669Cgcc -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
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/75" [24;19H[K[24;19H10L, 209C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/82[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/82" [24;19H[K[24;19H8L, 139C appended[24;19H[K[24;19H9L, 161C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/83[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/83"' -S /tmp/vdTcBam/82[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/83" [24;19H[K[24;19H2L, 11C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/75" [24;19H[K[24;19H10L, 217C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/84[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/84" [24;19H[K[24;19H5L, 87C appended[24;19H[K[24;19H6L, 109C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/85[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir!
[23;80H>[24;1H/tmp/vdTcBam/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
1' -c 'let ExtraVimResult = "/tmp/vdTcBam/85"' -c 'breakadd file 4 /tmp/vdTcBam
[23;80H/[24;1H84' -S /tmp/vdTcBam/84[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/85" [24;19H[K[24;19H1L, 7C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/75" [24;19H[K[24;19H[noeol] 9L, 202C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/86[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/86" [24;19H[K[24;19H7L, 189C appended[24;19H[K[24;19H8L, 211C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/87[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/87"' -S /tmp/vdTcBam/86[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/87" [24;19H[K[24;19H1L, 8C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/75" [24;19H[K[24;19H9L, 252C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/88[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/88" [24;19H[K[24;19H7L, 199C appended[24;19H[K[24;19H8L, 221C[24;19H[K[24;19H8L, 220C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/89[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/89"' -S /tmp/vdTcBam/88[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/89" [24;19H[K[24;19H1L, 10C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/75" [24;19H[K[24;19H9L, 214C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 52: OK (1247112011)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/91[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/91" [24;19H[K[24;19H1L, 10C appended[24;19H[K[24;19H2L, 32C[24;19H[K[24;19H2L, 31C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/92[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/92"' -S /tmp/vdTcBam/91[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/92" [24;19H[K[24;19H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/90" [24;19H[K[24;19H6L, 154C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/93[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/93" [24;19H[K[24;19H3L, 39C appended[24;19H[K[24;19H4L, 61C
3 substitutions on 3 lines
"/tmp/vdTcBam/93" [24;20H[K[24;19H4L, 58C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/94[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/94"' -S /tmp/vdTcBam/93[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/94" [24;19H[K[24;19H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/90" [24;19H[K[24;19H6L, 158C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/95[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/95" [24;19H[K[24;19H4L, 45C appended[24;19H[K[24;19H5L, 67C
4 substitutions on 4 lines
"/tmp/vdTcBam/95" [24;20H[K[24;19H5L, 63C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/96[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/96"' -S /tmp/vdTcBam/95[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/96" [24;19H[K[24;19H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/90" [24;19H[K[24;19H6L, 158C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/97[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/97" [24;19H[Klink.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
[24;19H3L, 33C appended[24;19H[K[24;19H4L, 55C
3 substitutions on 3 lines
"/tmp/vdTcBam/97" [24;20H[Kgcc -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
link.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
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
[24;19H4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/98[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/98"' -S /tmp/vdTcBam/97[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/98" [24;19H[K[24;19H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/90" [24;19H[K[24;19H6L, 158C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/99[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/99" [24;19H[K[24;19H5L, 65C appended[24;19H[K[24;19H6L, 87C
5 substitutions on 5 lines
"/tmp/vdTcBam/99" [24;20H[K[24;19H6L, 82C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/100[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/100"' -S /tmp/vdTcBam/99[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/100" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/90" [24;19H[K[24;19H6L, 158C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/101[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/101" [24;20H[K[24;20H1L, 9C appended[24;20H[K[24;20H2L, 31C[24;20H[K[24;20H2L, 30C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/102[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/102"' -S /tmp/vdTcBam/101[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/102" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/90" [24;19H[K[24;19H6L, 153C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/103[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/103" [24;20H[Kgcc -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
[24;20H3L, 38C appended[24;20H[K[24;20H4L, 60C
3 substitutions on 3 lines
"/tmp/vdTcBam/103"[24;20H[K[24;20H4L, 57C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/104[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/104"' -S /tmp/vdTcBam/103[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/104" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/90" [24;19H[K[24;19H6L, 157C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/105[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/105" [24;20H[K[24;20H4L, 44C appended[24;20H[K[24;20H5L, 66C
4 substitutions on 4 lines
"/tmp/vdTcBam/105"[24;20H[K[24;20H5L, 62C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/106[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/106"' -S /tmp/vdTcBam/105[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/106" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/90" [24;19H[K[24;19H6L, 157C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/107[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/107" [24;20H[K[24;20H3L, 32C appended[24;20H[K[24;20H4L, 54C
3 substitutions on 3 lines
"/tmp/vdTcBam/107"[24;20H[K[24;20H4L, 51C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/108[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/108"' -S /tmp/vdTcBam/107[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/108" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/90" [24;19H[K[24;19H6L, 157C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/109[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/109" [24;20H[K[24;20H5L, 64C appended[24;20H[K[24;20H6L, 86C
5 substitutions on 5 lines
"/tmp/vdTcBam/109"[24;20H[K[24;20H6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/110[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/110"' -S /tmp/vdTcBam/109[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/110" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/90" [24;19H[K[24;19H6L, 157C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/111[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/111" [24;20H[K[24;20H1L, 11C appended[24;20H[K[24;20H2L, 33C[24;20H[K[24;20H2L, 32C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/112[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/112"' -S /tmp/vdTcBam/111[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/112" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/90" [24;19H[K[24;19H6L, 157C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/113[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/113" [24;20H[K[24;20H3L, 40C appended[24;20H[K[24;20H4L, 62C
3 substitutions on 3 lines
"/tmp/vdTcBam/113"[24;20H[K[24;20H4L, 59C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/114[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/114"' -S /tmp/vdTcBam/113[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/114" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/90" [24;19H[K[24;19H6L, 161C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/115[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/115" [24;20H[K[24;20H4L, 46C appended[24;20H[K[24;20H5L, 68C
4 substitutions on 4 lines
"/tmp/vdTcBam/115"[24;20H[K[24;20H5L, 64C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/116[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/116"' -S /tmp/vdTcBam/115[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/116" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/90" [24;19H[K[24;19H6L, 161C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/117[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/117" [24;20H[K[24;20H3L, 34C appended[24;20H[K[24;20H4L, 56C
3 substitutions on 3 lines
"/tmp/vdTcBam/117"[24;20H[K[24;20H4L, 53C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/118[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/118"' -S /tmp/vdTcBam/117[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/118" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/90" [24;19H[K[24;19H6L, 161C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/119[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/119" [24;20H[K[24;20H5L, 66C appended[24;20H[K[24;20H6L, 88C
5 substitutions on 5 lines
"/tmp/vdTcBam/119"[24;20H[K[24;20H6L, 83C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/120[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/120"' -S /tmp/vdTcBam/119[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/120" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/90" [24;19H[K[24;19H6L, 161C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/121[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/121" [24;20H[K[24;20H4L, 37C appended[24;20H[K[24;20H5L, 59C
4 substitutions on 4 lines
"/tmp/vdTcBam/121"[24;20H[K[24;20H5L, 55C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/122[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/122"' -S /tmp/vdTcBam/121[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/122" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/90" [24;19H[K[24;19H6L, 150C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/123[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/123" [24;20H[Kgcc -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
[24;20H4L, 41C appended[24;20H[K[24;20H5L, 63C
4 substitutions on 4 lines
"/tmp/vdTcBam/123"[24;20H[K[24;20H5L, 59C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/124[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vdTcBam/124"' -S /tmp/vdTcBam/123[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/124" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/90" [24;19H[K[24;19H6L, 159C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 53: OK (131071)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/126[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/126" [24;20H[K[24;20H1L, 13C appended[24;20H[K[24;20H2L, 35C[24;20H[K[24;20H2L, 34C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/127[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/127"' -S /tmp/vdTcBam/126[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/127" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/125" [24;20H[K[24;20H6L, 164C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/128[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/128" [24;20H[K[24;20H3L, 36C appended[24;20H[K[24;20H4L, 58C
3 substitutions on 3 lines
"/tmp/vdTcBam/128"[24;20H[K[24;20H4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/129[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/129"' -S /tmp/vdTcBam/128[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/129" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/125" [24;20H[K[24;20H6L, 168C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/130[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/130" [24;20H[K[24;20H3L, 38C appended[24;20H[K[24;20H4L, 60C
3 substitutions on 3 lines
"/tmp/vdTcBam/130"[24;20H[K[24;20H4L, 57C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/131[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/131"' -S /tmp/vdTcBam/130[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/131" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/125" [24;20H[K[24;20H6L, 154C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/132[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/132" [24;20H[K[24;20H4L, 48C appended[24;20H[K[24;20H5L, 70C
4 substitutions on 4 lines
"/tmp/vdTcBam/132"[24;20H[K[24;20H5L, 66C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/133[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/133"' -S /tmp/vdTcBam/132[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/133" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/125" [24;20H[K[24;20H6L, 168C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/134[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/134" [24;20H[K[24;20H4L, 53C appended[24;20H[K[24;20H5L, 75C
4 substitutions on 4 lines
"/tmp/vdTcBam/134"[24;20H[K[24;20H5L, 71C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/135[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/135"' -S /tmp/vdTcBam/134[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/135" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/125" [24;20H[K[24;20H6L, 155C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/136[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/136" [24;20H[K[24;20H5L, 62C appended[24;20H[K[24;20H6L, 84C
5 substitutions on 5 lines
"/tmp/vdTcBam/136"[24;20H[Kgcc -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
[24;20H6L, 79C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/137[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/137"' -S /tmp/vdTcBam/136[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/137" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/125" [24;20H[K[24;20H6L, 155C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/138[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/138" [24;20H[K[24;20H5L, 64C appended[24;20H[K[24;20H6L, 86C
5 substitutions on 5 lines
"/tmp/vdTcBam/138"[24;20H[K[24;20H6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/139[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/139"' -S /tmp/vdTcBam/138[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/139" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/125" [24;20H[K[24;20H6L, 154C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/140[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/140" [24;20H[K[24;20H3L, 36C appended[24;20H[K[24;20H4L, 58C
3 substitutions on 3 lines
"/tmp/vdTcBam/140"[24;20H[K[24;20H4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/141[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/141"' -S /tmp/vdTcBam/140[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/141" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/125" [24;20H[K[24;20H6L, 168C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/142[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/142" [24;20H[K[24;20H5L, 67C appended[24;20H[K[24;20H6L, 89C
5 substitutions on 5 lines
"/tmp/vdTcBam/142"[24;20H[K[24;20H6L, 84C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/143[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/143"' -S /tmp/vdTcBam/142[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/143" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/125" [24;20H[K[24;20H6L, 167C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/144[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/144" [24;20H[Kgcc -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
[24;20H5L, 68C appended[24;20H[K[24;20H6L, 90C
5 substitutions on 5 lines
"/tmp/vdTcBam/144"[24;20H[K[24;20H6L, 85C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/145[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/145"' -S /tmp/vdTcBam/144[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/145" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/125" [24;20H[K[24;20H6L, 168C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/146[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/146" [24;20H[K[24;20H7L, 95C appended[24;20H[K[24;20H8L, 117C
7 substitutions on 7 lines
"/tmp/vdTcBam/146"[24;20H[K[24;20H8L, 110C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/147[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/147"' -S /tmp/vdTcBam/146[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/147" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/125" [24;20H[K[24;20H6L, 167C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 54: OK (2047)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/149[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/149" [24;20H[K[24;20H1L, 13C appended[24;20H[K[24;20H2L, 35C[24;20H[Kgcc -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
[24;20H2L, 34C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/150[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/150"' -S /tmp/vdTcBam/149[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/150" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/148" [24;20H[K[24;20H6L, 172C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/151[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/151" [24;20H[K[24;20H3L, 36C appended[24;20H[K[24;20H4L, 58C
3 substitutions on 3 lines
"/tmp/vdTcBam/151"[24;20H[K[24;20H4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/152[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/152"' -S /tmp/vdTcBam/151[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/152" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/148" [24;20H[K[24;20H6L, 176C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/153[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/153" [24;20H[K[24;20H4L, 48C appended[24;20H[K[24;20H5L, 70C
4 substitutions on 4 lines
"/tmp/vdTcBam/153"[24;20H[K[24;20H5L, 66C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/154[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/154"' -S /tmp/vdTcBam/153[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/154" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/148" [24;20H[K[24;20H6L, 176C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/155[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/155" [24;20H[K[24;20H3L, 36C appended[24;20H[K[24;20H4L, 58C
3 substitutions on 3 lines
"/tmp/vdTcBam/155"[24;20H[K[24;20H4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/156[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/156"' -S /tmp/vdTcBam/155[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/156" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/148" [24;20H[K[24;20H6L, 176C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/157[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/157" [24;20H[K[24;20H5L, 68C appended[24;20H[K[24;20H6L, 90C
5 substitutions on 5 lines
"/tmp/vdTcBam/157"[24;20H[K[24;20H6L, 85C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/158[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/158"' -S /tmp/vdTcBam/157[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/158" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/148" [24;20H[K[24;20H6L, 176C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/159[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/159" [24;20H[K[24;20H1L, 10C appended[24;20H[K[24;20H2L, 32C[24;20H[K[24;20H2L, 31C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/160[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/160"' -S /tmp/vdTcBam/159[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/160" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/148" [24;20H[K[24;20H6L, 166C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/161[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/161" [24;20H[K[24;20H3L, 33C appended[24;20H[K[24;20H4L, 55C
3 substitutions on 3 lines
"/tmp/vdTcBam/161"[24;20H[K[24;20H4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/162[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/162"' -S /tmp/vdTcBam/161[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/162" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/148" [24;20H[K[24;20H6L, 170C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/163[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/163" [24;20H[K[24;20H4L, 45C appended[24;20H[K[24;20H5L, 67C
4 substitutions on 4 lines
"/tmp/vdTcBam/163"[24;20H[K[24;20H5L, 63C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/164[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/164"' -S /tmp/vdTcBam/163[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/164" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/148" [24;20H[K[24;20H6L, 170C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/165[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/165" [24;20H[K[24;20H3L, 33C appended[24;20H[K[24;20H4L, 55C
3 substitutions on 3 lines
"/tmp/vdTcBam/165"[24;20H[K[24;20H4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/166[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/166"' -S /tmp/vdTcBam/165[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/166" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/148" [24;20H[K[24;20H6L, 170C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/167[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/167" [24;20H[K[24;20H5L, 65C appended[24;20H[K[24;20H6L, 87C
5 substitutions on 5 lines
"/tmp/vdTcBam/167"[24;20H[K[24;20H6L, 82C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/168[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/168"' -S /tmp/vdTcBam/167[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/168" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/148" [24;20H[K[24;20H6L, 170C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 55: OK (1023)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/170[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/170" [24;20H[K[24;20H1L, 11C appended[24;20H[K[24;20H2L, 33C[24;20H[K[24;20H2L, 32C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/171[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/171"' -S /tmp/vdTcBam/170[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/171" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/169" [24;20H[K[24;20H6L, 158C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/172[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/172" [24;20H[K[24;20H3L, 34C appended[24;20H[K[24;20H4L, 56C
3 substitutions on 3 lines
"/tmp/vdTcBam/172"[24;20H[K[24;20H4L, 53C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/173[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/173"' -S /tmp/vdTcBam/172[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/173" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/169" [24;20H[K[24;20H6L, 162C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/174[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/174" [24;20H[K[24;20H3L, 40C appended[24;20H[K[24;20H4L, 62C
3 substitutions on 3 lines
"/tmp/vdTcBam/174"[24;20H[K[24;20H4L, 59C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/175[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/175"' -S /tmp/vdTcBam/174[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/175" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/169" [24;20H[K[24;20H6L, 162C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/176[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/176" [24;20H[K[24;20H3L, 32C appended[24;20H[K[24;20H4L, 54C
3 substitutions on 3 lines
"/tmp/vdTcBam/176"[24;20H[K[24;20H4L, 51C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/177[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/177"' -S /tmp/vdTcBam/176[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/177" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/169" [24;20H[K[24;20H6L, 152C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/178[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/178" [24;20H[K[24;20H3L, 35C appended[24;20H[K[24;20H4L, 57C
3 substitutions on 3 lines
"/tmp/vdTcBam/178"[24;20H[K[24;20H4L, 54C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/179[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/179"' -S /tmp/vdTcBam/178[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/179" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/169" [24;20H[K[24;20H6L, 155C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/180[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/180" [24;20H[K[24;20H4L, 44C appended[24;20H[K[24;20H5L, 66C
4 substitutions on 4 lines
"/tmp/vdTcBam/180"[24;20H[K[24;20H5L, 62C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/181[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/181"' -S /tmp/vdTcBam/180[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/181" [24;20H[K[24;20H0L, 0Cgcc -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
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/169" [24;20H[K[24;20H6L, 152C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/182[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/182" [24;20H[K[24;20H4L, 47C appended[24;20H[K[24;20H5L, 69C
4 substitutions on 4 lines
"/tmp/vdTcBam/182"[24;20H[K[24;20H5L, 65C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/183[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/183"' -S /tmp/vdTcBam/182[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/183" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/169" [24;20H[K[24;20H6L, 155C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/184[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/184" [24;20H[K[24;20H5L, 64C appended[24;20H[K[24;20H6L, 86C
5 substitutions on 5 lines
"/tmp/vdTcBam/184"[24;20H[Kgcc -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
[24;20H6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/185[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/185"' -S /tmp/vdTcBam/184[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/185" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/169" [24;20H[K[24;20H6L, 152C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/186[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/186" [24;20H[K[24;20H5L, 67C appended[24;20H[K[24;20H6L, 89C
5 substitutions on 5 lines
"/tmp/vdTcBam/186"[24;20H[K[24;20H6L, 84C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/187[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vdTcBam/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vdTcBam/187"' -S /tmp/vdTcBam/186[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/187" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/169" [24;20H[K[24;20H6L, 155C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 56: OK (511)
function FuncException()
1 let g:exception = v:exception
endfunction[22;1H"/tmp/vdTcBam/188" [22;20H[K[23;1H[K[24;4H[K[22;20H[noeol] 4L, 80C
Pattern not found: ^\s*$
"/tmp/vdTcBam/188"[23;20H[K[23;20H1L, 36C written
"test49.in" [23;13H[K[23;13H32L, 705C
function FuncThrowpoint()
1 let g:throwpoint = v:throwpoint
endfunction[22;1H"/tmp/vdTcBam/189" [22;20H[K[23;1H[K[24;4H[K[22;20H[noeol] 4L, 83C
Pattern not found: ^\s*$
"/tmp/vdTcBam/189"[23;20H[K[23;20H1L, 38C written
"test49.in" [23;13H[K[23;13H32L, 705C
function T(arg, line)
1 if a:line == 2
2[10Cthrow a:arg[13C" in line 2
3 elseif a:line == 4
4[10Cthrow a:arg[13C" in line 4
5 elseif a:line == 6
6[10Cthrow a:arg[13C" in line 6
7 elseif a:line == 8
8[10Cthrow a:arg[13C" in line 8
9 endif
endfunction[14;1H"/tmp/vdTcBam/190"[14;20H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[14;20H[noeol] 12L, 341C
9 substitutions on 9 lines
8 substitutions on 8 lines
Pattern not found: ^\s*$
"/tmp/vdTcBam/190"[17;20H[K[17;20H9L, 292C written
"test49.in" [17;13H[K[17;13H32L, 705C
function G(arg, line)
1 call T(a:arg, a:line)
endfunction[18;1H"/tmp/vdTcBam/191"[18;20H[K[19;1H[K[20;4H[K[18;20H[noeol] 4L, 69C
Pattern not found: ^\s*$
"/tmp/vdTcBam/191"[19;20H[K[19;20H1L, 30C written
"test49.in" [19;13H[K[19;13H32L, 705C
function F(arg, line)
1 call G(a:arg, a:line)
endfunction[20;1H"/tmp/vdTcBam/192"[20;20H[K[21;1H[K[22;4H[K[20;20H[noeol] 4L, 69C
Pattern not found: ^\s*$
"/tmp/vdTcBam/192"[21;20H[K[21;20H1L, 30C written
"test49.in" [21;13H[K[21;13H32L, 705C
*** Test 57: OK (2147450880)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim" [readonly] 900[23;1H8L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/193[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/193" [24;20H[K[24;20H87L, 1700C appended[24;20H[K[24;20H88L, 1722C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/194[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/194"' -c 'break
[23;80Ha[24;1Hdd func 4 T' -S /tmp/vdTcBam/193[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/194" [24;20H[K[24;20H8L, 36C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 58: OK (624945)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/195[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/195" [24;20H[K[24;20H293L, 5789C appended[24;20H[K[24;20H294L, 5811C
3 substitutions on 3 lines
"/tmp/vdTcBam/195"[24;20H[K[24;20H294L, 5808C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/196[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo
[23;80H'[24;2H-c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/196"' -c 'br
[23;80He[24;1Hakadd file 115 /tmp/vdTcBam/195' -c 'breakadd file 225 /tmp/vdTcBam/195' -S /tm
[23;80Hp[24;1H/vdTcBam/195[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/196" 28L, 162C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 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"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/197[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/197" [24;20H[K[24;20H33L, 765C appended[24;20H[K[24;20H34L, 787C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/198[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/198"' -c 'break
[23;80Ha[24;1Hdd file 7 /tmp/vdTcBam/197' -S /tmp/vdTcBam/197[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/198" [24;20H[K[24;20H3L, 27C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 60: OK (311511339)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/199[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/199" [24;20H[K[24;20H115L, 2272C appended[24;20H[K[24;20H116L, 2294C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/200[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vimin
[23;80Hf[24;1Ho+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/
[23;80H2[24;1H00"' -c 'breakadd file 8 /tmp/vdTcBam/199' -c 'breakadd file 36 /tmp/vdTcBam/19
[23;80H9[24;1H' -c 'breakadd file 40 /tmp/vdTcBam/199' -c 'breakadd file 69 /tmp/vdTcBam/199'
-c 'breakadd file 95 /tmp/vdTcBam/199' -c 'breakadd file 97 /tmp/vdTcBam/199' -
[23;80HS[24;2H/tmp/vdTcBam/199[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"[13C200" 14L, 81C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 61: OK (374889517)
function F()
1 while 1
2 " Missing :endwhile
endfunction[21;1H"/tmp/vdTcBam/201"[22;1H[K[23;1H[K[24;4H[K[21;20H[noeol] 5L, 73C
Pattern not found: ^\s*$
"/tmp/vdTcBam/201"[22;20H[K[22;20H2L, 40C written
"test49.in" [22;13H[K[22;13H32L, 705C
*** Test 62: OK (286331153)
"/i/m/p/o/s/s/i/b/l/e" [23;24H[K[24;1H[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-basic/te[m
[23;80H[1m[37m[41ms[24;1Htdir/test49.vim:[m
[33mline 5500:[m
[1m[37m[41m"/i/m/p/o/s/s/i/b/l/e" E212: Can't open file for writing[m
*** Test 63: OK (236978127)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
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/202[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/202" [24;20H[K[24;20H149L, 2828C appended[24;20H[K[24;20H150L, 2850C
6 substitutions on 6 lines
"/tmp/vdTcBam/202"[24;20H[K[24;20H150L, 2844C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/203[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/203"' -c 'break
[23;80Ha[24;1Hdd file 63 /tmp/vdTcBam/202' -S /tmp/vdTcBam/202[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/203" [24;20H[K[24;20H16L, 97C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 64: OK (1499645335)
*** Test 65: OK (70187)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/204[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/204" [24;20H[K[24;20H78L, 1520C appended[24;20H[K[24;20H79L, 1542C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/205[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/205"' -c 'break
[23;80Ha[24;1Hdd func 8 F' -S /tmp/vdTcBam/204[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/205" [24;20H[K[24;20H6L, 22C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 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/vdTcBam/206" [New File]
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vdTcBam/207" [New File]
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 74: OK (224907669)
*** Test 75: OK (2000403408)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/208[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/208" [24;20H[K[24;20H253L, 6369C appended[24;20H[K[24;20H254L, 6391C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/209[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|
[23;80Hs[24;1Het viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp
[23;80H/[24;1HvdTcBam/209"' -c 'breakadd func 2 INT' -S /tmp/vdTcBam/208[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/209" [24;20H[K[24;20H28L, 167C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 76: OK (1610087935)
[1m[37m[41mError detected while processing function ERR:[m
[33mline 2:[m
[1m[37m[41mE492: Not an editor command: asdf[m
[1m[37m[41mE492: Not an editor command: asdf[m
[1m[37m[41mE492: Not an editor command: asdf[m
*** Test 77: OK (1388671)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/210[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/210" [24;20H[K[24;20H161L, 4543C appended[24;20H[K[24;20H162L, 4565C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/211[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/211"' -S /tmp/vdTc
[23;80HB[24;1Ham/210[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/211" 1L, 10C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 78: OK (134217728)
[1m[37m[41mError detected while processing function NEXT:[m
[33mline 1:[m
[1m[37m[41mE121: Undefined variable: novar[m
[1m[37m[41mE15: Invalid expression: novar | Xloop 1[m
[1m[37m[41mE121: Undefined variable: novar[m
[1m[37m[41mE488: Trailing characters[m
[1m[37m[41mE108: No such variable: "novar"[m
[1m[37m[41mE488: Trailing characters[m
[1m[37m[41mE121: Undefined variable: novar[m
[1m[37m[41mE15: Invalid expression: novar[m
[1m[37m[41mE475: Invalid argument: {novar} | Xloop 1[m
[1m[37m[41mE121: Undefined variable: novar[m
[1m[37m[41mE15: Invalid expression: novar[m
[1m[37m[41mE475: Invalid argument: { novar} | Xloop 1[m
*** Test 79: OK (70288929)
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-basic/te[m
[23;80H[1m[37m[41ms[24;1Htdir/test49.vim:[m
[33mline 7985:[m
[1m[37m[41mE584: :elseif after :else: elseif 1 ||| 2[m
[33mline 7995:[m
[1m[37m[41mE584: :elseif after :else: elseif 1 ||| 2[m
[33mline 8003:[m
[1m[37m[41mE582: :elseif without :if: elseif 1 ||| 2[m
[33mline 8011:[m
[1m[37m[41mE582: :elseif without :if: elseif 1 ||| 2[m
*** Test 80: OK (17895765)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/212[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/212" [24;20H[Kgcc -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
[24;20H15L, 272C appended[24;20H[K[24;20H16L, 294C[24;20H[K[24;20H16L, 293C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/213[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/213"' -S /tmp/vdTc
[23;80HB[24;1Ham/212[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/213" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/214[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/214" [24;20H[K[24;20H12L, 227C appended[24;20H[K[24;20H13L, 249C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/215[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/215"' -c 'break
[23;80Ha[24;1Hdd file 8 /tmp/vdTcBam/214' -S /tmp/vdTcBam/214[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/215" [24;20H[K[24;20H2L, 8C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 81: OK (387)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/216[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/216" [24;20H[Kgcc -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
[24;20H20L, 417C appended[24;20H[K[24;20H21L, 439C[24;20H[K[24;20H21L, 438C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/217[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/217"' -S /tmp/vdTc
[23;80HB[24;1Ham/216[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/217" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/218[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/218" [24;20H[K[24;20H24L, 480C appended[24;20H[K[24;20H25L, 502C[24;20H[Kgcc -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
[24;20H25L, 501C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/219[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/219"' -S /tmp/vdTc
[23;80HB[24;1Ham/218[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/219" 1L, 4C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/220[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/220" [24;20H[K[24;20H17L, 390C appended[24;20H[K[24;20H18L, 412C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/221[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/221"' -c 'break
[23;80Ha[24;1Hdd file 7 /tmp/vdTcBam/220' -S /tmp/vdTcBam/220[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/221" [24;20H[K[24;20H1L, 6C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/222[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/222" [24;20H[K[24;20H21L, 444C appended[24;20H[K[24;20H22L, 466C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/223[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/223"' -c 'break
[23;80Ha[24;1Hdd func 6 I' -S /tmp/vdTcBam/222[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/223" [24;20H[K[24;20H1L, 8C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 82: OK (8454401)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/224[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/224" [24;20H[K[24;20H17L, 307C appended[24;20H[K[24;20H18L, 329C[24;20H[K[24;20H18L, 328C written
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/225[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/225"' -S /tmp/vdTc
[23;80HB[24;1Ham/224[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/225" 3L, 7C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/226[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/226" [24;20H[K[24;20H14L, 266C appended[24;20H[K[24;20H15L, 288C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/227[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/227"' -c 'break
[23;80Ha[24;1Hdd file 8 /tmp/vdTcBam/226' -S /tmp/vdTcBam/226[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/227" [24;20H[K[24;20H3L, 13C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 83: OK (2835)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/228[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/228" [24;20H[K[24;20H154L, 3580C appended[24;20H[K[24;20H155L, 3602C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/229[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo
[23;80H'[24;2H-c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/229"' -c 'br
[23;80He[24;1Hakadd func 1 INT' -S /tmp/vdTcBam/228[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/229" [24;20H[K[24;20H18L, 118C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 84: OK (934782101)
TMP
"/tmp/vdTcBam/230" [noeol] 2L, 6C[24;1H[K[24;1H/
"test49.in" 32L, 705C
"/n/o/n/e/x/i/s/t/e/n/t"
"/tmp/vdTcBam/232" 1L, 1C
"test49.in" [24;13H[K[24;13H32L, 705C
:!echo XYZ >/tmp/vdTcBam/233[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/234" [New File]
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 85: OK (198689)
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-basic/te[m
[23;80H[1m[37m[41ms[24;1Htdir/test49.vim:[m
[33mline 8769:[m
[1m[37m[41mE123: Undefined function: F[m
Make_all.mak
"Make_all.mak" line 1 of 207 --0%-- col 1
[33mline 8772:[m
[1m[37m[41mE926: Current location list was changed[m
[33mline 8773:[m
[1m[37m[41mE193: :endfunction not inside a function[m
[1m[37m[41mError detected while processing function ExecAsScript[2]..MakeScript:[m
[33mline 3:[m
[1m[37m[41mE123: Undefined function: F[m
"/tmp/vdTcBam/235" [1m[37m[41mc[m[24;20H[K[24;20H[noeol] 4L, 109C
[31msearch hit BOTTOM, continuing at TOP[m
[33mline 10:[m[24;11H[K[24;1H
[1m[37m[41mE486: Pattern not found: .*F(.*)[m
[31msearch hit BOTTOM, continuing at TOP[m
[33mline 11:[m[24;11H[K[24;1H
[1m[37m[41mE486: Pattern not found: ^\d*\s*endfunction\>[m
4 substitutions on 4 lines
"/tmp/vdTcBam/235"[24;20H[K[24;20H3L, 109C written
"Make_all.mak" [24;16H[K[24;16H207L, 3846C
[1m[37m[41mError detected while processing /tmp/vdTcBam/235:[m
[33mline 1:[m
[1m[37m[41mE492: Not an editor command: Error detected while processing function ExecAsScr[m
[23;80H[1m[37m[41mi[24;1Hpt[2]..MakeScript:[m
[33mline 2:[m
[1m[37m[41mE492: Not an editor command: line 3:[m
[33mline 3:[m
[1m[37m[41mE492: Not an editor command: E123: Undefined function: F[m
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-basic/te[m
[23;80H[1m[37m[41ms[24;1Htdir/test49.vim:[m
[33mline 8779:[m
[1m[37m[41mE130: Unknown function: F[m
*** Test 86: OK (0)
5
*** Test 87: OK (0)
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vdTcBam/0' >/tmp/vdTcBam/236[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vdTcBam/236" [24;20H[Kgcc -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
[24;20H151L, 3929C appended[24;20H[K[24;20H152L, 3951C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vdTcBam/237[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nvimi
[23;80Hn[24;1Hfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vdTcBam/237"' -c
[23;80H'[24;1Hbreakadd func 5 ThrowOnInterrupt' -S /tmp/vdTcBam/236[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vdTcBam/237" [24;20H[K[24;20H16L, 281C
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/test49.vim"
<lTJJ2/vim-8.0.0197/src/vim-basic/testdir/test49.vim" [readonly] 9008L, 206669C
"Make_all.mak" [24;16H[K[24;16H207L, 3846C
*** Test 88: OK (50443995)
[32mPress ENTER or type command to continue[m[24;1H[K[24;1H:[?12l[?25h" Go back to this file and append the results from register r.
[?25l[27m[23m[m[H[2J[1;1H#
# 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 = \[9;9Htest1.out
# Tests that run on all systems.
SCRIPTS_ALL = \[13;9Htest3.out \[14;9Htest4.out \[15;9Htest5.out \[16;9Htest7.out \[17;9Htest8.out \[18;9Htest9.out \[19;9Htest14.out \[20;9Htest15.out \[21;9Htest19.out \[22;9Htest20.out \[23;9Htest22.out \[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hbuf test49.in
[?25l"test49.in" [24;13H[K[24;13H32L, 705C[1;1H:so test49.vim
:" Go back to this file and append the results from register r.
:buf test49.in
G"rp:/^Results/,$w! test.out
:"[5;3H[K[6;1H:" make valgrind happy
:redir => funclis[7;20H[K[8;1H:silent func[8;13H[K[9;1H:redir END[9;11H[K[10;1H:for line in split(funclist, "\n")
: let name = matchstr(line, 'function \zs[A-Z]\w*\ze(')
: if name != ''
: exe "delfunc " . name
: endif[14;9H[K[15;1H:endfor[15;9H[K[16;1H:for v in keys(g:)[16;19H[K[17;1H: silent! exe "unlet " . v
:endfor[18;9H[K[19;1H:unlet v[19;9H[K[20;1H:qa![20;9H[K[21;1HENDTEST[21;9H[K[22;9H[K[23;1HResults of test49.vim:[22;1H[?12l[?25h
[?25l
83 more lines[24;14H[K[1;23r[23;1H
[1;24r[23;1H*** Test 16: OK (8722)[24;1H[K[24;1H83 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^Results/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New] 84L, 2484C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make valgrind happy
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir => funclist
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsilent func
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[5L[?25l[1;1H:" Go back to this file and append the results from register r.
:buf test49.in
G"rp:/^Results/,$w! test.out
:"
:" make valgrind happy[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hfor v in keys(g:)
[?25l
: [?12l[?25h: silent! exe "unlet " . v
[?25l: [?12l[?25h:endfor
[1;1H[2L[?25l[1;1H:" Go back to this file and append the results from register r.
:buf test49.in[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet v
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test97.in" 23 lines, 484 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest whether glob()/globpath() return correct results with certain escaped[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 377 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make sure glob() doesn't use the shell
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset shell=doesnotexist
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" consistent sorting of file names
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nofileignorecase
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =glob('Xxx\{')
[?25l[2;1H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =glob('Xxx\$')
[?25l[3;1H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xxx{
[?25l
Cannot execute shell doesnotexist
[m
E79: Cannot expand wildcards
"Xxx{" [New File] 3 lines, 3 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! Xxx\$
[?25l"Xxx$" [24;8H[K[24;8H[New File] 3 lines, 3 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =glob('Xxx\{')
[?25l[27m[23m[m[H[2J[4;1HXxx{
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [4;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h$put =glob('Xxx\$')
[?25l[5;1HXxx$[5;5H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(globpath('sautest/autoload', '*.vim'))
[?25l[6;1H'sautest/autoload/Test104.vim[6;30H[K[7;1Hsautest/autoload/footest.vim'[7;30H[K[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(globpath('sautest/autoload', '*.vim', 0, 1))
[?25l[8;1H['sautest/autoload/Test104.vim', 'sautest/autoload/footest.vim'][8;65H[K[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" [New File] 8 lines, 138 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_listlbr_utf8.in" 134 lines, 4027 characters[1;1HTest for linebreak and list option in utf-8 mode
STARTTEST
:so small.vim
:if !exists("+linebreak") || !has("conceal") || !has("signs") | e! test.ok | w! [6;1Htest.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)
:[7Clet c=''
:[7Cfor j in range(1,a:lines)
:[11Cfor i in range(1,a:width)
:[15Clet c.=nr2char(screenchar(j, i))
:[11Cendfor
:[11Clet c.="\n"
:[7Cendfor
:[7Creturn c
:endfu[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for linebreak and list option in utf-8 mode[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 129 lines, 3948 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:set list nolinebreak cc=3
:sign define foo text=[34m^V[muff0b
: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[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !exists("+linebreak") || !has("conceal") || !has("signs") | e! test.ok | w!
test.out | qa! | endif
[?25l[1;1H[L[1;1H:set list nolinebreak cc=3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hso mbyte.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf8
[?25l[27m[23m[m[H[2J[1;1H:set list nolinebreak cc=3
:sign define foo text=[34m^V[muff0b
: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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h10new|:vsp|:vert resize 20
[?25l[1;1H [7m|[2;21H|[3;21H|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [m[1;23H[K[2;22H[1m[34m~ [3;22H~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [m[12;2Hcall DoRecordScreen()[12;23H[K[13;2H" 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!")[15;57H[K[16;2Helse[16;6H[K[17;2H call append('$', "Screen attributes are the same!")
:endif[18;7H[K[19;2H%w! test.out
:qa[20;6H[K[21;1HENDTEST
dummy text
[7mtest_listlbr_utf8.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"
[?25l[2;1H abcdef hijkl
mn pqrstuvwxyz 1060
ABCDEFGHIJKLMNOP [11;11H[1m[7m[+][m[2;22H abcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP [2;79H[K[11;32H[7m[+][2;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H abcdef hijkl
mn pqrstuvwxyz 1060
ABCDEFGHIJKLMNOP
[1m[34m~
~
~
~
~
~ [m
[1m[34m~ [m[24;1H[K[1;9H[?12l[?25h[?25l[24;1H:[?12l[?25hset ts=4 sw=4 sts=4 linebreak sbr=+ wrap
[?25l[1;5Habcdef
[1m[34m+[mhijklmn
[1m[34m+[mpqrstuvwxyz 1060ABC
[1m[34m+[mDEFGHIJKLMNOP [2;26Habcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP [2;75H[K[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfu! ScreenChar(width, lines)
[?25l
: [?12l[?25h:[34m^I[mlet c=''
[?25l: [?12l[?25h:[34m^I[mfor j in range(1,a:lines)
[?25l: [?12l[?25h:[34m^I[m for i in range(1,a:width)
[?25l: [?12l[?25h:[34m^I[m [34m^I[mlet c.=nr2char(screenchar(j, i))
[?25l: [?12l[?25h:[34m^I[m endfor
[?25l: [?12l[?25h: let c.="\n"
[?25l: [?12l[?25h:[34m^I[mendfor
[?25l: [?12l[?25h:[34m^I[mreturn c
[?25l: [?12l[?25h:endfu
[1;1H[9L[?25l[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz 1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[m[5;1H[1m[34m~
~
~
~
~ [m[2;26Habcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hfu! DoRecordScreen()
[?25l
: [?12l[?25h:[34m^I[mwincmd l
[?25l: [?12l[?25h:[34m^I[m$put =printf(\"\n%s\", g:test)
[?25l: [?12l[?25h:[34m^I[m$put =g:line
[?25l: [?12l[?25h:[34m^I[mwincmd p
[?25l: [?12l[?25h:endfu
[1;1H[5L[?25l[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz 1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[m
[1m[34m~ [m[2;26Habcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 1: set linebreak + set list + fancy listchars"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eo
[23;80Hl[24;1H:\ub6"
[?25l[1;1H[L[1;1H[34m▕[1;2H—[1;3H—[1;4H—[m[1;5Habcdef[10C[7m|[m[2;9H[34m▕[2;10H—[2;11H—[2;12H—[3;13H␣[4;15Hˑ[m[1m[34m¶[m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H[34m▕[1;2H—[1;3H—[1;4H—[m[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[34m▕[2;10H—[2;11H—[2;12H—[m[2;21H[7m|[m
[1m[34m+[mpqrstuvwxyz[34m␣[m1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP[34mˑ[m[1m[34m¶[m[4;21H[7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26Habcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [1;5H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[5;1H[1m[34m¶[m[5;2H
Test 1: set
[1m[34m+[mlinebreak + set
[1m[34m+[mlist + fancy
[1m[34m+[mlistchars[1m[34m¶[m[9;12H
▕[10;2H—[10;3H—[10;4H—[10;5Habcdef[34mˑˑˑˑˑˑˑˑˑˑ[m
[1m[34m@ [m[3;22H[K[4;22HTest 1: set linebreak + set list + fancy listchars[4;72H[K[5;22H▕[5;23H—[5;24H—[5;25H—[5;26Habcdef [5;42H[K[6;22H+hijklmn▕[6;31H—[6;32H—[6;33H—[6;34H [6;42H[K[7;22H+pqrstuvwxyz␣1060ABC[7;42H[K[8;22H+DEFGHIJKLMNOPˑ¶[8;38H [8;42H[K[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 2: set nolinebreak list"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset list nolinebreak
[?25l[1;12Hhijklmn[34m▕[1;20H—[m[2;2Hpqrstuvwxyz[34m␣[m1060ABC[3;2HDEFGHIJKLMNOP[34mˑ[m[1m[34m¶[m[3;17H
[1m[34m¶[m[4;2H
Test 1: set linebrea
[1m[34m+[mk + set list + fanc[7;2Hy listchars[1m[34m¶[m[7;14H
▕[8;2H—[8;3H—[8;4H—[8;5Habcdef[34mˑˑˑˑˑˑˑˑˑˑ[m[9;2H[1m[34m¶[m[9;3H
+hijklmn▕[10;10H—[10;11H—[10;12H—[10;13H[34mˑˑˑˑˑˑˑˑ[m
[1m[34m@ [1;5H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H[34m▕[1;2H—[1;3H—[1;4H—[m[1;5Habcdef hijklmn[34m▕[1;20H—[m[1;21H[7m|[m
[1m[34m+[mpqrstuvwxyz[34m␣[m1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP[34mˑ[m[1m[34m¶[m[3;21H[7m|[m
[1m[34m¶[m[4;21H[7m|[m
Test 1: set linebrea[7m|[m
[1m[34m+[mk + set list + fanc[7m|[m
[1m[34m+[my listchars[1m[34m¶[m[7;21H[7m|[m
▕[8;2H—[8;3H—[8;4H—[8;5Habcdef[34mˑˑˑˑˑˑˑˑˑˑ[m[7m|[m
[1m[34m+¶[m[9;21H[7m|[m
+hijklmn▕[10;10H—[10;11H—[10;12H—[10;13H[34mˑˑˑˑˑˑˑˑ[m[7m|[m
[1m[34m@ [m
[1m[7m[No Name] [+] [m[2;26Habcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP[4;22HTest 1: set linebreak + set list + fancy listchars[5;22H▕[5;23H—[5;24H—[5;25H—[5;26Habcdef[6;22H+hijklmn▕[6;31H—[6;32H—[6;33H—[7;22H+pqrstuvwxyz␣1060ABC[8;22H+DEFGHIJKLMNOPˑ¶[9;22H[1m[34m~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [m[10;1H+hijklmn▕[10;10H—[10;11H—[10;12H—[10;13H[34mˑˑˑˑˑˑˑˑ[m
[1m[34m@ [1;5H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[1;22H▕[1;23H—[1;24H—[1;25H—[1;26Habcdef [2;22H+hijklmn▕[2;31H—[2;32H—[2;33H—[2;34H [3;22H+pqrstuvwxyz␣1060ABC [4;22H+DEFGHIJKLMNOPˑ¶[4;38H [5;22H[1m[34m~ [6;22H~ [m[7;22H [8;22H [9;22H [10;22H [5;22H[K[6;22HTest 2: set nolinebreak list[6;50H[K[7;22H▕[7;23H—[7;24H—[7;25H—[7;26Habcdef hijklmn▕[7;41H—[8;22H+pqrstuvwxyz␣1060ABC[9;22H+DEFGHIJKLMNOPˑ¶[10;22H¶[24;1H[K[24;1H4 more lines[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 3: set linebreak nolist"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\t*mask = nil;\"
[?25l[1;1H▕[1;2H—[1;3H—[1;4H—[1;19H▕[1;20H—[2;2H[1m[34m¶[m[2;3H
+pqrstuvwxyz␣1060ABC
[1m[34m+¶[m[5;1H+DEFGHIJKLMNOPˑ¶[5;17H[34mˑˑˑˑ[m[6;2H[1m[34m¶[m[6;4H
¶[7;2H[34mˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[m
[1m[34m+¶[m[8;3H
[34m▕[9;2H—[9;3H—[9;4H—[m[9;5H*mask = nil;[1m[34m¶[10;1H~ [9;5H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$
[?25l[9;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H[34m▕[1;2H—[1;3H—[1;4H—[m[1;5H*mask = nil;[1m[34m¶[m[1;18H
[1m[34m~ [m
[3;1H[1m[34m~
~
~
~
~
~
~
~ [m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hset nolist linebreak
[?25l[1;1H [12C
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;5H*mask = nil; [7m|[2;21H|[3;21H|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[1;22H▕[1;23H—[1;24H—[1;25H—[1;26Habcdef[2;22H+hijklmn▕[2;31H—[2;32H—[2;33H—[3;22H+pqrstuvwxyz␣1060ABC[4;22H+DEFGHIJKLMNOPˑ¶[6;22HTest 2: set nolinebreak list[7;22H▕[7;23H—[7;24H—[7;25H—[7;26Habcdef hijklmn▕[7;41H—[8;22H+pqrstuvwxyz␣1060ABC[9;22H+DEFGHIJKLMNOPˑ¶[10;22H¶[11;22H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [1;5H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[2;1H
Test 3: set
[1m[34m+[mlinebreak nolist
*mask = nil;
~
~
~ [1;22H+pqrstuvwxyz␣1060ABC [2;22H+DEFGHIJKLMNOPˑ¶[2;38H [3;22H¶[3;23H [4;22H [5;22H [6;22H [7;22H [8;22H [9;22H [10;22H [4;26H*mask = nil;[6;22HTest 3: set linebreak nolist[7;26H*mask = nil;[8;22H~[9;22H~[10;22H~[24;1H[K[24;1H4 more lines[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 4: set linebreak list listchars and concealing"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet c_defines=['#define ABCDE[34m^I^I[m1','#define ABCDEF[34m^I^I[m1','#define ABCDEFG[34m^I^I[m
[23;80H1[24;1H','#define ABCDEFGH[34m^I[m1', '#define MSG_MODE_FILE[34m^I^I^I[m1','#define MSG_MODE_CONSO
[23;80HL[24;1HE[34m^I^I[m2','#define MSG_MODE_FILE_AND_CONSOLE[34m^I[m3','#define MSG_MODE_FILE_THEN_CONS
[23;80HO[24;1HLE[34m^I[m4']
[?25l[1;1H[3L[1;5H*mask = nil; [7m|[2;21H|[m
Test 3: set[9C[7m|[m[1;22H+pqrstuvwxyz␣1060ABC[2;22H+DEFGHIJKLMNOPˑ¶[3;22H¶[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hcall append('$', c_defines)
[?25l[9;1H#define
[1m[34m+[mABCDE 1 [1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hvert resize 40
[?25l[1;21H [7m|[m[2;21H [7m|[m[3;13Hlinebreak nolist[12C[7m|[m
*mask = nil; [7m|[m
~ [19C[7m|[m[6;21H [7m|[m[7;21H [7m|[m
#define ABCDE[7C1 [18C[7m|[m[9;9HABCDEF 1 [18C[7m|[m
#define ABCDEFG 1 [18C[7m|[m[11;22H[1m[7m [m[1;42H+pqrstuvwxyz␣1060ABC[2;42H+DEFGHIJKLMNOPˑ¶[3;42H¶[4;46H*mask = nil;[6;42HTest 3: set linebreak nolist[7;46H*mask = nil;[8;42H~[9;42H~[10;42H~[11;42H[7m[No Name] [+][1;5H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$-7
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H#define ABCDE 1
#define ABCDEF 1
#define ABCDEFG 1
[4;1H#define ABCDEFGH 1
#define MSG_MODE_FILE[11C1
#define MSG_MODE_CONSOLE[8C2
#define MSG_MODE_FILE_AND_CONSOLE 3
#define MSG_MODE_FILE_THEN_CONSOLE 4
[1m[34m~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset list linebreak listchars=tab:>- cole=1
[?25l[1;14H[34m>-->---[2;15H>->---[3;16H>>---[4;17H>---[5;22H>-->--->---[6;25H>--->---[7;34H>--[8;35H>-[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsyn match Conceal conceal cchar=>'AB\|MSG_MODE'
[?25l[1;9H[37m[40mAB[2;9H>[mCDEF[34m>-[m[3;9H[37m[40m>[mCDEFG[34m>-[m[4;9H[37m[40m>[mCDEFGH[34m>-[m[5;9H[37m[40m>[m_FILE[34m>-------[m[6;9H[37m[40m>[m_CONSOLE[34m>-------[m[7;9H[37m[40m>[m_FILE_AND_CONSOLE[34m>-------[m[8;9H[37m[40m>[m_FILE_THEN_CONSOLE[34m>-------[m[1;59H[37m[40mAB[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H#define [37m[40mAB[mCDE[34m>-->---[m1[19C[7m|[m
#define [37m[40m>[mCDEF[34m>-->---[m1[19C[7m|[m
#define [37m[40m>[mCDEFG[34m>->---[m1[19C[7m|[m
#define [37m[40m>[mCDEFGH[34m>----[m1[19C[7m|[m
#define [37m[40m>[m_FILE[34m>--------->--->---[m1[7C[7m|[m
#define [37m[40m>[m_CONSOLE[34m>---------->---[m2[7C[7m|[m
#define [37m[40m>[m_FILE_AND_CONSOLE[34m>---------[m3 [7m|[m
#define [37m[40m>[m_FILE_THEN_CONSOLE[34m>--------[m4 [7m|[9;41H|[10;41H|[m[9;1H[1m[34m~
~ [m
[1m[7m[No Name] [+] [m[1;42H+pqrstuvwxyz␣1060[37m[40mAB[mC[2;42H+DEFGHIJKLMNOPˑ¶[3;42H¶[4;46H*mask = nil;[6;42HTest 3: set linebreak nolist[7;46H*mask = nil;[8;42H~[9;42H~[10;42H~[11;42H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),7)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l[1;9H[37m[40m>[mCDE[34m>-[m[24;1H7 more lines[24;13H[K[9;1H
Test 4: set linebreak list listchars
[1m[34m@ [m[1;42H#define >CDEFG>->---1[2;42H[1m[34m+[m [2;44H[K[3;42H#define >CDEFGH>----1[4;42H[1m[34m+[m[4;46H[K[5;42H#define >_FILE>--------->--->---1[6;42H[1m[34m+[m [6;44H[K[7;42H#define >_CONSOLE>---------->---2[8;42H[1m[34m+[m[9;42H#define >_FILE_AND_CONSOLE>---------3[10;42H[1m[34m+[m[1;9H[37m[40mAB[mCDE[34m>
[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 5: set linebreak list listchars and concealing part2"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet c_defines=['bbeeeeee[34m^I^I[m;[34m^I[msome text']
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', c_defines)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$
[?25l[1;1H[1m[34m@ [m
[1;1HTest 4: set linebreak list listchars
[1m[34m+[mand concealing
#define [37m[40m>[mCDE>-->---1
#define >CDEF>-->---1
#define >CDEFG>->---1
#define >CDEFGH>----1
#define >_FILE>--------->--->---1
#define >_CONSOLE>---------->---2
#define >_FILE_AND_CONSOLE>---------3
bbeeeeee[34m>--->---[m;[34m>--[msome text[24;1H[K[10;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnorm! zt
[?25l[1;1Hbbeeeeee[34m>--->---[m;[34m>--[msome text
[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset nowrap ts=2 list linebreak listchars=tab:>- cole=2 concealcursor=n
[?25l[1;11H[34m>[m[1C;[34m>[msome text [1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn clear
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn match meaning /;\s*\zs.*/
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn match hasword /^\x\{8}/ contains=word
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn match word /\<\x\{8}\>/ contains=beginword,endword contained
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn match beginword /\<\x\x/ contained conceal
[?25l[1;1Heeeeee[34m>--[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsyn match endword /\x\{6}\>/ contained
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi meaning guibg=blue
[?25l[1;15Hsome text[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi beginword guibg=green
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi endword guibg=red
[?25l[1;1Heeeeee[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1Heeeeee[34m>--->-[m;[34m>[msome text[17C[7m|[2;41H|[3;41H|[4;41H|[5;41H|[6;41H|[7;41H|[8;41H|[9;41H|[10;41H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[1;42H#define >CDEFG>->---1[2;42H[1m[34m+[m[3;42H#define >CDEFGH>----1[4;42H[1m[34m+[m[5;42H#define >_FILE>--------->--->---1[6;42H[1m[34m+[m[7;42H#define >_CONSOLE>---------->---2[8;42H[1m[34m+[m[9;42H#define >_FILE_AND_CONSOLE>---------3[10;42H[1m[34m+[m[11;42H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),1)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l[2;1H
Test 5: set linebreak list listchars and
eeeeee>--->-;>some text [1;42H#define >_CONSOLE>---------->---2 [2;42H[1m[34m+[m [3;42H#define >_FILE_AND_CONSOLE>---------3 [4;42H[1m[34m+[m [5;42H [6;42H [7;42H [8;42H [9;42H [10;42H [5;42Hbbeeeeee ; some text[7;42HTest 5: set linebreak list listchars an[8;42H[1m[34m+[md concealing part2[9;42Heeeeee>--->-;>some text [10;42H[1m[34m+[m [24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 6: Screenattributes for comment"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[5;1HTest 6: Screenattributes for comment [5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', ' /*[34m^I^I[m and some more */')
[?25l[6;1H /*[34m>>-[m and some more */ [5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe "set ft=c ts=7 linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail
[23;80H:[24;1H\u02d1,eol:\ub6"
[?25l[1;1H[L[1;1Heeeeee[34m▕[1;8H—[1;9H—[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[1;15H▕[1;16H—[1;17H—[1;18H—[1;19H—[1;20H—[1;21H—[m[1;22H;[34m▕[1;24H—[1;25H—[1;26H—[1;27H—[1;28H—[m[1;29Hsome text[1m[34m¶[m[1;41H[7m|[m
[1m[34m¶[m[4;24H[34mˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[m[5;37H[1m[34m¶[m[6;4H[34m▕[6;5H—[6;6H—[6;7H—[6;8H▕[6;9H—[6;10H—[6;11H—[6;12H—[6;13H—[6;14H—[m[6;15H and some more */[1m[34m¶[m[1;42H#define >_CONSOLE>---------->---2[5;54H ; some text[24;1H[K[5;1H[?12l[?25h[?25l[24;1H:[?12l[?25hsyntax on
[?25l[1;1Hbbeeeeee[34m▕[m[1;29Hsome text[3;6H[31m5[m[4;14H>some text[5;6H[31m6[m[19C[33mfor[m
[34m/*[11C and some more */[m[1;42H[35m#define >_CONSOLE>---------->---[m[31m2[m[35m [2;43H [3;42H#define >_FILE_AND_CONSOLE>---------[m[31m3[m[35m [4;43H [m[5;42Hbbeeeeee[20Csome text[7;47H[31m5[m[9;55H>some text [10;43H [5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi SpecialKey term=underline ctermfg=red guifg=red
[?25l[1;9H[1m[31m▕[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[1;15H▕[1;16H—[1;17H—[1;18H—[1;19H—[1;20H—[1;21H—[1;23H▕[1;24H—[1;25H—[1;26H—[1;27H—[1;28H—[4;24Hˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[6;4H▕[6;5H—[6;6H—[6;7H—[6;8H▕[6;9H—[6;10H—[6;11H—[6;12H—[6;13H—[6;14H—[5;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet attr=[]
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnnoremap <expr> GG ":let attr += ['".screenattr(screenrow(),screencol())."']\n
[23;80H"[24;1H[?25l[1;1H[L[1;1Hbbeeeeee[1m[31m▕[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[1;15H▕[1;16H—[1;17H—[1;18H—[1;19H—[1;20H—[1;21H—[m[1;22H;[1m[31m▕[1;24H—[1;25H—[1;26H—[1;27H—[1;28H—[m[1;29Hsome text[1m[34m¶[m[1;41H[7m|[m[35m#define >_CONSOLE>---------->---[m[31m2[m[35m [m[24;1H[K[5;1H[?12l[?25h[?25l[24;1H:[?12l[?25h$
[?25l[6;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt0
[?25l[1;1H [34m/*[m[1m[31m▕[1;5H—[1;6H—[1;7H—[1;8H▕[1;9H—[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[m[1;15H[34m and some more */[m[1m[34m¶[m[1;33H
[1m[34m~
~
~
~ [m
[6;1H[1m[34m~
~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:let attr += ['0']
[1;1H[?12l[?25h[1;2H[?25l[24;1H[K[24;1H:let attr += ['68']
[1;2H[?12l[?25h[1;3H[?25l[24;1H[K[24;1H:let attr += ['68']
[1;3H[?12l[?25h[1;4H[?25l[24;1H[K[24;1H:let attr += ['106']
[1;4H[?12l[?25h[1;8H[?25l[24;1H[K[24;1H:let attr += ['106']
[1;8H[?12l[?25h[1;15H[?25l[24;1H[K[24;1H:let attr += ['68']
[1;15H[?12l[?25h[1;16H[?25l[24;1H[K[24;1H:let attr += ['68']
[1;16H[?12l[?25h[1;17H[?25l[24;1H[K[24;1H:let attr += ['68']
[1;17H[?12l[?25h[1;18H[?25l[24;1H[K[24;1H:let attr += ['68']
[1;18H[?12l[?25h[1;19H[?25l[24;1H[K[24;1H:let attr += ['68']
[1;19H[?12l[?25h[1;20H[1;20H[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', ['ScreenAttributes for test6:'])
[?25l[2;1HScreenAttributes [33mfor[m test6:[1m[34m¶[m[2;29H [1;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;2H[34m/*[m[1m[31m▕[1;5H—[1;6H—[1;7H—[1;8H▕[1;9H—[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[m[1;15H[34m and some more */[m[1m[34m¶[m[1;41H[7m|[m
ScreenAttributes [33mfor[m test6:[1m[34m¶[m[2;41H[7m|[m
Attribut [31m0[m and [31m1[m and [31m3[m and [31m5[m are differe[7m|[4;41H|[m
[1m[34m~ [m[1;42H[35m#define >_CONSOLE>---------->---[m[31m2[m[35m [m[2;42H[1m[34m+[m[35m [3;42H#define >_FILE_AND_CONSOLE>---------[m[31m3[m[35m [m[4;42H[1m[34m+[m[35m [m[24;1H[K[1;20H[?12l[?25h[?25l[24;1H:[?12l[?25hset cpo&vim linebreak selection=exclusive
[?25l[1;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 8: set linebreak with visual block mode and v_b_A and select
[23;80Hi[24;1Hon=exclusive and multibyte char"
[?25l[1;1H[L[1;2H[34m/*[m[1m[31m▕[1;5H—[1;6H—[1;7H—[1;8H▕[1;9H—[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[m[1;15H[34m and some more */[m[1m[34m¶[m[1;41H[7m|[m[35m#define >_CONSOLE>---------->---[m[31m2[m[35m [m[24;1H[K[1;20H[?12l[?25h[?25l[24;1H:[?12l[?25h$put =g:test
[?25l[4;1HTest [31m8[m: set linebreak with visual block [4;1H[?12l[?25h[4;1H[?25l[5;1H[32mlong[m line:[1m[31mˑ[m[1m[34m¶[m[5;13H [5;11H[?12l[?25h[?25l[1;1H[1m[34m¶[m[1;2H
[1m[34m¶[m[2;2H
[1m[34m¶[m[3;2H
[1m[34m¶[m[4;2H
oobar foobar foobar foobar foobar[1m[31mˑ[m[1m[34m¶[5;34H[?12l[?25h[?25l[m
foobar foobar TARGET[1m[34m¶[m[5;22H [5;21H[?12l[?25h[?25lÃ' at end[1m[34m¶[5;29H[?12l[?25h[5;29H[?25l[m[24;1H[K[24;1H:[?12l[?25hexe "norm! $3B\<C-v>eAx\<Esc>"
[?25l[5;22Hx' at end[1m[34m¶[5;15H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[5;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 9: a multibyte sign and colorcolumn"
[?25l[5;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet attr=[]
[?25l[5;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet attr2=[]
[?25l[5;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;1H [34m/*[m[1m[31m▕[1;5H—[1;6H—[1;7H—[1;8H▕[1;9H—[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[m[1;15H[34m and some more */[m[1m[34m¶[m[2;1HScreenAttributes [33mfor[m test6:[1m[34m¶[m[3;1HAttribut [31m0[m and [31m1[m and [31m3[m and [31m5[m are differe
Test [31m8[m: set linebreak with visual block
[32mlong[m line: foobar foobar foobar foobar f
[1m[34m¶[m[6;2H [6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='a b c'
[?25l[7;1Ha b c[1m[34m¶[m[7;7H [7;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='a b c'
[?25l[8;1Ha b c[1m[34m¶[m[8;7H [8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset list nolinebreak cc=3
[?25l[1;3H[34m[41m*[m
Sc[41mr
[mAt[41mt
[mTe[41ms[m[5;3H[32m[41mn[m[6;3H[41m
[ma [41mb
[ma [41mb[8;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsign define foo text=^+
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsign place 1 name=foo line=50 buffer=2
[?25l[1;1H[34m[47m [m [34m/[m[34m[41m*[m[1m[31m▕[1;7H—[1;8H—[1;9H—[1;10H▕[1;11H—[1;12H—[1;13H—[1;14H—[1;15H—[1;16H—[m[1;17H[34m and some more */[m[1m[34m¶[m[2;1H[34m[47m [mSc[41mr[meenAttributes [33mfor[m test6:[1m[34m¶[m[3;1H[34m[47m [mAt[41mt[mribut [31m0[m and [31m1[m and [31m3[m and [31m5[m are diff
[34m[47m [mTe[41ms[mt [31m8[m: set linebreak with visual bloc
[34m[47m [m[32mlo[m[32m[41mn[m[32mg[m line: foobar foobar foobar foobar
[34m[47m [m[1m[34m¶[m[6;5H[41m [m
+a [41mb[m c[1m[34m¶[m[8;1H[34m[47m [ma [41mb[m c[1m[34m¶[m[9;1H[34m[47m
[m[9;3H[1m[34m~[10;3H~[m[1;42H[34m[47m [m[35m#define >_CONSOLE>[8C-->---[m[31m2[m[2;42H[34m[47m [m[1m[34m+[m[35m [m[3;42H[34m[47m [m[35m#define >_FILE_AND_CONSOLE>[7C--[m[31m3[m[4;42H[34m[47m [m[1m[34m+[m[35m [m[5;42H[34m[47m [mbbeeeeee[11C ; some text[6;42H[34m[47m [7;42H [mTest [31m5[m: set linebreak list listchars [8;42H[34m[47m [m[1m[34m+[mand concealing part2[9;42H[34m[47m [meeeeee>--->-;>some text[10;42H[34m[47m [m[1m[34m+[8;3H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnorm! 2kztj
[?25l[1;1H[34m[47m [m[1m[34m¶[m[1;4H [41m [m
+a [41mb[m c[1m[34m¶[m[2;9H
[34m[47m [ma [41mb[m c[1m[34m¶[m[3;9H
[34m[47m [m[1m[34m~ [m
[34m[47m [m[1m[34m~ [m
[6;1H[34m[47m
[m[6;3H[1m[34m~ [7;3H~ [8;3H~ [9;3H~ [10;3H~ [m[24;1H[K[2;3H[?12l[?25h[?25l[24;1H:[?12l[?25hlet line1=line('.')
[?25l[2;3H[?12l[?25h[2;3H[?25l[24;1H[K[24;1H:let attr += ['0']
[2;3H[?12l[?25h[2;4H[?25l[24;1H[K[24;1H:let attr += ['0']
[2;4H[?12l[?25h[2;5H[?25l[24;1H[K[24;1H:let attr += ['91']
[2;5H[?12l[?25h[2;6H[?25l[24;1H[K[24;1H:let attr += ['0']
[2;6H[?12l[?25h[2;7H[3;7H[?25l[24;1H[K[24;1H:[?12l[?25hlet line2=line('.')
[?25l[3;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet attr2=attr
[?25l[3;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet attr=[]
[?25l[3;7H[?12l[?25h[3;3H[?25l[24;1H[K[24;1H:let attr += ['0']
[3;3H[?12l[?25h[3;4H[?25l[24;1H[K[24;1H:let attr += ['0']
[3;4H[?12l[?25h[3;5H[?25l[24;1H[K[24;1H:let attr += ['91']
[3;5H[?12l[?25h[3;6H[?25l[24;1H[K[24;1H:let attr += ['0']
[3;6H[?12l[?25h[3;7H[3;7H[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H[34m[47m [m[1m[34m¶[m[1;5H[41m [m[35C[7m|[m
+a [41mb[m c[1m[34m¶[m[2;41H[7m|[m
[34m[47m [ma [41mb[m c[1m[34m¶[m[3;41H[7m|[4;41H|[5;41H|[6;41H|[7;41H|[8;41H|[9;41H|[10;41H|[m[4;1H[34m[47m
[m[4;3H[1m[34m~ [5;3H~ [6;3H~ [7;3H~ [8;3H~ [9;3H~ [10;3H~ [m
[1m[7m[No Name] [+] [m[1;42H[34m[47m [m[35m#define >_CONSOLE>---------->---[m[31m2[m[35m [m[2;42H[34m[47m [m[1m[34m+[m[35m [m[3;42H[34m[47m [m[35m#define >_FILE_AND_CONSOLE>---------[m[31m3[m[4;42H[34m[47m [m[1m[34m+[m[35m [m[5;42H[34m[47m [mbbeeeeee[13C; some text[6;42H[34m[47m [7;42H [mTest [31m5[m: set linebreak list listchars[8;42H[34m[47m [m[1m[34m+[mand concealing part2[9;42H[34m[47m [meeeeee>--->-;>some text[10;42H[34m[47m [m[1m[34m+[m[11;42H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [3;7H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),3)
[?25l[3;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l[24;1H3 more lines[24;13H[K[4;3H[1m[34m¶[m[4;4H [41m [m [5;3HTe[41ms[mt [31m9[m: a multibyte sign and colorcolu[6;3H [41m¶[m[6;6H[1m[31mˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[m[7;3H+[41ma[m b c¶[7;11H[1m[31mˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[m[8;3H [41ma[m b c¶[8;11H[1m[31mˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[m[1;44Ha b c[1;49H[K[2;44H[K[3;44HTest [31m9[m: a multibyte sign and colorcol[4;45Humn[5;44H ¶[5;47H [13C [6;44H[1m[34m+[m[7;44H+a b c¶[7;52H [8;45H [8;49H[K[9;44H a b c¶[9;52H [3;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected: attr[2] is different because of colorcolumn
[?25l[3;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1H[34m[47m [m[1m[34m¶[m[1;5H[41m [m[35C[7m|[m
+a [41mb[m c[1m[34m¶[m[2;41H[7m|[m
[34m[47m [ma [41mb[m c[1m[34m¶[m[3;41H[7m|[m
[34m[47m [m[1m[34m¶[m[4;5H[41m [m[35C[7m|[m[9;3HSc[41mr[meen attributes are the same![1m[34m¶[m[9;35H [1;42H[34m[47m [ma b c[2;42H[34m[47m [3;42H [mTest [31m9[m: a multibyte sign and colorcol[4;42H[34m[47m [m[1m[34m+[mumn[24;1H[K[3;7H[?12l[?25h[?25l[24;1H:[?12l[?25h%w! test.out
[?25l"test.out" [24;12H[Kgcc -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
[24;12H[New File] 57 lines, 1882 characters written[11;1H[1m[7mtest.out] [m[27C[7mtest.out [3;7H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test54.in" 22 lines, 658 characters[1;1HSome 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.oo[9;1Hut
:else
: !rm -f test.out
: au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out
:endif
:e somefile[11C" here, autocommand for xx shall write test.out
:[21C" but autocommand shall not apply to buffer named <buffer>[16;1H:bwipe xx[13C" here, autocommand shall be auto-deleted
:e xx[17C" nothing shall be written
:e somefile[11C" nothing shall be written
:qa!
ENDTEST
start of test file xx
end of test file xx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HSome tests for buffer-local autocommands[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 15 lines, 555 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[20;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he xx
[?25l"xx" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hif has("vms")
[?25l
: [?12l[?25h: !del test.out.*
[?25l: [?12l[?25h: au BufLeave <buffer> :!write sys$output "buffer-local autommand in %" > te
[23;80Hs[24;1Ht.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=[24;1H
[?25l: :[?12l[?25h au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out
[?25l: [?12l[?25h:endif
[?25l[24;1H[K[24;1H:[?12l[?25he somefile " here, autocommand for xx shall write test.out
[?25l:!echo buffer-local autommand in xx>> test.out[24;47H[K[24;47H
[?12l[?25h[?25l[m"somefile" [New File]
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h " but autocommand shall not apply to buffer named <buffer
[23;80H>[24;1H[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hbwipe xx " here, autocommand shall be auto-deleted
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he xx " nothing shall be written
[?25l"xx" [New File][24;23H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he somefile " nothing shall be written
[?25l"somefile" [New File][24;23H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test17.in" 135 lines, 2431 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for:[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 27 lines, 564 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[10M[1;24r[14;1H:" 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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1H:"
:if has("unix")
:let $CDIR = "."
/CDIR[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[10L[?25l[1;1H: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':[14;56H[K[15;4H > nmake -f Make_dos.mak test17.out[15;39H[K[16;2Hw! test.out[16;13H[K[17;1Hgf[17;3H[K[18;1H:set ff=unix
:w! test.out
:brewind[20;9H[K[21;1HENDTEST[21;8H[K[22;1H[K[23;9H${CDIR}/test17a.in[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25h" Dummy writing for making that sure gf doesn't fail even if the current
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" file is modified. It can be occurred when executing the following command
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" directly on Windows without fixing the 'fileformat':
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" > nmake -f Make_dos.mak test17.out
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 135 lines, 2431 characters written[23;9H[?12l[?25h[?25l
"/<<PKGBUILDDIR>>/src/vim-basic/testdir/./test17a.in" 3 lines, 88
characters
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[2L[?25l[1;1HThis file is just to test "gf" in test 17.
The contents is not important.
Just testing!
[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ff=unix
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H3 lines, 88 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters[1;1H:" 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[4;39H[K[5;1H:w! test.out[5;13H[K[6;1Hgf[6;3H[K[7;1H:set ff=unix[7;13H[K[8;1H:w! test.out[8;13H[K[9;1H:brewind[9;9H[K[10;1HENDTEST[10;8H[K[11;1H[K[12;1H ${CDIR}/test17a.in[12;27H[K[13;1H $TDIR/test17a.in[13;25H[K[14;1H[K[15;1HSTARTTEST[15;10H[K[16;1H:" check for 'include' without \zs or \ze[16;42H[K[17;1H:lang C[17;8H[K[18;1H:call delete("./Xbase.a")[18;26H[K[19;1H:call delete("Xdir1", "rf")[19;28H[K[20;1H:!mkdir Xdir1[20;14H[K[21;1H:!mkdir "Xdir1/dir2"[21;21H[K[22;1H:e! Xdir1/dir2/foo.a[22;21H[K[23;1Hi#include "bar.a"[34m^[[m:[23;23H[K[12;8H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H23 lines, 396 characters written[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[16;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:e Xdir1/dir2/baz.a
i#include[12C"foo.a"[34m^[[m:
:w
:e Xbase.a
:set path=Xdir1/dir2
i#include <foo.a>[34m^[[m:
: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" check for 'include' without \zs or \ze
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang C
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("./Xbase.a")
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir Xdir1
[?25l[13C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[20C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25he! Xdir1/dir2/foo.a
[?25l"Xdir1/dir2/foo.a" [New File][27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m#include "bar.a"[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;18H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/foo.a" [New File] 1 line, 19 characters written[1;18H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/bar.a
[?25l"Xdir1/dir2/bar.a" [New File][1;1H[K[1;1H[?12l[?25h[?25l#include "baz.a"[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/bar.a" [New File] 1 line, 22 characters written[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/baz.a
[?25l"Xdir1/dir2/baz.a" [New File][1;1H[K[1;1H[?12l[?25h[?25l#include[12C"foo.a"[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;27H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/baz.a" [New File] 1 line, 28 characters written[1;27H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xbase.a
[?25l"Xbase.a" [New File][1;1H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset path=Xdir1/dir2
[?25l[1;1H[?12l[?25h[?25l#include <foo.a>[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xbase.a" [New File] 1 line, 20 characters written[1;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir! >>test.out
[?25l[1;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcheckpath!
[?25l[24;1H[K[24;1H[35m--- Included files in path ---[m
[34mXdir1/dir2/foo.a[m
Xdir1/dir2/foo.a -->
[34mXdir1/dir2/bar.a[m
Xdir1/dir2/bar.a -->
[34mXdir1/dir2/baz.a[m
Xdir1/dir2/baz.a -->
[34m"foo.a"[m (Already listed)
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[8L[1;1H#include <foo.a>
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[24;1H[K[1;19H[?12l[?25h[?25l[24;1H:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters[1;1Hi#include "foo.a"[34m^[[m:
:w[2;3H[K[3;1H:e Xbase.a[3;11H[K[4;1H:set path=Xdir1/dir2[4;21H[K[5;1Hi#include <foo.a>[34m^[[m:[5;24H[K[6;1H:w[6;3H[K[7;1H:redir! >>test.out[7;19H[K[8;1H:checkpath![8;12H[K[9;1H:redir END[9;11H[K[10;1H:brewind[10;9H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1HSTARTTEST[13;10H[K[14;1H:" check for 'include' with \zs and \ze[14;40H[K[15;1H:call delete("./Xbase.b")[15;26H[K[16;1H:call delete("Xdir1", "rf")[16;28H[K[17;1H:!mkdir Xdir1[17;14H[K[18;1H:!mkdir "Xdir1/dir2"[18;21H[K[19;1H:let &include='^\s*%inc\s*/\zs[^/]\+\ze'[19;41H[K[20;1H:function! DotsToSlashes()[20;27H[K[21;1H: return substitute(v:fname, '\.', '/', 'g') . '.b'[21;53H[K[22;1H:endfunction[22;13H[K[23;1H:let &includeexpr='DotsToSlashes()'[23;36H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H27 lines, 532 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:e Xdir1/dir2/baz.b
i%inc[12C/foo/[34m^[[m:
:w
:e Xbase.b
:set path=Xdir1/dir2
i%inc /foo/[34m^[[m:
: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][12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" check for 'include' with \zs and \ze
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("./Xbase.b")
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir Xdir1
[?25l[13C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[20C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25hlet &include='^\s*%inc\s*/\zs[^/]\+\ze'
[?25l[27m[23m[m[H[2J[1;1H:e Xdir1/dir2/baz.b
i%inc[12C/foo/[34m^[[m:
:w
:e Xbase.b
:set path=Xdir1/dir2
i%inc /foo/[34m^[[m:
: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][13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfunction! DotsToSlashes()
[?25l
: [?12l[?25h: return substitute(v:fname, '\.', '/', 'g') . '.b'
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1H:e Xdir1/dir2/baz.b
i%inc[12C/foo/[34m^[[m:[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet &includeexpr='DotsToSlashes()'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xdir1/dir2/foo.b
[?25l"Xdir1/dir2/foo.b" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m%inc /bar/[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/foo.b" [New File] 1 line, 13 characters written[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/bar.b
[?25l"Xdir1/dir2/bar.b" [New File][1;1H[K[1;1H[?12l[?25h[?25l%inc /baz/[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/bar.b" [New File] 1 line, 16 characters written[1;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/baz.b
[?25l"Xdir1/dir2/baz.b" [New File][1;1H[K[1;1H[?12l[?25h[?25l%inc[12C/foo/[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/baz.b" [New File] 1 line, 22 characters written[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xbase.b
[?25l"Xbase.b" [New File][1;1H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset path=Xdir1/dir2
[?25l[1;1H[?12l[?25h[?25l%inc /foo/[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xbase.b" [New File] 1 line, 14 characters written[1;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir! >>test.out
[?25l[1;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcheckpath!
[?25l[24;1H[K[24;1H[35m--- Included files in path ---[m
[34mXdir1/dir2/foo.b[m
Xdir1/dir2/foo.b -->
[34mXdir1/dir2/bar.b[m
Xdir1/dir2/bar.b -->
[34mXdir1/dir2/baz.b[m
Xdir1/dir2/baz.b -->
[34mfoo[m (Already listed)
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[8L[1;1H%inc /foo/
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[24;1H[K[1;13H[?12l[?25h[?25l[24;1H:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters[1;1Hi%inc /foo/[34m^[[m:
:w[2;3H[K[3;1H:e Xbase.b[3;11H[K[4;1H:set path=Xdir1/dir2[4;21H[K[5;1Hi%inc /foo/[34m^[[m:[5;18H[K[6;1H:w[6;3H[K[7;1H:redir! >>test.out[7;19H[K[8;1H:checkpath![8;12H[K[9;1H:redir END[9;11H[K[10;1H:brewind[10;9H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1HSTARTTEST[13;10H[K[14;1H:" check for 'include' with \zs and no \ze[14;43H[K[15;1H:call delete("./Xbase.c")[15;26H[K[16;1H:call delete("Xdir1", "rf")[16;28H[K[17;1H:!mkdir Xdir1[17;14H[K[18;1H:!mkdir "Xdir1/dir2"[18;21H[K[19;1H:let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'[19;73H[K[20;1H:function! StripNewlineChar()[20;30H[K[21;1H: if v:fname =~ '\n$'[21;23H[K[22;1H: return v:fname[:-2][22;25H[K[23;1H: endif[23;9H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H39 lines, 745 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:w
:e Xdir1/dir2/baz.c
i%inc[12Cfoo.c[34m^[[m:
:w
:e Xdir1/dir2/FALSE.c
i%inc[12Cfoo.c[34m^[[m:
:w
:e Xbase.c
:set path=Xdir1/dir2
i%inc FALSE.c foo.c[34m^[[m:
: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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" check for 'include' with \zs and no \ze
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("./Xbase.c")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir Xdir1
[?25l[13C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[20C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25hlet &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'
[?25l[27m[23m[m[H[2J[1;1H:w
:e Xdir1/dir2/baz.c
i%inc[12Cfoo.c[34m^[[m:
:w
:e Xdir1/dir2/FALSE.c
i%inc[12Cfoo.c[34m^[[m:
:w
:e Xbase.c
:set path=Xdir1/dir2
i%inc FALSE.c foo.c[34m^[[m:
: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
[1;1H[5L[?25l[1;1H:w
:e Xdir1/dir2/baz.c
i%inc[12Cfoo.c[34m^[[m:
:w
:e Xdir1/dir2/FALSE.c[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet &includeexpr='StripNewlineChar()'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xdir1/dir2/foo.c
[?25l"Xdir1/dir2/foo.c" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m%inc bar.c[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/foo.c" [New File] 1 line, 13 characters written[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/bar.c
[?25l"Xdir1/dir2/bar.c" [New File][1;1H[K[1;1H[?12l[?25h[?25l%inc baz.c[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/bar.c" [New File] 1 line, 16 characters written[1;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/baz.c
[?25l"Xdir1/dir2/baz.c" [New File][1;1H[K[1;1H[?12l[?25h[?25l%inc[12Cfoo.c[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/baz.c" [New File] 1 line, 22 characters written[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/FALSE.c
[?25l"Xdir1/dir2/FALSE.c" [New File][1;1H[K[1;1H[?12l[?25h[?25l%inc[12Cfoo.c[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/FALSE.c" [New File] 1 line, 22 characters written[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xbase.c
[?25l"Xbase.c" [New File][1;1H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset path=Xdir1/dir2
[?25l[1;1H[?12l[?25h[?25l%inc FALSE.c foo.c[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xbase.c" [New File] 1 line, 22 characters written[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir! >>test.out
[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcheckpath!
[?25l[24;1H[K[24;1H[35m--- Included files in path ---[m
[34mXdir1/dir2/foo.c[m
Xdir1/dir2/foo.c -->
[34mXdir1/dir2/bar.c[m
Xdir1/dir2/bar.c -->
[34mXdir1/dir2/baz.c[m
Xdir1/dir2/baz.c -->
[34mfoo.c[m (Already listed)
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[8L[1;1H%inc FALSE.c foo.c
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[24;1H[K[1;21H[?12l[?25h[?25l[24;1H:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters[1;1H:w[1;3H[K[2;1H:e Xdir1/dir2/baz.c[2;20H[K[3;1Hi%inc foo.c[34m^[[m:[3;26H[K[4;1H:w[4;3H[K[5;1H:e Xdir1/dir2/FALSE.c[5;22H[K[6;1Hi%inc foo.c[34m^[[m:[6;26H[K[7;1H:w[7;3H[K[8;1H:e Xbase.c[8;11H[K[9;1H:set path=Xdir1/dir2[9;21H[K[10;1Hi%inc FALSE.c foo.c[34m^[[m:[10;26H[K[11;1H:w[11;3H[K[12;1H:redir! >>test.out[12;19H[K[13;1H:checkpath![13;12H[K[14;1H:redir END[14;11H[K[15;1H:brewind[15;9H[K[16;1H:" change "\" to "/" for Windows and fix 'fileformat'[16;54H[K[17;1H:e test.out[17;12H[K[18;1H:%s#\\#/#g[18;11H[K[19;1H:set ff&[19;9H[K[20;1H:w[20;3H[K[21;1H:q[21;3H[K[22;1HENDTEST[22;8H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" change "\" to "/" for Windows and fix 'fileformat'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he test.out
[?25l"test.out" 33 lines, 655 characters[1;1HThis file is just to test "gf" in test 17.
The contents is not important.
Just testing![3;18H[K[4;1H[K[5;1H[K[6;1H--- Included files in path ---
Xdir1/dir2/foo.a
Xdir1/dir2/foo.a -->
Xdir1/dir2/bar.a[9;19H[K[10;1H Xdir1/dir2/bar.a -->[10;23H[K[11;1H Xdir1/dir2/baz.a
Xdir1/dir2/baz.a -->
"foo.a" (Already listed)[14;1H[K[15;1H[K[16;1H--- Included files in path ---[16;31H[K[17;1HXdir1/dir2/foo.b
Xdir1/dir2/foo.b -->
Xdir1/dir2/bar.b
Xdir1/dir2/bar.b -->
Xdir1/dir2/baz.b
Xdir1/dir2/baz.b -->[23;7Hfoo (Already listed)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%s#\\#/#g
[?25l[1m[37m[41mE486: Pattern not found: \\[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ff&
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" 33 lines, 655 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test30.in" 237 lines, 3762 characters[1;1HTest 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[34m^[[m
:$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.[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for a lot of variations of the 'fileformats' option[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 221 lines, 3592 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$r XXtt64
Go7[34m^[[m:$r XXtt71
:$r XXtt72
Go8[34m^[[m:$r XXtt81
:$r XXtt82
Go9[34m^[[m:$r XXtt91
:$r XXtt92
:$r XXtt93
Go10[34m^[[m:$r XXUnix
:set nobinary ff&
:w
:qa!
ENDTEST
unix
unix
eof
dos[34m^M[m
dos[34m^M[m
eof
mac[34m^M[mmac[34m^M[13;1H[?12l[?25h
[?25l[24;1H[m:so! Xdotest
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" first write three test files, one in each format
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformat=unix
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^unix/;/eof/-1w! XXUnix
[?25l"XXUnix" [24;10H[K[24;10H[New File] 2 lines, 10 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^dos/;/eof/-1w! XXDos
[?25l"XXDos" [24;9H[K[24;9H[New File] 2 lines, 10 characters written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin noeol
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! XXMac
[?25l"XXMac" [24;9H[K[24;9H[New File][Incomplete last line] 1 line, 8 characters written[19;1H[?12l[?25h[23;1H[?25l[1;23r[23;1H
[1;24r[23;1Hnoeol[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$w! XXEol
[?25l"XXEol" [24;9H[K[24;9H[New File][Incomplete last line] 1 line, 5 characters written[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nobin eol
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25henew!
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l3 buffers wiped out[24;21H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" create mixed format files
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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=[24;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=[24;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=[24;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=[24;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=[24;1H
[?25l: :[?12l[?25hendif
[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h" try reading and writing with 'fileformats' empty
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformat=unix
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUnix
[?25l"XXUnix" [24;10H[K[24;10H2 lines, 10 characters[1;1Hunix
unix[2;5H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 2 lines, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXDos
[?25l"XXDos" [24;9H[K[24;9H2 lines, 10 characters[1;1Hdos[34m^M[m
dos[34m^M[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt01
[?25l"XXtt01" [24;10H[K[24;10H[New File] 2 lines, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXMac
[?25l"XXMac" [24;9H[K[24;9H[Incomplete last line] 1 line, 8 characters[1;1Hmac[2Cmac[34m^M[m
[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt02
[?25l"XXtt02" [24;10H[K[24;10H[New File] 1 line, 9 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters
3 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fileformat=dos
[?25l[1;1H[2L[1;1H:$r XXtt64
Go7[34m^[[m:$r XXtt71
:$r XXtt72[3;11H[K[4;1HGo8[34m^[[m:$r XXtt81[4;16H[K[5;1H:$r XXtt82[5;11H[K[6;1HGo9[34m^[[m:$r XXtt91[6;16H[K[7;1H:$r XXtt92[7;11H[K[8;1H:$r XXtt93[8;11H[K[9;1HGo10[34m^[[m:$r XXUnix[9;17H[K[10;1H:set nobinary ff&[10;18H[K[11;1H:w[11;3H[K[12;1H:qa![12;5H[K[13;1HENDTEST[13;8H[K[14;1H[K[15;1Hunix[15;5H[K[16;1Hunix[16;5H[K[17;1Heof[17;4H[K[18;1H[K[19;1Hdos[34m^M[m[19;6H[K[20;1Hdos[34m^M[m[20;6H[K[21;1Heof[21;4H[K[22;1H[K[23;1Hmac[34m^M[mmac[34m^M[m[23;11H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25he! XXUnix
[?25l"XXUnix" [24;10H[K[24;10H[CR missing][dos format] 2 lines, 10 characters[1;1Hunix[1;5H[K[2;1Hunix[2;5H[K[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt11
[?25l"XXtt11" [24;10H[K[24;10H[New File][dos format] 2 lines, 12 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXDos
[?25l"XXDos" [24;9H[K[24;9H[dos format] 2 lines, 10 characters[1;1Hdos[1;4H[K[2;1Hdos[2;4H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXtt12
[?25l"XXtt12" [24;10H[K[24;10H[New File][dos format] 2 lines, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXMac
[?25l"XXMac" [24;9H[K[24;9H[Incomplete last line][dos format] 1 line, 8 characters[1;1Hmac[34m^M[mmac[34m^M[m
[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt13
[?25l"XXtt13" [24;10H[K[24;10H[New File][dos format] 1 line, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters
3 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fileformat=mac
[?25l[1;1H[2L[1;1H:$r XXtt64
Go7[34m^[[m:$r XXtt71
:$r XXtt72[3;11H[K[4;1HGo8[34m^[[m:$r XXtt81[4;16H[K[5;1H:$r XXtt82[5;11H[K[6;1HGo9[34m^[[m:$r XXtt91[6;16H[K[7;1H:$r XXtt92[7;11H[K[8;1H:$r XXtt93[8;11H[K[9;1HGo10[34m^[[m:$r XXUnix[9;17H[K[10;1H:set nobinary ff&[10;18H[K[11;1H:w[11;3H[K[12;1H:qa![12;5H[K[13;1HENDTEST[13;8H[K[14;1H[K[15;1Hunix[15;5H[K[16;1Hunix[16;5H[K[17;1Heof[17;4H[K[18;1H[K[19;1Hdos[19;4H[K[20;1Hdos[20;4H[K[21;1Heof[21;4H[K[22;1H[K[23;1Hmac[34m^J[mmac[23;9H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25he! XXUnix
[?25l"XXUnix" [24;10H[K[24;10H[Incomplete last line][mac format] 1 line, 10 characters[1;1Hunix[34m^J[munix[34m^J[m
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt21
[?25l"XXtt21" [24;10H[K[24;10H[New File][mac format] 1 line, 11 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXDos
[?25l"XXDos" [24;9H[K[24;9H[Incomplete last line][mac format] 3 lines, 10 characters[1;1Hdos[1;4H[K[2;1H[34m^J[mdos[2;6H[K[3;1H[34m^J[m[3;3H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXtt22
[?25l"XXtt22" [24;10H[K[24;10H[New File][mac format] 3 lines, 11 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXMac
[?25l"XXMac" [24;9H[K[24;9H[mac format] 2 lines, 8 characters[1;1Hmac
mac[2;4H[K[3;1H[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt23
[?25l"XXtt23" [24;10H[K[24;10H[New File][mac format] 2 lines, 8 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" [24;13H[K[24;13H[Incomplete last line][mac format] 5 lines, 3762 characters
3 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[2L[1;1H[34m^J[mdos
[34m^J[meof[34m^J^J[mmac
mac[3;4H[K[4;1H[34m^J[m[4;3H[K[24;1H[K[4;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" try reading and writing with 'fileformats' set to one format
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=unix
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;5H[K[2;1Hunix[2;5H[K[3;1Hdos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m[5;11H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXtt31
[?25l"XXtt31" [24;10H[K[24;10H[New File] 5 lines, 29 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=dos
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line][CR missing][dos format] 5 lines, 28 character
[23;80Hs[24;1H
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt32
[?25l"XXtt32" [24;10H[K[24;10H[New File][dos format] 5 lines, 32 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters[1;1H[3L[1;1HTest for a lot of variations of the 'fileformats' option
Note: This test will fail if "cat" is not available.[24;1H[K[24;1H"test30.in" [CR missing][dos format] 237 lines, 3762 characters[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=mac
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[mac format] 4 lines, 28 characters[1;1Hunix[34m^J[munix[34m^J[mdos[1;16H[K[2;1H[34m^J[mdos
[34m^J[mmac[3;7H[K[4;1Hmac
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt33
[?25l"XXtt33" [24;10H[K[24;10H[New File][mac format] 4 lines, 28 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H[Incomplete last line][mac format] 5 lines, 3762 characters[1;1H[34m^J[mdos[1;6H[K[2;3Heof[34m^J^J[mmac
mac[3;4H[K[4;1H[34m^J[m[4;3H[K[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" try reading and writing with 'fileformats' set to two formats
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=unix,dos
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;5H[K[2;1Hunix[2;5H[K[3;1Hdos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m[5;11H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXtt41
[?25l"XXtt41" [24;10H[K[24;10H[New File] 5 lines, 29 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxMac
[?25l"XXUxMac" [24;11H[K[24;11H[Incomplete last line] 3 lines, 18 characters[1;1Hunix[1;6H[K[2;1Hunix
mac[34m^M[mmac[34m^M[m[3;12H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt42
[?25l"XXtt42" [24;10H[K[24;10H[New File] 3 lines, 19 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxMac
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXDosMac
[?25l"XXDosMac" [24;12H[K[24;12H[Incomplete last line][dos format] 3 lines, 18 characters[1;1Hdo[1;4H[K[2;1Hdos
mac[34m^M[mmac[34m^M[m[3;12H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt43
[?25l"XXtt43" [24;10H[K[24;10H[New File][dos format] 3 lines, 20 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXDosMac
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=unix,mac
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDs
[?25l"XXUxDs" [24;10H[K[24;10H4 lines, 20 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt51
[?25l"XXtt51" [24;10H[K[24;10H[New File] 4 lines, 20 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDs
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt52
[?25l"XXtt52" [24;10H[K[24;10H[New File] 5 lines, 29 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXDosMac
[?25l"XXDosMac" [24;12H[K[24;12H[mac format] 4 lines, 18 characters[1;1Hdo[1;4H[K[2;1H[34m^J[mdos
[34m^J[mmac[3;7H[K[4;1Hmac
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt53
[?25l"XXtt53" [24;10H[K[24;10H[New File][mac format] 4 lines, 18 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXDosMac
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXEol
[?25l"XXEol" [24;9H[K[24;9H[Incomplete last line] 1 line, 5 characters[1;1Hnoeol[1;6H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H=[?12l[?25h&ffs
[?25l[24;1H[K[24;1H=[?12l[?25h&ff
[?25l[1;23r[1;1H[L[1;24r[1;1Hunix,mac:unix[24;1H[K[1;13H[?12l[?25h[?25l[24;1H:[?12l[?25hw! XXtt54
[?25l"XXtt54" [24;10H[K[24;10H[New File] 2 lines, 20 characters written[1;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[3;53H[K[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=dos,mac
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDs
[?25l"XXUxDs" [24;10H[K[24;10H[CR missing][dos format] 4 lines, 20 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[3;4H[K[4;1Hdos
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt61
[?25l"XXtt61" [24;10H[K[24;10H[New File][dos format] 4 lines, 22 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDs
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxMac
[?25l"XXUxMac" [24;11H[K[24;11H[Incomplete last line][CR missing][dos format] 3 lines, 18 characters[1;1Hunix[1;6H[K[2;1Hunix
mac[34m^M[mmac[34m^M[m[3;12H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H=[?12l[?25h&ffs
[?25l[24;1H[K[24;1H=[?12l[?25h&ff
[?25l[1;23r[1;1H[L[1;24r[1;1Hdos,mac:dos[24;1H[K[1;11H[?12l[?25h[?25l[24;1H:[?12l[?25hw! XXtt62
[?25l"XXtt62" [24;10H[K[24;10H[New File][dos format] 4 lines, 35 characters written[1;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxMac
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line][CR missing][dos format] 5 lines, 28 character
[23;80Hs[24;1H
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt63
[?25l"XXtt63" [24;10H[K[24;10H[New File][dos format] 5 lines, 32 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters[1;1H[3L[1;1HTest for a lot of variations of the 'fileformats' option
Note: This test will fail if "cat" is not available.[24;1H[K[24;1H"test30.in" [CR missing][dos format] 237 lines, 3762 characters[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXMacEol
[?25l"XXMacEol" [24;12H[K[24;12H[Incomplete last line][mac format] 3 lines, 13 characters[1;1Hmac[1;4H[K[2;1Hmac
noeol[3;7H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H=[?12l[?25h&ffs
[?25l[24;1H[K[24;1H=[?12l[?25h&ff
[?25l[1;23r[1;1H[L[1;24r[1;1Hdos,mac:mac[24;1H[K[1;11H[?12l[?25h[?25l[24;1H:[?12l[?25hw! XXtt64
[?25l"XXtt64" [24;10H[K[24;10H[New File][mac format] 4 lines, 26 characters written[1;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXMacEol
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" try reading and writing with 'fileformats' set to three formats
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=unix,dos,mac
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt71
[?25l"XXtt71" [24;10H[K[24;10H[New File] 5 lines, 29 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXEol
[?25l"XXEol" [24;9H[K[24;9H[Incomplete last line] 1 line, 5 characters[1;1Hnoeol[1;6H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H=[?12l[?25h&ffs
[?25l[24;1H[K[24;1H=[?12l[?25h&ff
[?25l[1;23r[1;1H[L[1;24r[1;1Hunix,dos,mac:unix[24;1H[K[1;17H[?12l[?25h[?25l[24;1H:[?12l[?25hw! XXtt72
[?25l"XXtt72" [24;10H[K[24;10H[New File] 2 lines, 24 characters written[1;17H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[3;53H[K[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=mac,dos,unix
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt81
[?25l"XXtt81" [24;10H[K[24;10H[New File] 5 lines, 29 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXEol
[?25l"XXEol" [24;9H[K[24;9H[Incomplete last line][mac format] 1 line, 5 characters[1;1Hnoeol[1;6H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H=[?12l[?25h&ffs
[?25l[24;1H[K[24;1H=[?12l[?25h&ff
[?25l[1;23r[1;1H[L[1;24r[1;1Hmac,dos,unix:mac[24;1H[K[1;16H[?12l[?25h[?25l[24;1H:[?12l[?25hw! XXtt82
[?25l"XXtt82" [24;10H[K[24;10H[New File][mac format] 2 lines, 23 characters written[1;16H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[3;53H[K[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" try with 'binary' set
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=mac,unix,dos
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset binary
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt91
[?25l"XXtt91" [24;10H[K[24;10H[New File][Incomplete last line] 5 lines, 28 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=mac
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt92
[?25l"XXtt92" [24;10H[K[24;10H[New File][Incomplete last line] 5 lines, 28 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=dos
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt93
[?25l"XXtt93" [24;10H[K[24;10H[New File][Incomplete last line] 5 lines, 28 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Append "END" to each file so that we can see what the last written char was.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformat=unix nobin
[?25l[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[24;1H--No lines in buffer--[24;23H[K[1;1H[?12l[?25h[?25lEND[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt01
[?25l"XXtt01" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt02
[?25l"XXtt02" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt11
[?25l"XXtt11" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt12
[?25l"XXtt12" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt13
[?25l"XXtt13" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt21
[?25l"XXtt21" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt22
[?25l"XXtt22" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt23
[?25l"XXtt23" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt31
[?25l"XXtt31" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt32
[?25l"XXtt32" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt33
[?25l"XXtt33" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt41
[?25l"XXtt41" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt42
[?25l"XXtt42" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt43
[?25l"XXtt43" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt51
[?25l"XXtt51" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt52
[?25l"XXtt52" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt53
[?25l"XXtt53" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt54
[?25l"XXtt54" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt61
[?25l"XXtt61" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt62
[?25l"XXtt62" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt63
[?25l"XXtt63" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt64
[?25l"XXtt64" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt71
[?25l"XXtt71" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt72
[?25l"XXtt72" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt81
[?25l"XXtt81" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt82
[?25l"XXtt82" [24;10H[Kgcc -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
[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt91
[?25l"XXtt91" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt92
[?25l"XXtt92" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt93
[?25l"XXtt93" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Concatenate the results.
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make fileformat of test.out the native fileformat.
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Add a newline at the end.
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset binary
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H2 lines, 10 characters[1;1Hunix
unix[2;5H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt01
[?25l"XXtt01" [24;10H[K[24;10H3 lines, 14 characters[3;1Hdos[34m^M[m[3;6H[K[4;1Hdos[34m^M[m[4;6H[K[5;1HEND[5;4H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt02
[?25l"XXtt02" [24;10H[K[24;10H2 lines, 13 characters[6;1Hmac[34m^M[mmac[34m^M[m[6;11H[K[7;1HEND[7;4H[K[6;1H[?12l[?25h
[?25l
1[8;2H[K[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt11
[?25l"XXtt11" [24;10H[K[24;10H3 lines, 16 characters[9;1Hunix[34m^M[m[9;7H[K[10;1Hunix[34m^M[m[10;7H[K[11;1HEND[11;4H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt12
[?25l"XXtt12" [24;10H[K[24;10H3 lines, 14 characters[12;1Hdos[34m^M[m[12;6H[K[13;1Hdos[34m^M[m[13;6H[K[14;1HEND[14;4H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt13
[?25l"XXtt13" [24;10H[K[24;10H2 lines, 14 characters[15;1Hmac[34m^M[mmac[34m^M^M[m[15;13H[K[16;1HEND[16;4H[K[15;1H[?12l[?25h
[?25l
2[17;2H[K[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt21
[?25l"XXtt21" [24;10H[K[24;10H3 lines, 15 characters[18;1Hunix[18;5H[K[19;1Hunix[19;5H[K[20;1H[34m^M[mEND[20;6H[K[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt22
[?25l"XXtt22" [24;10H[K[24;10H3 lines, 15 characters[21;1Hdos[34m^M[m[21;6H[K[22;1Hdos[34m^M[m[22;6H[K[23;1H[34m^M[mEND[23;6H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt23
[?25l"XXtt23" [24;10H[K[24;10H1 line, 12 characters[1;23r[23;1H
[1;24r[23;1Hmac[34m^M[mmac[34m^M[mEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H3[?12l[?25h[?25l
:[?12l[?25h$r XXtt31
[?25l"XXtt31" [24;10H[K[24;10H6 lines, 33 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt32
[?25l"XXtt32" [24;10H[K[24;10H6 lines, 36 characters[1;23r[1;1H[6M[1;24r[18;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m
END
unix[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt33
[?25l"XXtt33" [24;10H[K[24;10H5 lines, 32 characters[1;23r[1;1H[6M[1;24r[18;1Hunix[34m^M[m
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M^M[m
END
unix[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[20;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[mEND
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H4[?12l[?25h[?25l
:[?12l[?25h$r XXtt41
[?25l"XXtt41" [24;10H[K[24;10H6 lines, 33 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt42
[?25l"XXtt42" [24;10H[K[24;10H4 lines, 23 characters[1;23r[1;1H[6M[1;24r[18;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m
END
unix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt43
[?25l"XXtt43" [24;10H[K[24;10H4 lines, 24 characters[1;23r[1;1H[4M[1;24r[20;1Hunix
mac[34m^M[mmac[34m^M[m
END
dos[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M^M[m
END
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H5[?12l[?25h[?25l
:[?12l[?25h$r XXtt51
[?25l"XXtt51" [24;10H[K[24;10H5 lines, 24 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt52
[?25l"XXtt52" [24;10H[K[24;10H6 lines, 33 characters[1;23r[1;1H[5M[1;24r[19;1Hunix
dos[34m^M[m
dos[34m^M[m
END
unix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt53
[?25l"XXtt53" [24;10H[K[24;10H3 lines, 22 characters[1;23r[1;1H[6M[1;24r[18;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m
END
dos[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt54
[?25l"XXtt54" [24;10H[K[24;10H3 lines, 24 characters[1;23r[1;1H[3M[1;24r[21;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[mEND
unix,mac:unix[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hnoeol
END
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H6[?12l[?25h[?25l
:[?12l[?25h$r XXtt61
[?25l"XXtt61" [24;10H[K[24;10H5 lines, 26 characters[1;23r[23;1H
[1;24r[23;1Hunix[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt62
[?25l"XXtt62" [24;10H[K[24;10H5 lines, 39 characters[1;23r[1;1H[5M[1;24r[19;1Hunix[34m^M[m
dos[34m^M[m
dos[34m^M[m
END
dos,mac:dos[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt63
[?25l"XXtt63" [24;10H[K[24;10H6 lines, 36 characters[1;23r[1;1H[5M[1;24r[19;1Hunix[34m^M[m
unix[34m^M[m
mac[34m^M[mmac[34m^M^M[m
END
unix[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt64
[?25l"XXtt64" [24;10H[K[24;10H1 line, 30 characters[1;23r[1;1H[6M[1;24r[18;1Hunix[34m^M[m
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M^M[m
END
dos,mac:mac[34m^M[mmac[34m^M[mmac[34m^M[mnoeol[34m^M[mEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H7[?12l[?25h[?25l
:[?12l[?25h$r XXtt71
[?25l"XXtt71" [24;10H[K[24;10H6 lines, 33 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt72
[?25l"XXtt72" [24;10H[K[24;10H3 lines, 28 characters[1;23r[1;1H[6M[1;24r[18;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m
END
unix,dos,mac:unix[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hnoeol
END
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H8[?12l[?25h[?25l
:[?12l[?25h$r XXtt81
[?25l"XXtt81" [24;10H[K[24;10H6 lines, 33 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt82
[?25l"XXtt82" [24;10H[K[24;10H1 line, 27 characters[1;23r[1;1H[6M[1;24r[18;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m
END
mac,dos,unix:mac[34m^M[mnoeol[34m^M[mEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H9[?12l[?25h[?25l
:[?12l[?25h$r XXtt91
[?25l"XXtt91" [24;10H[K[24;10H5 lines, 32 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt92
[?25l"XXtt92" [24;10H[K[24;10H5 lines, 32 characters[1;23r[1;1H[5M[1;24r[19;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[mEND
unix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt93
[?25l"XXtt93" [24;10H[K[24;10H5 lines, 32 characters[1;23r[1;1H[5M[1;24r[19;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[mEND
unix[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[20;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[mEND
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H10[?12l[?25h[?25l
:[?12l[?25h$r XXUnix
[?25l"XXUnix" [24;10H[K[24;10H2 lines, 10 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset nobinary ff&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" 130 lines, 786 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test32.in" 60 lines, 1391 characters[1;1HTest 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)[11;1H: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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for insert expansion[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:so small.vim[24;1H[K[23;1H[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 27 lines, 533 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1HO[34m^N^[[mIX[34m^[[mA[34m^X^F^N^[[m
:" 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[34m^X^F^H^H^H^H^H^H^H^H^X^F^[[mddk
:se cpt=w
OST[34m^N^P^P^P^P^[[m
:se cpt=u nohid
[34m^W[moOEN[34m^N[m
unl[34m^N^X^X^P^[[m
:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch
O[34m^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D[m
a[34m^N^[[m
:wq! test.out
ENDTEST
start of testfile
run1
run2
end of testfile
test11 36Gepeto[8C/Tag/
asd test11file 36G
Makefile[8Cto run[14;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hse nocp viminfo+=nviminfo cpt=.,w ff=unix | $-2,$w!Xtestfile | set ff&
[?25l"Xtestfile" [24;13H[K[24;13H[New] 3L, 57C written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hse cot=
[?25l[15;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1Hunl[34m^N^X^X^P^[[m
:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch
O[34m^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D[m
a[34m^N^[[m[16;7H[K[17;1H:wq! test.out
ENDTEST[19;1H[K[20;1Hstart of testfile
run1[21;5H[K[22;1Hrun2[22;9H[K[23;1H[7mtest32.in [1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --
-- Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Keyword completion (^N^P) [m[32mmatch 1 of 4[2;3H[m[24;29H[K[24;1Hmatch in file test32.in[1m^[m[24;24H[K[24;1H[1m-- Keyword completion (^N^P) [m[32mmatch 2 of 4[2;5H[m[24;29H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mAdding Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Adding Keyword completion (^N^P) Word from other line[2;10H[1;11r[m[1;1H[2L[1;24r[1;1H#include "Xtestfile"
run1 run2[12;11H[1m[7m[+][2;10H[?12l[?25h[m[24;1H[K[?25l[24;1H[1m-- Adding Keyword completion (^N^P) Word from other line[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[2;9H[?12l[?25h[?25l3[?12l[?25h
[?25l[24;1H[1m-- INSERT --
-- Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1H[1m-- Keyword completion (^N^P) [m[32mmatch 1 of 115[3;5H[m[24;29H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mAdding Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1H[1m-- Adding Keyword completion (^N^P) Word from other line[3;10H[m[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mKeyword Local completion (^N^P) -- Searching...[m[24;36H[32mmatch 1 of 4[m[1m.[m[24;48H[K[4;5H[24;35H[K[24;35H[1m [m[32mmatch 2 of 4[4;5H[m[24;35H[K[24;35H[1m [m[32mmatch 3 of 4[4;10H[m[24;35H[K[24;35H[1m [m[32mmatch 4 of 4[4;8H[m[24;35H[K[24;35H[1m [m[31mBack at original[4;1H[m[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mKeyword Local completion (^N^P) -- Searching...[m[24;36H[32mmatch 1 of 4[m[1m.[m[24;48H[K[5;5H[24;35H[K[24;35H[1m [m[32mmatch 2 of 4[5;5H[m[24;35H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mKeyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1H[1m-- Keyword completion (^N^P) The only match[5;5H[m[24;29H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mAdding Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1H[1m-- Adding Keyword completion (^N^P) [m[32mmatch 1 of 2[5;10H[m[24;36H[K[24;1Hmatch in file test32.in[1me[m[24;24H[K[24;1H[1m-- Adding Keyword completion (^N^P) Word from other line[5;10H[3;11r[m[3;1H[3L[1;24r[3;1Hrun3 run3
run1 run2[?12l[?25h[24;1H[K[?25l[24;1H[1m-- Adding Keyword completion (^N^P) Word from other line[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[5;9H[?12l[?25h
[?25l[24;1H:[?12l[?25hse cpt=.,w,i
[?25l[6;1H[?12l[?25h[5;9H[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;4H[1mKeyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;9H[32m included file: Xtestfile[m
match in file test32.in[24;24H[K[24;1H[1m-- Keyword completion (^N^P) The only match[5;9H[m[24;29H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mAdding Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;9H[32m included file: Xtestfile[m
match in file test32.in[24;24H[K[24;1H[1m-- Adding Keyword completion (^N^P) The only match[5;19H[m[24;36H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mAdding Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;9H[32m included file: Xtestfile[m
match in file test32.in[24;24H[K[24;1H[1m-- Adding Keyword completion (^N^P) The only match[5;28H[m[24;36H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mKeyword Local completion (^N^P) -- Searching...[m[24;36H[32mmatch 1 of 3[m[1m.[m[24;48H[K[5;29H[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Whole line completion (^L^N^P)^ U-- Searching...[m
[32mScanning: test32.in[m[1me[m[24;20H[K[24;1H[1m-- Whole line completion (^L^N^P) [m[32mmatch 1 of 57[6;29H[m[24;4H[1mINSERT --e[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) [m[32mmatch 1 of 57[m[24;4H[1mAddinge Whole line completion (^L^N^P) -- Searching...[m
[32mScanning: test32.in[m[1me[m[24;20H[K[24;1H[1m-- Adding Whole line completion (^L^N^P) The only match[7;29H[m[24;41H[K[24;41H[1m [m[31mBack at original[7;1H[m[24;41H[K[24;41H[1m The only match[7;29H[5;11r[m[5;1H[3L[1;24r[5;1HMakefile[8Cto run3
Makefile[8Cto run3
Makefile[8Cto run3[?12l[?25h[24;1H[K[?25l[24;1H[1m-- INSERT --[m[24;1H[K[7;28H[?12l[?25h[8;9H[?25l[24;1H:[?12l[?25hse cpt=kXtestfile
[?25l[8;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw Xtest11.one
[?25l"Xtest11.one" [New] 9L, 104C written[12;1H[1m[7mXtest11.one+ [8;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw Xtest11.two
[?25l"Xtest11.two" [New] 9L, 104C written[8;9H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;4H[1mKeyword completion (^N^P) -- Searching...[m
[32mScanning dictionary: Xtestfile[m[1m-[m[24;31H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Keyword completion (^N^P) [m[32mmatch 1 of 9[8;7H[8;11r[m[8;1H[L[1;24r[8;1Htest11[12;13H[1m[7m[+][8;7H[mI[?12l[?25h [24;1H[K[?25l[24;1H[1m-- Keyword completion (^N^P) [m[32mmatch 1 of 9[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[8;6H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;1H[K[8;1HXtest11
[?12l[?25h[?25l[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...[m[24;34H[32mmatch 1 of 2[m[1m.[m[24;46H[K[8;12H[24;33H[K[24;33H[1m [m[32mmatch 2 of 2[8;12H[m.two[?12l[?25h[24;1H[K[?25l[24;1H[1m-- INSERT --[m[24;1H[K[8;11H[?12l[?25h[9;9H[?25l[24;1H:[?12l[?25h" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use
[?25l[9;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" CTRL-X CTRL-F again to verify this doesn't cause trouble.
[?25l[9;9H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...[m[24;34H[32mmatch 1 of 4[m[1m.[m[24;46H[K[9;8H[24;4H[1mINSERTa -- [m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...[m[24;34H[32mmatch 1 of 445[m[1m.[m[24;48H[K[9;13H
Make_all.mak
run1 run2[11;1H[K[9;13Hd[?12l[?25h [24;1H[K[?25l[24;1H[1m-- INSERT --[m[24;1H[K[9;12H[?12l[?25h[?25l
run1 run2[9;10H[K[10;1H[K[11;1H[1m[34m~ [9;1H[?12l[?25h[8;1H
[?25l[24;1H[m:[?12l[?25hse cpt=w
[?25l[9;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --
-- Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Keyword completion (^N^P) The only match[9;10H[m[24;29H[K[24;29H[1m [m[31mBack at original[9;3H[m[24;29H[K[24;1Hmatch in file test32.in[1m^[m[24;24H[K[24;1H[1m-- Keyword completion (^N^P) The only match[9;10H[m[24;29H[K[24;29H[1m [m[31mBack at original[9;3H[m[24;29H[K[24;1Hmatch in file test32.in[1m^[m[24;24H[K[24;1H[1m-- Keyword completion (^N^P) The only match[9;10H[m
STARTTEST
run1 run2[11;1H[K[9;10H[?12l[?25h[24;1H[K[?25l[24;1H[1m-- Keyword completion (^N^P) The only match[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[9;9H[?12l[?25h[10;9H[?25l[24;1H:[?12l[?25hse cpt=u nohid
[?25l[10;9H[?12l[?25h[?25l
[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [10;9H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;4H[1mKeyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Keyword completion (^N^P) The only match[10;8H[m[24;1H[K[24;1H[1m-- INSERT --
-- Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Keyword completion (^N^P) [m[32mmatch 1 of 3[11;7H[m[24;29H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mKeyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Keyword completion (^N^P) The only match[11;7H[10;23r[m[10;1H[2L[1;24r[10;1HENDTEST
unless[?12l[?25h[24;1H[K[?25l[24;1H[1m-- Keyword completion (^N^P) The only match[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[11;6H[?12l[?25h[12;6H[?25l[24;1H:[?12l[?25hse cpt=t,d def=^\\k* tags=Xtestfile notagbsearch
[?25l[12;6H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Tag completion (^]^N^P)^ N-- Searching...[m[24;28H[32mmatch 1 of 3[m[1m.[m[24;40H[K[12;7H[24;4H[1mINSERTm --e[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) [m[32mmatch 1 of 3[m[24;4H[1mDefinition completion (^D^N^P)^ U-- Searching...[m[24;50H[K[24;1H[32mScanning included file: Xtestfile[m[1m [m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Definition completion (^D^N^P) The only match[12;11H[24;4HINSERTt --n[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...[m
[32mScanning included file: Xtestfile[m[1m^[m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Adding Definition completion (^D^N^P) The only match[12;20H[24;4HINSERT --f[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- INSERTe --^[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Definition completion (^D^N^P)^ U-- Searching...[m
[32mScanning included file: Xtestfile[m[1m [m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Definition completion (^D^N^P) The only match[12;25H[24;4HINSERTt --n[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...[m
[32mScanning included file: Xtestfile[m[1m^[m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Adding Definition completion (^D^N^P) The only match[12;37H[24;4HINSERT --f[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...[m
[32mScanning included file: Xtestfile[m[1m^[m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Adding Definition completion (^D^N^P) The only match[12;38H[24;4HINSERT --f[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...[m
[32mScanning included file: Xtestfile[m[1m^[m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Adding Definition completion (^D^N^P) Word from other line[12;42H[24;4HINSERT --f[m[24;13H[K[24;1H[K[24;1H[1m-- Keyword completion (^N^P) -- Searching...[m
[32mScanning tags.[m[1mp[m[24;15H[K[24;10H[32mincluded file: Xtestfile[m
[1m-- Keyword completion (^N^P) The only match[13;4H[12;23r[m[12;1H[2L[1;24r[12;1Htest11file 36Gepeto[8C/Tag/ asd
asd[?12l[?25h[24;1H[K[?25l[24;1H[1m-- Keyword completion (^N^P) The only match[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[13;3H[?12l[?25h
ru[?25l[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test58.in" 656 lines, 11024 characters[1;1HTests 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[34m^[[mz=:"
:"
:" 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for spell checking. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 111 lines, 2591 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:"
:" 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[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Don't want to depend on the locale from the environment
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=latin1
[?25l[27m[23m[m[H[2J[1;1H:"
:" 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
:"[5;3H[K[6;4HDon't want to depend on the locale from the environment
:set enc=latin1[7;17H[K[8;2He![8;4H[K[9;2H"[9;3H[K[10;4HCheck using z= in new buffer (crash fixed by patch 7.4a.028).
:set maxmem=512 spell[11;22H[K[12;1Hiasd[34m^[[mz=:"
:"
:" Function to test .aff/.dic with list of good and bad words.
:func TestOne(aff, dic)
set spellfile=[16;17H[K[17;3H$put =''
$put ='test '. a:aff . '-' . a:dic[18;37H[K[19;1H " 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[22;23H[K[23;1H " use that spell file[23;24H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check using z= in new buffer (crash fixed by patch 7.4a.028).
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset maxmem=512 spell
[?25l[1;31H[44mvim[m
[41mSTARTTEST[7;10Hlatin1[11;6Hmaxmem
iasd[14;22Haff[m/.[41mdic
[m:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[16;7Hspellfile[m[18;18H[44ma[m:[41maff[m[9C[44ma[m:[41mdic[19;17Hspl[14Cdic[m and .[41maff
[m [41mexe[m[10C[44ma[m:[41maff[m . '[41maffstart[m[10C[44ma[m:[41maff[m . '[41maffend[m/-1w! [41mXtest[m.[41maff
[m [41mexe[m[10C[44ma[m:[41mdic[m . '[41mdicstart[m[10C[44ma[m:[41mdic[m . '[41mdicend[m/-1w! [41mXtest[m.[41mdic
[m [41mmkspell[m! [41mXtest[m [41mXtest[1;1H[?12l[?25h[?25lasdTests[m for spell checking. [44mvim[m: set ft=vim :[1;3H[?12l[?25h[?25l[24;1HChange "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[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[1;1H[41masdTests[m for spell checking. [44mvim[m: set ft=vim :
[41mSTARTTEST[m
:so small.vim
:"
:" Don't want to depend on the locale from the environment
:set enc=[41mlatin1[m
:e!
:"
:" Check using z= in new buffer (crash fixed by patch 7.4a.028).
:set [41mmaxmem[m=512 spell
[41miasd[m[34m^[[mz=:"
:"
:" Function to test .[41maff[m/.[41mdic[m with list of good and bad words.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
set [41mspellfile[m=
$put =''
$put ='test '. [44ma[m:[41maff[m . '-' . [44ma[m:[41mdic[m
" Generate a .[41mspl[m file from a .[41mdic[m and .[41maff[m file.
[41mexe[m '1;/^' . [44ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [44ma[m:[41maff[m . '[41maffend[m/-1w! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [44ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [44ma[m:[41mdic[m . '[41mdicend[m/-1w! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" use that spell file[1;3H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Function to test .aff/.dic with list of good and bad words.
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[27m[23m[m[H[2J[?25l[1;1H[41masdTests[m for spell checking. [44mvim[m: set ft=vim :
[41mSTARTTEST[m
:so small.vim
:"
:" Don't want to depend on the locale from the environment
:set enc=[41mlatin1[m
:e!
:"
:" Check using z= in new buffer (crash fixed by patch 7.4a.028).
:set [41mmaxmem[m=512 spell
[41miasd[m[34m^[[mz=:"
:"
:" Function to test .[41maff[m/.[41mdic[m with list of good and bad words.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
set [41mspellfile[m=
$put =''
$put ='test '. [44ma[m:[41maff[m . '-' . [44ma[m:[41mdic[m
" Generate a .[41mspl[m file from a .[41mdic[m and .[41maff[m file.
[41mexe[m '1;/^' . [44ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [44ma[m:[41maff[m . '[41maffend[m/-1w! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [44ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [44ma[m:[41mdic[m . '[41mdicend[m/-1w! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" use that spell file[1;3H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('1', '1')
[?25l"Xtest.aff" [24;13H[K[24;13H[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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =soundfold('goobledygoook')
[?25l[1;1H[19L[1;1Hthe end
uk
wrong
-------
[41mbad[m
['put', 'uk', 'OK']
[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test'][20;22H[K[21;1H[41mth[m[21;4H[K[22;1H['put', 'uk', 'test'][22;22H[K[23;1H[41mgebletegek[m[23;11H[K[24;1H[K[23;1H[?12l[?25h[?25l
[1;24r[23;1H[41mkepereneven[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l[1;23r[23;1H
[1;24r[23;1H[41meverles[m [41mgesvets[m [41metele[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" and now with SAL instead of SOFO items; test automatic reloading
[?25l[23;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H[41masdTests[m [41mfor[m [41mspell[m [41mchecking[m. [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:"
:" [41mDon't[m [41mwant[m [41mto[m [41mdepend[m [41mon[m [41mthe[m [41mlocale[m [41mfrom[m [41mthe[m [41menvironment[m
:[41mset[m [41menc[m=[41mlatin1[m
:[41me[m!
:"
:" [41mCheck[m [41musing[m [41mz[m= [41min[m [41mnew[m [41mbuffer[m ([41mcrash[m [41mfixed[m [41mby[m [41mpatch[m 7.4[41ma[m.028).
:[41mset[m [41mmaxmem[m=512 [41mspell
iasd[m[34m^[[m[41mz[m=:"
:"
:" [41mFunction[m [41mto[m test .[41maff[m/.[41mdic[m [41mwith[m [41mlist[m [41mof[m [41mgood[m [41mand[m [41mbad[m [41mwords[m.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
[41mset[m [41mspellfile[m=
$put =''
$put ='test '. [41ma[m:[41maff[m . '-' . [41ma[m:[41mdic[m
" [41mGenerate[m [41ma[m .[41mspl[m [41mfile[m [41mfrom[m [41ma[m .[41mdic[m [41mand[m .[41maff[m [41mfile[m.
[41mexe[m '1;/^' . [41ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [41ma[m:[41maff[m . '[41maffend[m/-1[41mw[m! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [41ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [41ma[m:[41mdic[m . '[41mdicend[m/-1[41mw[m! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" [41muse[m [41mthat[m [41mspell[m [41mfile[1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff
[?25l"Xtest.aff" [24;13H[K[24;13H151 lines, 3412 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmkspell! Xtest Xtest
[?25lReading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line 2, word 0 - test
Compressing word tree...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =soundfold('goobledygoook')
[?25l[1;1H[14L[1;1H-------
[41mbad[m
['put', 'uk', 'OK']
[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m[16;4H[K[17;1H['put', 'uk', 'test']
[41mthe[m[18;4H[K[19;1H['put', 'uk', 'test'][19;22H[K[20;1H[41mgebletegek[m[20;11H[K[21;1H[41mkepereneven[m[21;12H[K[22;1H[41meverles[m [41mgesvet[m[1C [41metele[m[22;22H[K[23;1H[41mkbltykk[m[23;9H[K[24;1H[K[23;1H[?12l[?25h[?25l
[1;24r[23;1H[41mkprnfn[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l[1;23r[23;1H
[1;24r[23;1H*[41mfls[m [41mkswts[m [41mtl[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" also use an addition file
[?25l[23;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H[41masdTests[m [41mfor[m [41mspell[m [41mchecking[m. [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:"
:" [41mDon't[m [41mwant[m [41mto[m [41mdepend[m [41mon[m [41mthe[m [41mlocale[m [41mfrom[m [41mthe[m [41menvironment[m
:[41mset[m [41menc[m=[41mlatin1[m
:[41me[m!
:"
:" [41mCheck[m [41musing[m [41mz[m= [41min[m [41mnew[m [41mbuffer[m ([41mcrash[m [41mfixed[m [41mby[m [41mpatch[m 7.4[41ma[m.028).
:[41mset[m [41mmaxmem[m=512 [41mspell
iasd[m[34m^[[m[41mz[m=:"
:"
:" [41mFunction[m [41mto[m test .[41maff[m/.[41mdic[m [41mwith[m [41mlist[m [41mof[m [41mgood[m [41mand[m [41mbad[m [41mwords[m.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
[41mset[m [41mspellfile[m=
$put =''
$put ='test '. [41ma[m:[41maff[m . '-' . [41ma[m:[41mdic[m
" [41mGenerate[m [41ma[m .[41mspl[m [41mfile[m [41mfrom[m [41ma[m .[41mdic[m [41mand[m .[41maff[m [41mfile[m.
[41mexe[m '1;/^' . [41ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [41ma[m:[41maff[m . '[41maffend[m/-1[41mw[m! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [41ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [41ma[m:[41mdic[m . '[41mdicend[m/-1[41mw[m! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" [41muse[m [41mthat[m [41mspell[m [41mfile[1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h/^addstart/+1,/^addend/-1w! Xtest.latin1.add
[?25l"Xtest.latin1.add" [24;20H[K[24;20H[New File] 3 lines, 38 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmkspell! Xtest.latin1.add.spl Xtest.latin1.add
[?25lReading word file Xtest.latin1.add ...[24;39H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset spellfile=Xtest.latin1.add
[?25l[1;1H[6L[1;1H[41masdTests[m [41mfor[m [41mspell[m [41mchecking[m. [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:"
:" [41mDon't[m [41mwant[m [41mto[m [41mdepend[m [41mon[m [41mthe[m [41mlocale[m [41mfrom[m [41mthe[m [41menvironment[m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/[?12l[?25h^test2:
[?25l[27m[23m[m[H[2J[2;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
elequint/2
elekwint/3
[41maddend
test2[m:
elequint test elekwint test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[12;1H[?12l[?25h[13;29H[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_us.latin1.spl
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[2;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
[46melequint[m/2
[46melekwint[m/3
[41maddend
test2[m:
[46melequint[m test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[m
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
[46melequint[m/2
[46melekwint[m/3
[41maddend
test2[m:
[46melequint[m test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[12;1H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint
elekwint
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_gb.latin1.spl
[?25l[22;1Helequint
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[2;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
elequint/2
[46melekwint[m/3
[41maddend
test2[m:
elequint test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[m
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[13;15H[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
elequint
[46melekwint
elekwint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
elequint/2
[46melekwint[m/3
[41maddend
test2[m:
elequint test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[12;15H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
elequint
[46melekwint
elekwint[m
[41melekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_nz.latin1.spl
[?25l[20;1H[46melequint[m
elekwint
elekwint
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[2;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
[46melequint[m/2
elekwint/3
[41maddend
test2[m:
[46melequint[m test elekwint test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[m
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint[m
elekwint
elekwint
[41melekwent[m
[46melequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
[46melequint[m/2
elekwint/3
[41maddend
test2[m:
[46melequint[m test elekwint test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[12;1H[?12l[?25h[28C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint[m
elekwint
elekwint
[41melekwent[m
[46melequint[m
[41melekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_ca.latin1.spl
[?25l[18;1H[41melequint
elekwint
elekwint
elequint
[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[2;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz
elequint[m/2
[41melekwint[m/3
[41maddend
test2[m:
[41melequint[m test [41melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[m
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
elequint
elekwint
elekwint
elekwent
elequint
elekwent
elequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz
elequint[m/2
[41melekwint[m/3
[41maddend
test2[m:
[41melequint[m test [41melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[12;1H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1Htest
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
elequint
elekwint
elekwint
elekwent
elequint
elekwent
elequint
elekwint
[?12l[?25h[?25l
[m:[?12l[?25hunlet str a
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Postponed prefixes
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('2', '1')
[?25l"Xtest.aff" [24;13H[K[24;13H44 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...[24;26H[K[24;1H
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
2[41maffend[m
2[41mgood[m: puts
badend[m[14;1H[K[15;1H[41maddstar[m
/[41mregions[m=[41musgbnz
elequ[m[3C/2[18;9H/3
[41maddend[m[19;7H[K[20;1H[K[21;1H[41mtest2[m:[21;7H[K[22;10Htest [41melekwint[m test [41melekwent[m [41masdf[m[23;1H[K[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" Compound words
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('3', '3')
[?25l"Xtest.aff" [24;13H[K[24;13H5 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('4', '4')
[?25l"Xtest.aff" [24;13H[K[24;13H45 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('5', '5')
[?25l"Xtest.aff" [24;13H[K[24;13H25 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('6', '6')
[?25l"Xtest.aff" [24;13H[K[24;13H23 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('7', '7')
[?25l"Xtest.aff" [24;13H[K[24;13H22 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[1;1H1234
[41mmee[m/391,111,9999
bar/17,61003,123
lead/2
tail/123
[41mmiddle[m/77,1
7[41mdicend[m
[41mbad[m: [41mmee[m [41mmeea2[m [41mprabar[m [41mprobarmaat[m [41mmiddle[m [41mleadmiddle[m [41mmiddletail[m [41mtaillead[12;9Hleadprobar
badend
Test[m [41mNOSLITSUGS[m
8[41maffstart
SET[m [41mISO8859[m-1
[41mNOSPLITSUGS[m
8[41maffend[m
8[41mdicstart[13;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h" NOSLITSUGS
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('8', '8')
[?25l"Xtest.aff" [24;13H[K[24;13H3 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" Numbgcc -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
ers
[?25l[1;1H[11L[1;1H[41mNOSPLITSUGS[m
8[41maffend[m
8[41mdicstart[m
1234
foo
bar
faabar
8[41mdicend[m
8[41mgood[m: foo bar faabar
[41mbad[m: [41mfoobar[m [41mbarfoo[m[15;1H[K[16;1H[41mTest[m [41mNumbers[m[17;1H[K[18;1H9[41maffstart[m[18;10H[K[19;1H9[41maffend[m[20;1H[K[21;1H9[41mdicstart[m
1234
foo[23;4H[K[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall TestOne('9', '9')
[?25l[1m[37m[41mError detected while processing function TestOne:[m
[33mline 5:[m
[1m[37m[41mE493: Backwards range given: 1;/^9affstart/+1,/^9affend/-1w! Xtest.aff[m
"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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[13L[1;1H[41mTest[m [41mNumbers[m
9[41maffstart[m
9[41maffend[m
9[41mdicstart[m
1234
foo
bar
9[41mdicend[m
9[41mgood[m: 0b1011 0777 1234 0x01ff
[41mbadend
test[m [41moutput[m:
[41mtest[m 1-1[18;9H[K[19;1H# [1C[41mile[m: [41mXtest[m.[41mlatin1[m.[41mspl
Comment
input[m[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" clean up for valgrind
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc TestOne
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset spl= enc=latin1
[?25l[27m[23m[m[H[2J[1;1HTest 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[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HasdTests 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[34m^[[mz=:"
:"
:" 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[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^test output:/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test59.in" 626 lines, 10897 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for spell checking with 'encoding' set to "utf-8". vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 106 lines, 2520 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Don't want to depend on the locale from the environment. The .aff and .dic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" text is in latin1, the test text is utf-8.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=latin1
[?25l[27m[23m[m[H[2J[1;1H: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
:" text is in latin1, the test text is utf-8.[9;6Henc=latin1[9;16H[K[10;2He!
:set enc=utf-8[11;15H[K[12;1H:set fenc=
:"
:" Function to test .aff/.dic with list of good and bad words.
:func TestOne(aff, dic)
set spellfile=[16;17H[K[17;3H$put =''
$put ='test '. a:aff . '-' . a:dic[18;37H[K[19;1H " 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[22;23H[K[23;1H " use that spell file[23;24H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=utf-8
[?25l[27m[23m[m[H[2J[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Function to test .aff/.dic with list of good and bad words.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[27m[23m[m[H[2J[?25l[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('1', '1')
[?25l"Xtest.aff" [24;13H[K[24;13H[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...[24;26H[K[24;1H
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 bytesgcc -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
17 lines yanked
17 more lines
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =soundfold('goobledygoook')
[?25l[1;1H[19L[1;1Hthe end
uk
wrong
-------
[41mbad[m
['put', 'uk', 'OK']
[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[17;3Hôl[m
['deol', 'dé[18;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test'][20;22H[K[21;1H[41mthe[m[21;4H[K[22;1H['put', 'uk', 'test'][22;22H[K[23;1H[41mgebletegek[m[23;11H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('kó[24;21Hopërÿnôven')
[?25l[1;23r[23;1H
[1;24r[23;1H[41mkepereneven[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l[1;23r[23;1H
[1;24r[23;1H[41meverles[m [41mgesvets[m [41metele[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" and now with SAL instead of SOFO items; test automatic reloading
[?25l[23;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H[41mTests[m [41mfor[m [41mspell[m [41mchecking[m [41mwith[m '[41mencoding[m' [41mset[m [41mto[m "[41mutf-8[m". [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:[41mso[m [41mmbyte[m.[41mvim[m
:"
:" [41mDon't[m [41mwant[m [41mto[m [41mdepend[m [41mon[m [41mthe[m [41mlocale[m [41mfrom[m [41mthe[m [41menvironment[m. [41mThe[m .[41maff[m [41mand[m .[41mdic[m
:" [41mtext[m [41mis[m [41min[m [41mlatin1[m, [41mthe[m test [41mtext[m [41mis[m [41mutf-8[m.
:[41mset[m [41menc[m=[41mlatin1[m
:[41me[m!
:[41mset[m [41menc[m=[41mutf-8[m
:[41mset[m [41mfenc[m=
:"
:" [41mFunction[m [41mto[m test .[41maff[m/.[41mdic[m [41mwith[m [41mlist[m [41mof[m [41mgood[m [41mand[m [41mbad[m [41mwords[m.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
[41mset[m [41mspellfile[m=
$put =''
$put ='test '. [41ma[m:[41maff[m . '-' . [41ma[m:[41mdic[m
" [41mGenerate[m [41ma[m .[41mspl[m [41mfile[m [41mfrom[m [41ma[m .[41mdic[m [41mand[m .[41maff[m [41mfile[m.
[41mexe[m '1;/^' . [41ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [41ma[m:[41maff[m . '[41maffend[m/-1[41mw[m! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [41ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [41ma[m:[41mdic[m . '[41mdicend[m/-1[41mw[m! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" [41muse[m [41mthat[m [41mspell[m [41mfile[1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff
[?25l"Xtest.aff" [24;13H[K[24;13H153 lines, 3426 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmkspell! Xtest Xtest
[?25lReading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line 2, word 0 - test
Compressing word tree...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =soundfold('goobledygoook')
[?25l[1;1H[14L[1;1H-------
[41mbad[m
['put', 'uk', 'OK']
[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[14;3Hôl[m
['deol', 'dé[15;13Hôr', 'test']
[41mend[m[16;4H[K[17;1H['put', 'uk', 'test']
[41mthe[m[18;4H[K[19;1H['put', 'uk', 'test'][19;22H[K[20;1H[41mgebletegek[m[20;11H[K[21;1H[41mkepereneven[m[21;12H[K[22;1H[41meverles[m [41mgesvet[m[1C [41metele[m[22;22H[K[23;1H[41mkbltykk[m[23;9H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('kó[24;21Hopërÿnôven')
[?25l[1;23r[23;1H
[1;24r[23;1H[41mkprnfn[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l[1;23r[23;1H
[1;24r[23;1H*[41mfls[m [41mkswts[m [41mtl[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" also use an addition file
[?25l[23;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H[41mTests[m [41mfor[m [41mspell[m [41mchecking[m [41mwith[m '[41mencoding[m' [41mset[m [41mto[m "[41mutf-8[m". [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:[41mso[m [41mmbyte[m.[41mvim[m
:"
:" [41mDon't[m [41mwant[m [41mto[m [41mdepend[m [41mon[m [41mthe[m [41mlocale[m [41mfrom[m [41mthe[m [41menvironment[m. [41mThe[m .[41maff[m [41mand[m .[41mdic[m
:" [41mtext[m [41mis[m [41min[m [41mlatin1[m, [41mthe[m test [41mtext[m [41mis[m [41mutf-8[m.
:[41mset[m [41menc[m=[41mlatin1[m
:[41me[m!
:[41mset[m [41menc[m=[41mutf-8[m
:[41mset[m [41mfenc[m=
:"
:" [41mFunction[m [41mto[m test .[41maff[m/.[41mdic[m [41mwith[m [41mlist[m [41mof[m [41mgood[m [41mand[m [41mbad[m [41mwords[m.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
[41mset[m [41mspellfile[m=
$put =''
$put ='test '. [41ma[m:[41maff[m . '-' . [41ma[m:[41mdic[m
" [41mGenerate[m [41ma[m .[41mspl[m [41mfile[m [41mfrom[m [41ma[m .[41mdic[m [41mand[m .[41maff[m [41mfile[m.
[41mexe[m '1;/^' . [41ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [41ma[m:[41maff[m . '[41maffend[m/-1[41mw[m! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [41ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [41ma[m:[41mdic[m . '[41mdicend[m/-1[41mw[m! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" [41muse[m [41mthat[m [41mspell[m [41mfile[1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h/^addstart/+1,/^addend/-1w! Xtest.utf-8.add
[?25l"Xtest.utf-8.add" [24;19H[K[24;19H[New File] 3 lines, 38 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmkspell! Xtest.utf-8.add.spl Xtest.utf-8.add
[?25lReading word file Xtest.utf-8.add ...[24;38H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset spellfile=Xtest.utf-8.add
[?25l[1;1H[6L[1;1H[41mTests[m [41mfor[m [41mspell[m [41mchecking[m [41mwith[m '[41mencoding[m' [41mset[m [41mto[m "[41mutf-8[m". [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:[41mso[m [41mmbyte[m.[41mvim[m
:"[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/[?12l[?25h^test2:
[?25l[27m[23m[m[H[2J[1;9H[41mtomato[m [41mtomatotomato[m [41mstartend[m [41mstartword[m [41mstartwordword[m [41mstartwordend[2;9Hstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[3;9Hpreborkborkbork[4;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[6;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[7;9Hpreborkprebork[m [41mpreborkpreborkbork[8;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[9;9Hutilsbork[m [41mstartnouword
badend
test2[m:
elequint test elekwint test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !![12;1H[?12l[?25h[13;29H[?25l[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[11;3Hôl[m
['deol', 'dé[12;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_us.utf-8.spl
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;9H[41mtomato[m [41mtomatotomato[m [41mstartend[m [41mstartword[m [41mstartwordword[m [41mstartwordend[2;9Hstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[3;9Hpreborkborkbork[4;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[6;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[7;9Hpreborkprebork[m [41mpreborkpreborkbork[8;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[9;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[46melequint[m test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[10;3Hôl[m
['deol', 'dé[11;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;9H[41mstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[2;9Hpreborkborkbork[3;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[5;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[6;9Hpreborkprebork[m [41mpreborkpreborkbork[7;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[8;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[46melequint[m test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[41mCOMPOUNDRULE[m [41mssmm[m*[41mee[12;1H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[9;3Hôl[m
['deol', 'dé[10;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint
elekwint
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_gb.utf-8.spl
[?25l[22;1Helequint
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;9H[41mtomato[m [41mtomatotomato[m [41mstartend[m [41mstartword[m [41mstartwordword[m [41mstartwordend[2;9Hstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[3;9Hpreborkborkbork[4;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[6;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[7;9Hpreborkprebork[m [41mpreborkpreborkbork[8;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[9;9Hutilsbork[m [41mstartnouword
badend
test2[m:
elequint test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[13;15H[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[8;3Hôl[m
['deol', 'dé[9;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
elequint
[46melekwint
elekwint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;9H[41mstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[2;9Hpreborkborkbork[3;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[5;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[6;9Hpreborkprebork[m [41mpreborkpreborkbork[7;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[8;9Hutilsbork[m [41mstartnouword
badend
test2[m:
elequint test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[41mCOMPOUNDRULE[m [41mssmm[m*[41mee[12;15H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[7;3Hôl[m
['deol', 'dé[8;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
elequint
[46melekwint
elekwint[m
[41melekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_nz.utf-8.spl
[?25l[20;1H[46melequint[m
elekwint
elekwint
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;9H[41mtomato[m [41mtomatotomato[m [41mstartend[m [41mstartword[m [41mstartwordword[m [41mstartwordend[2;9Hstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[3;9Hpreborkborkbork[4;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[6;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[7;9Hpreborkprebork[m [41mpreborkpreborkbork[8;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[9;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[46melequint[m test elekwint test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[6;3Hôl[m
['deol', 'dé[7;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint[m
elekwint
elekwint
[41melekwent[m
[46melequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;9H[41mstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[2;9Hpreborkborkbork[3;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[5;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[6;9Hpreborkprebork[m [41mpreborkpreborkbork[7;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[8;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[46melequint[m test elekwint test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[41mCOMPOUNDRULE[m [41mssmm[m*[41mee[12;1H[?12l[?25h[28C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[5;3Hôl[m
['deol', 'dé[6;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint[m
elekwint
elekwint
[41melekwent[m
[46melequint[m
[41melekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_ca.utf-8.spl
[?25l[18;1H[41melequint
elekwint
elekwint
elequint
[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;9H[41mtomato[m [41mtomatotomato[m [41mstartend[m [41mstartword[m [41mstartwordword[m [41mstartwordend[2;9Hstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[3;9Hpreborkborkbork[4;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[6;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[7;9Hpreborkprebork[m [41mpreborkpreborkbork[8;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[9;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[41melequint[m test [41melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[4;3Hôl[m
['deol', 'dé[5;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
elequint
elekwint
elekwint
elekwent
elequint
elekwent
elequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;9H[41mstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[2;9Hpreborkborkbork[3;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[5;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[6;9Hpreborkprebork[m [41mpreborkpreborkbork[7;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[8;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[41melequint[m test [41melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[41mCOMPOUNDRULE[m [41mssmm[m*[41mee[12;1H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1Htest
['Test', 'testn', 'testen']
[41mdé[3;3Hôl[m
['deol', 'dé[4;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
elequint
elekwint
elekwint
elekwent
elequint
elekwent
elequint
elekwint
[?12l[?25h[?25l
[m:[?12l[?25hunlet str a
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Postponed prefixes
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('2', '1')
[?25l"Xtest.aff" [24;13H[K[24;13H46 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[12L[1;1H[41maddstart[m
/[41mregions[m=[41musgbnz
elequint[m/2
[41melekwint[m/3
[41maddend[m
1[41mgood[m: wrong OK puts. Test the end
[41mbad[m: [41minputs[m [41mcomment[m [41mok[m [41mOk[m. [44mtest[m [41mdé[8;36Hôl[m [41mend[m [41mthe
badend[m
2[41mgood[m: puts
[41mbad[m: [41minputs[m [41mcomment[m [41mok[m [41mOk[m [41mend[m [41mthe[m. [44mtest[m [41mdé[12;43Hôl
badend[m[14;1H[K[15;1HTest [41mrules[m [41mfor[m [41mcompounding[m.[16;1H[K[17;1H3[41maffstart
SET[m [41mISO8859-1[m[19;1H[K[20;1H[41mCOMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[m[23;8H[K[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" Compound words
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('3', '3')
[?25l"Xtest.aff" [24;13H[K[24;13H5 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('4', '4')
[?25l"Xtest.aff" [24;13H[K[24;13H45 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('5', '5')
[?25l"Xtest.aff" [24;13H[K[24;13H25 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('6', '6')
[?25l"Xtest.aff" [24;13H[K[24;13H23 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('7', '7')
[?25l"Xtest.aff" [24;13H[K[24;13H26 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[1;1H1234
[41mmee[m/391,111,9999
bar/17,61003,123
lead/2
tail/123
[41mmiddle[m/77,1
7[41mdicend[m
7[41mgood[m: meea1 meeaé[9;20Hbar prebar barmeat prebarmeat leadprebar[10;7Hlead tail leadtail leadmiddletail
[41mbad[m: [41mmee[m [41mmeea2[m [41mprabar[m [41mprobarmaat[m [41mmiddle[m [41mleadmiddle[m [41mmiddletail[m [41mtaillead[12;9Hleadprobar
badend
test[m [41moutput[m:
[41mtest[m 1-1
# [41mfile[m: [41mXtest[m.[41mutf[m-8.[41mspl
Comment
deol
dé[21;3Hôr
input
OK[13;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h" clean up for valgrind
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc TestOne
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset spl= enc=latin1
[?25l[27m[23m[m[H[2J[1;1H1234
mee/391,111,9999
bar/17,61003,123
lead/2
tail/123
middle/77,1
7dicend
7good: meea1 meeaé bar prebar barmeat prebarmeat leadprebar[10;7Hlead tail leadtail leadmiddletail
bad: mee meea2 prabar probarmaat middle leadmiddle middletail taillead[12;9Hleadprobar
badend
test output:
test 1-1
# file: Xtest.utf-8.spl
Comment
deol
déôr
input
OK[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^test output:/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test72.in" 146 lines, 2110 characters[1;1HTests 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[34m^[[m: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/[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for undo file.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 135 lines, 1913 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[18;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test 'undofile': first a simple one-line change.
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo visualbell
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ul=100 undofile nomore
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1Hthis is one line[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[1;16H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hs/one/ONE/
[?25l[1;9HONE
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ul=100
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xtestfile" [New] 1L, 17C written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe![1;9H[K[2;1H:e Xtestfile[2;13H[K[3;1Hfoo2bar[3;8H[K[4;1H:set key=[4;10H[K[5;1H/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtestfile
[?25l"Xtestfile" 1L, 17C[1;1Hthis is ONE line
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H1 change; before #2 0 seconds ago[1;9Hone
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 1L, 17C written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test 'undofile', change in original file fails check
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noundofile
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;13H1L, 17C[1;9HONE
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hs/line/Line/
[?25l[1;13HL
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xtestfile" 1L, 17C written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset undofile
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe![1;9H[K[2;1H:e Xtestfile[2;13H[K[3;1Hfoo2bar[3;8H[K[4;1H:set key=[4;10H[K[5;1H/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtestfile
[?25l"Xtestfile" 1L, 17C[1;1Hthis is ONE Line
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" TODO: this beeps
[?25l[1;1H[?12l[?25h[?5h[?5l[?25l[24;1HAlready at oldest change[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 17C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test 'undofile', add 10 lines, delete 6 lines, undo 3
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset undofile
[?25l[1;1H[?12l[?25h[?25l[1;1H[K[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1Hone
two[2;4H[K[3;1Hthree[3;6H[K[4;1Hfour[4;5H[K[5;1Hfive[5;5H[K[6;1Hsix[6;4H[K[7;1Hseven[7;6H[K[8;1Height[8;6H[K[9;1Hnine[9;5H[K[10;1Hten[10;4H[K[10;3H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[10;3H[?12l[?25h[3;1H[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xtestfile" 4L, 17C written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe!
:e Xtestfile
foo2bar
:set key=
/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtestfile
[?25l"Xtestfile" 4L, 17C[1;1Hone[1;4H[K[2;1Htwo[2;4H[K[3;1Hnine[3;5H[K[4;1Hten[4;4H[K[5;1H[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H1 more line; before #7 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Height[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #6 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Hseven[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #5 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Hsix[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H7L, 33C appended[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test that reading the undofiles when setting undofile works
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noundofile ul=0
[?25l[3;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[4;23r[4;1H[L[1;24r[3;1H[K[4;1Hsix
u[?12l[?25hs[24;1H[K[?25l[4;1H[?12l[?25h[?25l[24;1H1 line less; before #8 0 seconds ago[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;13H4L, 17C[3;1Hnine
ten[4;4H[K[5;1H[1m[34m~ [6;1H~ [7;1H~ [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset undofile ul=100
[?25l[3;1H[?12l[?25h[?25l[24;1H1 more line; before #7 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Height[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #6 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Hseven[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #5 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Hsix[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #4 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Hfive[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #3 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Hfour[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #2 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Hthree[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H10L, 49C appended[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" And now with encryptiongcc -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
, cryptmethod=zip
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;13H4L, 17C[3;1Hnin[3;5H[K[4;1Hten[4;4H[K[5;1H[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset undofile cm=zip
[?25l[3;1H[?12l[?25h[1;1H[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1Hmonday
tuesday[2;8H[K[3;1Hwednesday[3;10H[K[4;1Hthursday[4;9H[K[5;1Hfriday[5;7H[K[5;6H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[5;6H[?12l[?25h[4;6H[3;6H[2;6H[?25l[2;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[2;1H[?12l[?25h[?25l[2;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[2;1H[?12l[?25h[?25l[2;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hX
[?25lWarning: Using a weak encryption method; see :help 'cm'
Enter encryption key: [?12l[?25h******
[?25lEnter same key again: [?12l[?25h******
[1;1H[3L[?25l[1;1Hmonday
friday
[1m[34m~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw!
[?25l"Xtestfile" [crypted] 2L, 14C written[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe!
:e Xtestfile
foo2bar[3;8H[K[4;1H:set key=[4;10H[K[5;1H/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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, 14C[1;1H[3L[1;1Hmonday
friday
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[24;1H"Xtestfile" [crypted] 2L, 14C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset key=
[?25l[1;1H[?12l[?25h[?25l[24;1H1 more line; before #11 1 seconds ago[2;23r[2;1H[L[1;24r[2;1Hthursday[24;1H[K[2;1H[?12l[?25h[?25l[24;1H1 more line; before #10 1 seconds ago[2;23r[2;1H[L[1;24r[2;1Hwednesday[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H4L, 33C appended[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" With encryption, cryptmethod=blowfish
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;1HNeed encryption key for "Xtestfile"
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: [?12l[?25h*******
[1m[34m~ [3;1H~ [4;1H~ [m[24;1H[K[24;1H"Xtestfile" [noeol][crypted] 1L, 14C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset undofile cm=blowfish ff&
[?25l[1;1H[?12l[?25h[?25l[1;1H[K[24;1H--No lines in buffer--[24;23H[K[1;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1Hjan
feb[2;4H[K[3;1Hmar[3;4H[K[4;1Hapr[4;4H[K[5;1Hjun[5;4H[K[5;3H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[5;3H[?12l[?25h[4;3H[3;3H
[?25l[24;1H[1m-- INSERT --[m[24;1H[K[3;1Hfoo mar[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;4H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;1H[K[3;1Hbar apr[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hX
[?25lWarning: Using a weak encryption method; see :help 'cm'
Enter encryption key: [?12l[?25h******
[?25lEnter same key again: [?12l[?25h******
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
[1;1H[3L[?25l[1;1Hjan
feb
bar apr[24;1H[K[3;4H[?12l[?25h[?25l[24;1H:[?12l[?25hw!
[?25l"Xtestfile" [blowfish] 4L, 20C written[3;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe!
:e Xtestfile
foo2ba
:set key=
/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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, 20C[1;1H[3L[1;1Hjan
feb
bar apr
jun[4;4H[K[5;1H[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[24;1H"Xtestfile" [blowfish] 4L, 20C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset key=
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hbar
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 8C appended[3;1H[?12l[?25h[?25l[24;1H1 change; before #15 2 seconds ago[3;1Hap[3;5H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 4C appended[3;1H[?12l[?25h[?25l[24;1H1 more line; before #14 2 seconds ago[3;23r[3;1H[L[1;24r[3;1Hfoo mar[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 8C appended[3;1H[?12l[?25h[?25l[24;1H1 change; before #13 2 seconds ago[3;1Hmar[3;5H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 4C appended[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" With encryption, cryptmethod=blowfish2
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;1HNeed encryption key for "Xtestfile"
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: [?12l[?25h*******
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[24;1H[K[24;1H"Xtestfile" [noeol][blowfish] 1L, 20C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset undofile cm=blowfish2 ff&
[?25l[1;1H[?12l[?25h[?25l[1;1H[K[24;1H--No lines in buffer--[24;23H[K[1;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1Hjan
feb[2;4H[K[3;1Hmar[3;4H[K[4;1Hapr[4;4H[K[5;1Hjun[5;4H[K[5;3H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[5;3H[?12l[?25h[4;3H[3;3H
[?25l[24;1H[1m-- INSERT --[m[24;1H[K[3;1Hfoo mar[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;4H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;1H[K[3;1Hbar apr[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hX
[?25l[24;1H[K[24;1HEnter encryption key: [?12l[?25h*******
[?25lEnter same key again: [?12l[?25h*******
[1;1H[2L[?25l[1;1Hjan
feb[24;1H[K[3;4H[?12l[?25h[?25l[24;1H:[?12l[?25hw!
[?25l"Xtestfile"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
[blowfish2] 4L, 20C written[3;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe!
:e Xtestfile
foo2ba
:set key=
/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtestfile
[?25l"Xtestfile"
Need encryption key for "Xtestfile"
Enter encryption key: [?12l[?25h*******
[?25l"Xtestfile" [blowfish2] 4L, 20C[1;1H[2L[1;1Hjan
feb
bar ap
jun[4;4H[K[5;1H[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[24;1H"Xtestfile" [blowfish2] 4L, 20C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset key=
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hbar
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 8C appended[3;1H[?12l[?25h[?25l[24;1H1 change; before #19 1 seconds ago[3;1Hap[3;5H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 4C appended[3;1H[?12l[?25h[?25l[24;1H1 more line; before #18 2 seconds ago[3;23r[3;1H[L[1;24r[3;1Hfoo mar[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 8C appended[3;1H[?12l[?25h[?25l[24;1H1 change; before #17 2 seconds ago[3;1Hmar[3;5H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 4C appended[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Rename the undo file so that it gets cleaned up.
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1Hjan
feb
mar
apr[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test78.in" 46 lines, 1464 characters[1;1HInserts 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 = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0122[13;1H3456789abcdefghijklmnoparstuvwxyz0123456789"
: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:][::[23;1Hcntrl:]]*$', '\1', '')[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HInserts 10000 lines with text to fill the swap file with two levels of pointer[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 37 lines, 1208 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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 ""[13;1H . linecount . " lines but found only " . linedollar) | exe 'wincmd w' | let linn[14;1Hecount = linedollar | endif
:let i = 1
:while i <= linecount | if getline(i) != i . text | exe 'wincmd w' | call appendd[17;1H(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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp fileformat=unix undolevels=-1 viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest
[?25l"Xtest" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet text = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01
[23;80H2[24;1H3456789abcdefghijklmnoparstuvwxyz0123456789"
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet i = 1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet linecount = 10000
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwhile i <= linecount | call append(i - 1, i . text) | let i += 1 | endwhile
[?25l[1;1H9990 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[2;1Habcdefghijklmnoparstuvwxyz0123456789[2;37H[K[3;1H9991 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[4;1Habcdefghijklmnoparstuvwxyz0123456789[4;37H[K[5;1H9992 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[6;1Habcdefghijklmnoparstuvwxyz0123456789[6;37H[K[7;1H9993 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[8;1Habcdefghijklmnoparstuvwxyz0123456789[8;37H[K[9;1H9994 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[10;1Habcdefghijklmnoparstuvwxyz0123456789[10;37H[K[11;1H9995 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[12;1Habcdefghijklmnoparstuvwxyz0123456789[12;37H[K[13;1H9996 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[14;1Habcdefghijklmnoparstuvwxyz0123456789[14;37H[K[15;1H9997 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[16;1Habcdefghijklmnoparstuvwxyz0123456789[16;37H[K[17;1H9998 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[18;1Habcdefghijklmnoparstuvwxyz0123456789[18;37H[K[19;1H9999 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[20;1Habcdefghijklmnoparstuvwxyz0123456789[20;37H[K[21;1H10000 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[22;1Habcdefghijklmnoparstuvwxyz0123456789[22;37H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hpreserve
[?25lFile preserved[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" get the name of the swap file
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir => swapname
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hswapname
[?25l.Xtest.swp[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet swapname = substitute(swapname, '[[:blank:][:cntrl:]]*\(.\{-}\)[[:blank:][
[23;80H:[24;1Hcntrl:]]*$', '\1', '')
[?25l[1;1H[L[1;1H9990 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[2;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" make a copy of the swap file in Xswap
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe 'sp ' . swapname
[?25l".Xtest.swp"[24;14H[K[24;14H[noeol] 611L, 1224704C[1;1Hb0VIM 8.0[34m^@^@^@^@^P^@^@^@^@^@^@^@^@^@^@[mRN[34m^@^@[mbuildd[34m^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[2;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@[mbm-wb-03[34m^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[3;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@[m/<<PKGBUILDDIR>>/src/vim-basic/testt[4;1Hdir/Xtest[34m^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[5;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[6;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[7;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[8;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[9;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[10;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[11;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^[m[12;1H[1m[7m.Xtest.swp [m[13;4H7[75C99[14;1Ha
9998[75C99[16;1Ha
9999[75C99[18;1Ha
10000[74C99[20;1Ha[21;1H[K[22;1H[1m[34m~ [m[23;1H[7mXtest [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! Xswap
[?25l"Xswap" [24;9H[K[24;9H[New][noeol] 611L, 1224704C written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hecho swapname
[?25l.Xtest.sw[24;11H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nobin
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[9;1Hb0VIM 8.0[34m^@^@^@^@^P^@^@^@^@^@^@^@^@^@^@[mRN[34m^@^@[mbuildd[34m^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[10;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@[mbm-wb-03[34m^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[11;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@[m/<<PKGBUILDDIR>>/src/vim-basic/testt[12;1Hdir/Xtest[34m^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[13;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[14;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[15;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^[m[16;1H[7m.Xtest.swp [m[17;1H9999 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[18;1Habcdefghijklmnoparstuvwxyz0123456789
10000 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[20;1Habcdefghijklmnoparstuvwxyz0123456789
[1m[34m~ [m[23;1H[7mXtest [+] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25honly!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hbwipe! Xtest
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall rename('Xswap', swapname)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hrecover Xtest
[?25lUsing swap file ".Xtest.swp"
Original file "/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtest"
[23;1H"/<<PKGBUILDDIR>>/src/vim-basic/testdir/Xtest" [New File][23;72H[K[24;1HRecovery 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.
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall delete(swapname)
[?25l[1;1H[8L[1;1H1[7Cabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[2;1Habcdefghijklmnoparstuvwxyz0123456789
2[7Cabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[4;1Habcdefghijklmnoparstuvwxyz0123456789
3[7Cabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[6;1Habcdefghijklmnoparstuvwxyz0123456789
4[7Cabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[8;1Habcdefghijklmnoparstuvwxyz0123456789
5 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[10;1Habcdefghijklmnoparstuvwxyz0123456789[10;37H[K[11;1H6 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[12;1Habcdefghijklmnoparstuvwxyz0123456789[12;37H[K[13;1H7 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[14;1Habcdefghijklmnoparstuvwxyz0123456789[14;37H[K[15;1H8 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[16;1Habcdefghijklmnoparstuvwxyz0123456789[16;37H[K[17;1H9 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[18;1Habcdefghijklmnoparstuvwxyz0123456789[18;37H[K[19;1H10 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[20;1Habcdefghijklmnoparstuvwxyz0123456789[20;37H[K[21;1H11 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[22;1Habcdefghijklmnoparstuvwxyz0123456789[22;37H[K[23;1H12 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789[23;1H[1m[34m@ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1H1[78C99[14;1Ha
2[78C99[16;1Ha
3[78C99[18;1Ha
4 [77C99[20;1Ha
5 [77C99[22;1Ha
[7mXtest [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(0, 'recovery start')
[?25l[1;11r[1;1H[L[1;24r[1;1Hrecovery start[12;11H[1m[7m[+][m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hwincmd w
[?25l[12;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7mXtest [+] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet linedollar = line('$')
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif linedollar < linecount | exe 'wincmd w' | call append(line('$'), "expected
[23;80H"[24;1H . linecount . " lines but found only " . linedollar) | exe 'wincmd w' | let li
[23;80Hn[24;1Hecount = linedollar | endif
[?25l[1;1H[2L[1;1Hrecovery start[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet i = 1
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwhile i <= linecount | if getline(i) != i . text | exe 'wincmd w' | call appen
[23;80Hd[24;1H(line('$'), i . ' differs') | exe 'wincmd w' | endif | let i += 1 | endwhile
[?25l[1;1H[L[1;1Hrecovery start[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hq!
[?25l[12;1H[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), 'recovery end')
[?25l[3;1Hrecovery end[3;13H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 3L, 29C written[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test83.in" 76 lines, 1273 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for tag search with !_TAG_FILE_ENCODING.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 58 lines, 1021 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=utf8
[?25l[27m[23m[m[H[2J[1;1H: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[13;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[4L[?25l[1;1H:tag abc50
:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'
: close
: put ='case3: failed'[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt
[?25l"Xtags1.txt" [24;14H[K[24;14H[New File] 2 lines, 35 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt
[?25l"Xtags2.txt" [24;14H[K[24;14H[New File] 2 lines, 25 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt
[?25l"Xtags3.txt" [24;14H[K[24;14H[New File] 2 lines, 25 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^tags1$/+1,/^tags1-end$/-1w! Xtags1
[?25l"Xtags1" [24;10H[K[24;10H[New File] 2 lines, 81 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HTests 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[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall setline('.', 'Results of test83')
[?25l[1;1HResults of test83
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" case1:
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[12;1H[1m[7m[No Name] [m[13;1HResults of test83[13;18H[K[23;1H[7mtest83.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset tags=Xtags1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v:errmsg = ''
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htag abcdefghijklmnopqrs
[?25l"Xtags1.txt" [24;14H[K[24;14H2 lines, 35 characters[1;1Htext for tags1
abcdefghijklmnopqrs[2;20H[K[12;1H[1m[7mXtags1.txt[2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1HResults of test83
case1: ok
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [12;1H~ [13;1H~ [23;1H~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" case2:
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [m[12;1H[1m[7m[No Name] [m[13;1HResults of test83[13;18H[K[14;1Hcase1: ok[14;10H[K[23;1H[7mtest83.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset tags=test83-tags2
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v:errmsg = ''
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htag /.BC
[?25l"Xtags2.txt" 2 lines, 25 characters[1;1Htext for tags2
ABC[2;7H[K[12;1H[1m[7mXtags2.txt[2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1HResults of test83
case1: ok
case2: ok
[1m[34m~ [5;1H~ [6;1H~ [12;1H~ [13;1H~ [14;1H~ [23;1H~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" case3:
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [m[12;1H[1m[7m[No Name] [m[13;1Hcase1: ok[13;10H[K[14;1Hcase2: ok[14;10H[K[23;1H[7mtest83.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset tags=test83-tags3
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v:errmsg = ''
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htag abc50
[?25l"Xtags3.txt" 2 lines, 25 characters[1;1Htext for tags3
ABC[2;7H[K[12;1H[1m[7mXtags3.txt[2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1HResults of test83
case1: ok
case2: ok
case3: ok
[1m[34m~ [6;1H~ [12;1H~ [13;1H~ [14;1H~ [23;1H~ [m[24;1H[K[4;1H[?12l[?25h[?25l[24;1H:[?12l[?25hclose
[?25l[1m[37m[41mE37: No write since last change (add ! to override)[4;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test89.in" 71 lines, 1514 characters[1;1H- 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1H- Some tests for setting 'number' and 'relativenumber'[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 63 lines, 1305 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden nocp nu rnu viminfo+=nviminfo
[?25l[1;1H[33m 21 [m:$put g[1;12H[K[2;1H[33m 20 [m:$put h
[33m 19 [m:"[3;7H[K[4;1H[33m 18 [m:let cwd=getcwd()
[33m 17 [m:cd ..[5;11H[K[6;1H[33m 16 [m:" Tests may be run from a shadow directory, so an extra cd needs to be donee[7;1H[33m [m to[7;8H[K[8;1H[33m 15 [m:" get above src/
[33m 14 [m:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif
[33m 13 [m:$put =''
[33m 12 [m:$put ='Testing findfile'
[33m 11 [m:$put =''
[33m 10 [m:set ssl
[33m 9 [m:$put =findfile('test19.in','src/test*')
[33m 8 [m:exe "cd" cwd
[33m 7 [m:cd ..
[33m 6 [m:$put =findfile('test19.in','test*')
[33m 5 [m:$put =findfile('test19.in','testdir')
[33m 4 [m:exe "cd" cwd
[33m 3 [m:/^results/,$w! test.out
[33m 2 [m:q!
[33m 1 [mENDTEST
[33m71 [?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir @a | set nu? rnu? | redir END
[?25l[24;1H[K[24;1H number
relativenumber
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he! xx
[?25l"xx" [New File][1;1H[2L[1;1H[33m1 [m
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;3H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hredir @b | set nu? rnu? | redir END
[?25l[24;1H[K[24;1H number
relativenumber
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he! #
[?25l"test89.in" line 71 of 71 --100%-- col 1[1;1H[2L[1;1H[33m 21 [m:$put g
[33m 20 [m:$put h
[33m 19 [m:"[3;7H[K[4;1H[33m 18 [m:let cwd=getcwd()[4;22H[K[5;1H[33m 17 [m:cd ..[5;11H[K[6;1H[33m 16 [m:" Tests may be run from a shadow directory, so an extra cd needs to be donee[7;1H[33m [m to[7;8H[K[8;1H[33m 15 [m:" get above src/[8;22H[K[9;1H[33m 14 [m:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif[9;79H[K[10;1H[33m 13 [m:$put =''[10;14H[K[11;1H[33m 12 [m:$put ='Testing findfile'[11;30H[K[12;1H[33m 11 [m:$put =''[12;14H[K[13;1H[33m 10 [m:set ssl[13;13H[K[14;1H[33m 9 [m:$put =findfile('test19.in','src/test*')[14;45H[K[15;1H[33m 8 [m:exe "cd" cwd[15;18H[K[16;1H[33m 7 [m:cd ..[16;11H[K[17;1H[33m 6 [m:$put =findfile('test19.in','test*')[17;41H[K[18;1H[33m 5 [m:$put =findfile('test19.in','testdir')[18;43H[K[19;1H[33m 4 [m:exe "cd" cwd[19;18H[K[20;1H[33m 3 [m:/^results/,$w! test.out[20;29H[K[21;1H[33m 2 [m:q![21;8H[K[22;1H[33m 1 [mENDTEST[22;12H[K[23;1H[33m71 [m[23;5H[K[24;3H[K[24;1H"test89.in" line 71 of 71 --100%-- col 1[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='results:'
[?25l[1;23r[23;1H
[1;24r[1;3H[33m1
20
19
18
17[m[76Cee[6;1H[33m
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
72 [mresults:[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put a
[?25l3 more lines[1;23r[1;1H[3M[1;24r[1;2H[33m21
20[m[76Cee[3;1H[33m
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1 [m number
[33m75 [m relativenumber[24;1H[K[24;1H3 more lines[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put b
[?25l3 more lines[1;23r[1;1H[3M[1;24r[1;2H[33m22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1 [m number
[33m78 [m relativenumber[24;1H[K[24;1H3 more lines[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[1;1H:" get above src/[1;18H[K[2;1H:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif[2;75H[K[3;1H:$put =''[3;11H[K[4;1H:$put ='Testing findfile'[4;26H[K[5;1H:$put =''[5;11H[K[6;1H:set ssl[6;10H[K[7;1H:$put =findfile('test19.in','src/test*')[7;41H[K[8;1H:exe "cd" cwd[8;15H[K[9;1H:cd ..[9;7H[K[10;1H:$put =findfile('test19.in','test*')[10;37H[K[11;1H:$put =findfile('test19.in','testdir')[11;39H[K[12;1H:exe "cd" cwd[12;15H[K[13;1H:/^results/,$w! test.ou[13;25H[K[14;1H:q![14;4H[K[15;1HENDTEST[15;8H[K[16;1H[K[17;1Hresults:[17;9H[K[18;1H[K[19;1H number[19;9H[K[20;1H relativenumber[20;17H[K[21;1H[K[22;1H number[22;9H[K[23;1H relativenumber[23;17H[K[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal nu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal rnu
[?25l[1;1H[33m 22 [m:" get above src/
[33m 21 [m:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif
[33m 20 [m:$put =''
[33m 19 [m:$put ='Testing findfile'
[33m 18 [m:$put =''
[33m 17 [m:set ssl
[33m 16 [m:$put =findfile('test19.in','src/test*')
[33m 15 [m:exe "cd" cwd
[33m 14 [m:cd ..
[33m 13 [m:$put =findfile('test19.in','test*')
[33m 12 [m:$put =findfile('test19.in','testdir')
[33m 11 [m:exe "cd" cwd
[33m 10 [m:/^results/,$w! test.out
[33m 9 [m:q!
[33m 8 [mENDTEST
[33m 7
6 [mresults:
[33m 5
4 [m number
[33m 3 [m relativenumber
[33m 2
1 [m number
[33m 0 [m relativenumber[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @c | setglobal nu? | redir END
[?25l[24;1H[K[24;1H number[23;7H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[1;1H:" get above src/[1;18H[K[2;1H:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif[2;75H[K[3;1H:$put =''[3;11H[K[4;1H:$put ='Testing findfile'[4;26H[K[5;1H:$put =''[5;11H[K[6;1H:set ssl[6;10H[K[7;1H:$put =findfile('test19.in','src/test*')[7;41H[K[8;1H:exe "cd" cwd[8;15H[K[9;1H:cd ..[9;7H[K[10;1H:$put =findfile('test19.in','test*')[10;37H[K[11;1H:$put =findfile('test19.in','testdir')[11;39H[K[12;1H:exe "cd" cwd[12;15H[K[13;1H:/^results/,$w! test.ou[13;25H[K[14;1H:q![14;4H[K[15;1HENDTEST[15;8H[K[16;1H[K[17;1Hresults:[17;9H[K[18;1H[K[19;1H number[19;9H[K[20;1H relativenumber[20;17H[K[21;1H[K[22;1H number[22;9H[K[23;1H relativenumber[23;17H[K[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal rnu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal nu
[?25l[1;1H[33m 56 [m:" get above src/
[33m 57 [m:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif
[33m 58 [m:$put =''
[33m 59 [m:$put ='Testing findfile'
[33m 60 [m:$put =''
[33m 61 [m:set ssl
[33m 62 [m:$put =findfile('test19.in','src/test*')
[33m 63 [m:exe "cd" cwd
[33m 64 [m:cd ..
[33m 65 [m:$put =findfile('test19.in','test*')
[33m 66 [m:$put =findfile('test19.in','testdir')
[33m 67 [m:exe "cd" cwd
[33m 68 [m:/^results/,$w! test.out
[33m 69 [m:q!
[33m 70 [mENDTEST
[33m 71
72 [mresults:
[33m 73
74 [m number
[33m 75 [m relativenumber
[33m 76
77 [m number
[33m 78 [m relativenumber[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @d | setglobal rnu? | redir END
[?25l[24;1H[K[24;1H relativenumber[23;7H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25h$put =':setlocal must NOT reset the other global value'
[?25l[1;23r[23;1H
[1;24r[23;1H[33m 79 [m:setlocal must NOT reset the other global value[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put c
[?25l[1;23r[1;1H[2M[1;24r[22;1H[33m 80
81 [m number[24;1H[K[23;7H[?12l[?25h[?25l
:[?12l[?25h$put d
[?25l[1;23r[1;1H[2M[1;24r[22;1H[33m 82
83 [m relativenumber[24;1H[K[23;7H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[1;1H:set ssl[1;10H[K[2;1H:$put =findfile('test19.in','src/test*')[2;41H[K[3;1H:exe "cd" cwd[3;15H[K[4;1H:cd ..[4;7H[K[5;1H:$put =findfile('test19.in','test*')[5;37H[K[6;1H:$put =findfile('test19.in','testdir')[6;39H[K[7;1H:exe "cd" cwd[7;15H[K[8;1H:/^results/,$w! test.ou[8;25H[K[9;1H:q![9;4H[K[10;1HENDTEST[10;8H[K[11;1H[K[12;1Hresults:[12;9H[K[13;1H[K[14;1H number[14;9H[K[15;1H relativenumber[15;17H[K[16;1H[K[17;1H number[17;9H[K[18;1H relativenumber[18;17H[K[19;1H:setlocal must NOT reset the other global value[19;48H[K[20;1H[K[21;1H number[21;9H[K[22;1H[K[23;1H relativenumber[23;17H[K[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal nu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal rnu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @e | setglobal nu? | redir END
[?25l[24;1H[K[24;1H number[23;3H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal rnu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal nu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @f | setglobal rnu? | redir END
[?25l[24;1H[K[24;1H relativenumber[23;3H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25h$put =':setglobal MUST reset the other global value'
[?25l[1;23r[23;1H
[1;24r[23;1H:setglobal MUST reset the other global value[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put e
[?25l[1;23r[1;1H[2M[1;24r[23;3Hnumber[24;1H[K[23;3H[?12l[?25h[?25l
:[?12l[?25h$put f
[?25l[1;23r[1;1H[2M[1;24r[23;3Hrelativenumber[24;1H[K[23;3H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nu
[?25l[1;1H[33m 66 [m:$put =findfile('test19.in','testdir')
[33m 67 [m:exe "cd" cwd
[33m 68 [m:/^results/,$w! test.out
[33m 69 [m:q!
[33m 70 [mENDTEST
[33m 71
72 [mresults:
[33m 73
74 [m number
[33m 75 [m relativenumber
[33m 76
77 [m number
[33m 78 [m relativenumber
[33m 79 [m:setlocal must NOT reset the other global value
[33m 80
81 [m number
[33m 82
83 [m relativenumber
[33m 84 [m:setglobal MUST reset the other global value
[33m 85
86 [m number
[33m 87
88 [m relativenumber[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset rnu
[?25l[1;2H[33m22
21
20
1
18
17
16
15
1
13
12
11
10
8
7
6
5
3
2
1
88 [m [?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @g | setglobal nu? | redir END
[?25l[24;1H[K[24;1H number[23;7H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[1;1H:$put =findfile('test19.in','testdir')[1;39H[K[2;1H:exe "cd" cwd[2;15H[K[3;1H:/^results/,$w! test.ou[3;25H[K[4;1H:q![4;4H[K[5;1HENDTEST[5;8H[K[6;1H[K[7;1Hresults:[7;9H[K[8;1H[K[9;1H number[9;9H[K[10;1H relativenumber[10;17H[K[11;1H[K[12;1H number[12;9H[K[13;1H relativenumber[13;17H[K[14;1H:setlocal must NOT reset the other global value[14;48H[K[15;1H[K[16;1H number[16;9H[K[17;1H[K[18;1H relativenumber[18;17H[K[19;1H:setglobal MUST reset the other global value[19;45H[K[20;1H[K[21;1H number[21;9H[K[22;1H[K[23;1H relativenumber[23;17H[K[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset rnu
[?25l[1;1H[33m 22 [m:$put =findfile('test19.in','testdir')
[33m 21 [m:exe "cd" cwd
[33m 20 [m:/^results/,$w! test.out
[33m 19 [m:q!
[33m 18 [mENDTEST
[33m 17
16 [mresults:
[33m 15
14 [m number
[33m 13 [m relativenumber
[33m 12
11 [m number
[33m 10 [m relativenumber
[33m 9 [m:setlocal must NOT reset the other global value
[33m 8
7 [m number
[33m 6
5 [m relativenumber
[33m 4 [m:setglobal MUST reset the other global value
[33m 3
2 [m number
[33m 1
0 [m relativenumber[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nu
[?25l[23;1H[33m88 [m [?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @h | setglobal rnu? | redir END
[?25l[24;1H[K[24;1H relativenumber[23;7H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25h$put =':set MUST reset the other global value'
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
89 [m:set MUST reset the other global value[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put g
[?25l[1;23r[1;1H[2M[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
91 [m number[24;1H[K[23;7H[?12l[?25h[?25l
:[?12l[?25h$put h
[?25l[1;23r[1;1H[2M[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
93 [m relativenumber[24;1H[K[23;7H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet cwd=getcwd()
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-basic[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Tests may be run from a shadow directory, so an extra cd needs to be done to
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" get above src/
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif
[?25l/<<PKGBUILDDIR>>[24;31H[K[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
94 [m[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put ='Testing findfile'
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
95 [mTesting findfile[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
96 [m[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25hset ssl
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =findfile('test19.in','src/test*')
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
97 [msrc/testdir/test19.in[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25hexe "cd" cwd
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-basic[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =findfile('test19.in','test*')
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
98 [mtestdir/test19.in[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put =findfile('test19.in','testdir')
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
99 [mtestdir/test19.in[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25hexe "cd" cwd
[?25l/<<PKGBUILDDIR>>/src/vim-basic/testdir[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^results/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New] 28L, 356C written[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_arglist.vim" 318 lines, 6653 characters
Executing Test_argadd()
"a" [New File][24;15H[K[24;2Hbababababd
Executing Test_argc()
"a" [New File][24;15H[K[24;1H
Executing Test_argdelete()
"a" [New File][24;15H[K[24;3Ha" [New File]
"bb
Executing Test_argedit()
"a" [New File][24;15H[K[24;2Hba
"c" [New File]
"x
"y" [New File]
Executing Test_argidx()
"a" [New File][24;15H[K[24;2Hcabc
Executing Test_arglist_autocmd()
"Xxx1" [24;8H[K[24;8H1L, 15C
"Xxx2[24;8H[K[24;8H1L, 15C[24;8H[K[24;8H1L, 15C
"Xxx1" line 1 of 1 --100%-- col 1 ((3) of 2)
"Xxx2[30C1 of 2)[24;43H[K[24;1H
3 buffers wiped out
Executing Test_arglistid()
"a" [New File][24;15H[K[24;1H
Executing Test_argpos()
"a" [New File][24;15H[K[24;2Hd
"c" [New File]
"ba
"d" [New File]
"a
Executing Test_argument()
"d" [New File][24;15H[K[24;2Hcba[7Cfile] --No lines in buffer-- (1 of 4)
"c[37C3
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)
"a[7CF[24;16H[K[24;2Hbedited" [New File]
"a" [New File][24;15H[K[24;2Htest_arglist.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 11 tests
"messages" [New File][24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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()
[28C[30m[43moooo$$$$$$$$$$$$oooo[m
[24C[30m[43moo$$$$$$$$$$$$$$$$$$$$$$$$o[m
[21C[30m[43moo$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o[9Co$[m [30m[43m$$[m [30m[43mo$[m
[30m[43mo[m [30m[43m$[m [30m[43moo[8Co$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o[7C$$[m [30m[43m$$[m [30m[43m$$o$[m
[30m[43moo[m [30m[43m$[m [30m[43m$[m "[30m[43m$[m [30m[43mo$$$$$$$$$[m [30m[43m$$$$$$$$$$$$$[m [30m[43m$$$$$$$$$o[7C$$$o$$o$[m
"[30m[43m$$$$$$o$[m [30m[43mo$$$$$$$$$[m [30m[43m$$$$$$$$$$$[m [30m[43m$$$$$$$$$$o[m [30m[43m$$$$$$$$[m
[30m[43m$$$$$$$[m [30m[43m$$$$$$$$$$$[m [30m[43m$$$$$$$$$$$[m [30m[43m$$$$$$$$$$$$$$$$$$$$$$$[m
[30m[43m$$$$$$$$$$$$$$$$$$$$$$$[m [30m[43m$$$$$$$$$$$$$[m [30m[43m$$$$$$$$$$$$$$[m """[30m[43m$$$[m
"[30m[43m$$$[m""""[30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m "[30m[43m$$$[m
[30m[43m$$$[m [30m[43mo$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m "[30m[43m$$$o[m
[30m[43mo$$[m" [30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[7C$$$o[m
[30m[43m$$$[m [30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m" "[30m[43m$$$$$$ooooo$$$$o[m
[30m[43mo$$$oooo$$$$$[m [30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m [30m[43mo$$$$$$$$$$$$$$$$$[m
[30m[43m$$$$$$$$[m"[30m[43m$$$$[m [30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m [30m[43m$$$$[m""""""""
""""[7C[30m[43m$$$$[m "[30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m" [30m[43mo$$$[m
[14C"[30m[43m$$$o[m """[30m[43m$$$$$$$$$$$$$$$$$$[m"[30m[43m$$[m"[9C[30m[43m$$$[m
[16C[30m[43m$$$o[m[10C"[30m[43m$$[m""[30m[43m$$$$$$[m""""[11C[30m[43mo$$$[m
[17C[30m[43m$$$$o[32Co$$$[m"
[18C"[30m[43m$$$$o[m [30m[43mo$$$$$$o[m"[30m[43m$$$$o[8Co$$$$[m
[20C"[30m[43m$$$$$oo[m ""[30m[43m$$$$o$$$$$o[m [30m[43mo$$$$[m""
[23C""[30m[43m$$$$$oooo[m "[30m[43m$$$o$$$$$$$$$[m"""
[26C""[30m[43m$$$$$$$oo[m [30m[43m$$$$$$$$$$[m
[34C""""[30m[43m$$$$$$$$$$$[m
[38C[30m[43m$$$$$$$$$$$$[m
[39C[30m[43m$$$$$$$$$$[m"
[40C"[30m[43m$$$[m""""
[?12l[?25h[?25lExecuting Test_wrong_error_type()
"test_assert.res" [New File][24;29H[K[24;19H[K[24;19H[New] 0L, 0C written
Executed 12 tests
"messages" [24;13H[K[24;12H15L, 326C[24;12H[K[24;12H30L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_autochdir.vim" 17 lines, 332 characters
Executing Test_set_filename()
"samples/Xtest" [24;17H[K[24;17H[New] 0L, 0C written
"test_autochdir.res" [New File][24;32H[K[24;22H[K[24;22H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H30L, 734C[24;12H[K[24;12H34L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_backspace_opt.vim" 59 lines, 1673 characters
Executing Test_backspace_option()
"test_backspace_opt.res" [New File][24;26H[K[24;26H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H34L, 806C[24;12H[K[24;12H38L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_breakindent.vim" 241 lines, 7365 characters
Executing Test_breakindent01()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m
qrstuvwxyzABCDEF[7m|[m
GHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent02()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m
[1m[34m>>[mqrstuvwxyzABCD[7m|[m
[1m[34m>>[mEFGHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent03()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m
[1m[34m++[m qrstuvwxyzABCDEF[7m|[m
[1m[34m++[m GHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent04()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m
qrstuvwxyzABCDEFGH[7m|[m
IJKLMNOP[10C[7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent05()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m[3;7HqrstuvwxyzABCD[7m|[m[4;7HEFGHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent06()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m
qrstuvwxyzABCDEFG[7m|[m
HIJKLMNOP[8C[7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent07()[27m[23m[m[H[2J[1;1H[33m 1 [m[16C[7m|[m
[33m 2 [m abcdefghijkl[7m|[m
[1m[34m?[m[8Cmnopqrstuvw[7m|[m
[1m[34m?[m[8CxyzABCDEFGH[7m|[m
[1m[34m?[m[8CIJKLMNOP [7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent07a()[27m[23m[m[H[2J[1;1H[33m 1 [m[16C[7m|[m
[33m 2 [m abcdefghijkl[7m|[m
[33m [m[1m[34m?[m mnopqrstuvw[7m|[m
[33m [m[1m[34m?[m xyzABCDEFGH[7m|[m
[33m [m[1m[34m?[m IJKLMNOP [7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent08()[27m[23m[m[H[2J[1;1H[33m 1 [m[1m[34m$[m[15C[7m|[m
[33m 2 [m[34m^I[mabcdefghijklmn[7m|[m
[1m[34m#[m opqrstuvwxyzA[7m|[m
[1m[34m#[m BCDEFGHIJKLMN[7m|[m
[1m[34m#[m OP[1m[34m$[m[10C[7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;30HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;1H[33m 1 [m[1m[34m$[m[15C[7m|[m
[33m 2 [m[34m^I[mabcdefghijklmn[7m|[m
[1m[34m#[m opqrstuvwxyzA[7m|[m
[1m[34m#[m BCDEFGHIJKLMN[7m|[m
[1m[34m#[m OP[1m[34m$[m[10C[7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;1H[33m 1 [m[1m[34m$[m[15C[7m|[m
[33m 2 [m[34m^I[mabcdefghijklmn[7m|[m
[1m[34m#[m opqrstuvwxyzA[7m|[m
[1m[34m#[m BCDEFGHIJKLMN[7m|[m
[1m[34m#[m OP[1m[34m$[m[10C[7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent08a()[27m[23m[m[H[2J[1;1H[33m 1 [m[1m[34m$[m[15C[7m|[m
[33m 2 [m[34m^I[mabcdefghijklmn[7m|[m
[33m [m[1m[34m#[m opqrstuvwxyzA[7m|[m
[33m [m[1m[34m#[m BCDEFGHIJKLMN[7m|[m
[33m [m[1m[34m#[m OP[1m[34m$[m[10C[7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent09()[27m[23m[m[H[2J[1;1H[33m 1 [m[1m[34m$[m[15C[7m|[m
[33m 2 [m[34m^I[mabcdefghijklmn[7m|[m
[33m [m [1m[34m#[mopqrstuvwxyz[7m|[m
[33m [m [1m[34m#[mABCDEFGHIJKL[7m|[m
[33m [m [1m[34m#[mMNOP[1m[34m$[m[7C[7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent10()[27m[23m[m[H[2J[1;1H[33m 1 [m[16C[7m|[m
[33m 2 [m[8Cabcdefgh[7m|[m
[1m[34m~[m[11Cijklmnop[7m|[m
[1m[34m~[m[11Cqrstuvwx[7m|[m
[1m[34m~[m[11CyzABCDEF[7m|[m
[1m[34m~[m[11CGHIJKLMN[7m|[m
[1m[34m~[m[11COP [7m|[8;21H|[9;21H|[10;21H|[m[8;1H[1m[34m~
~
~ [m
[1m[7m[No Name] [+] [m[2;30HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;1H[33m 1 [m[16C[7m|[m
[33m 2 [m abcdefghijkl[7m|[m
[1m[34m~[m[7Cmnopqrstuvwx[7m|[m
[1m[34m~[m[7CyzABCDEFGHIJ[7m|[m
[1m[34m~[m[7CKLMNOP [7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;1H[33m 1 [m[16C[7m|[m
[33m 2 [m abcdefghijkl[7m|[m
[1m[34m~[m[7Cmnopqrstuvwx[7m|[m
[1m[34m~[m[7CyzABCDEFGHIJ[7m|[m
[1m[34m~[m[7CKLMNOP [7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent11()
Executing Test_breakindent12()[27m[23m[m[H[2J[1;1H[33m 1 [m[17C[7m|[m
[33m 2 [m[34m>--->--->--->--->[m[7m|[m
[33m [m[7C[34m---[m{ [7m|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[4;1H[1m[34m~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;42H{[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent13()
Executing Test_breakindent14()[24;1H[K[27m[23m[m[H[2J[1;31H[7m|[m
e[29C[7m|[3;31H|[4;31H|[5;31H|[6;31H|[7;31H|[8;31H|[9;31H|[10;31H|[m[3;1H[1m[34m~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;32He[3;32H[1m[34m~ [4;32H~ [5;32H~ [6;32H~ [7;32H~ [8;32H~ [9;32H~ [10;32H~ [m[11;32H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent15()[24;1H[K[27m[23m[m[H[2J[1;31H[7m|[m[2;9H1234567890[12C[7m|[3;31H|[4;31H|[5;31H|[6;31H|[7;31H|[8;31H|[9;31H|[10;31H|[m[3;1H[1m[34m~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;40H1234567890[3;32H[1m[34m~ [4;32H~ [5;32H~ [6;32H~ [7;32H~ [8;32H~ [9;32H~ [10;32H~ [m[11;32H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent16()[27m[23m[m[H[2J[1;5H1234567890123456[7m|[m
7890123456789012[7m|[m
3456789012345678[7m|[m
9012345678901234[7m|[m
5678901234567890[7m|[m
1234567890123456[7m|[m
[1m[7m[No Name] [+] [m[1;26H1234567890123456789012345678901234567890123456789012345[2;22H678901234567890123456789012345678901234567890[4;22H[1m[34m~ [5;22H~ [6;22H~ [m[7;22H[7m[No Name] [+] [m[8;1H" 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!
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;5H1234567890123456[7m|[m
7890123456789012[7m|[m
3456789012345678[7m|[m
9012345678901234[7m|[m
5678901234567890[7m|[m
1234567890123456[7m|[m
[1m[7m[No Name] [+] [m[1;26H1234567890123456789012345678901234567890123456789012345[2;22H678901234567890123456789012345678901234567890[4;22H[1m[34m~ [5;22H~ [6;22H~ [m[7;22H[7m[No Name] [+] [m[8;1H" 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!
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;5H1234567890123456[7m|[m
7890123456789012[7m|[m
3456789012345678[7m|[m
9012345678901234[7m|[m
5678901234567890[7m|[m
1234567890123456[7m|[m
[1m[7m[No Name] [+] [m[1;26H1234567890123456789012345678901234567890123456789012345[2;22H678901234567890123456789012345678901234567890[4;22H[1m[34m~ [5;22H~ [6;22H~ [m[7;22H[7m[No Name] [+] [m[8;1H" 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!
[7mtest_breakindent.vim [m[24;1H"test_breakindent.res" [New File][24;24H[K[24;24H[New] 0L, 0C written
Executed 18 tests
"messages" [24;13H[K[24;12H38L, 886C[24;12H[K[24;12H59L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_bufwintabinfo.vim" 116 lines, 3459 characters
Executing Test_get_buf_options()
Executing Test_get_win_options()
Executing Test_getbufwintabinfo()
"Xtestfile1" [New File][24;24H[K[24;11H212
Already only one window
"test_bufwintabinfo.res" [New File][24;26H[K[24;26H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H59L, 1492C[24;12H[K[24;12H65L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_cdo.vim" 205 lines, 5116 characters
Executing Test_cdo()
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C[24;11H3[24;14H[K[24;14H3L, 18C
(1 of 1): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
(7 of 8): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
(5 of 8): Line2
(1 of 1): Line2
Executing Test_ldo()
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C[24;11H3[24;14H[K[24;14H3L, 18C
(1 of 1): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
(7 of 8): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
(5 of 8): Line2
(1 of 1): Line2
"test_cdo.res" [New File][24;16H[K[24;16H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H65L, 1639C[24;12H[K[24;12H70L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_channel.vim" 1641 lines, 47075 characters
"test_channel.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 0 test
"messages"[24;12H[K[24;12H70L, 1718C[24;12H[K[24;12H73L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_charsearch.vim" 62 lines, 1475 characters
Executing Test_charsearch()
Executing Test_search_cmds()
"test_charsearch.res" [New File][24;23H[K[24;23H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H73L, 1758C[24;12H[K[24;12H78L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_cmdline.vim" 243 lines, 7346 characters
Executing Test_complete_list()[24;1H[K[24;1H:e test
test1.in[24Ctest86.in
test1.ok[24Ctest86.ok
test1.out[23Ctest86.out
test103.in[22Ctest87.in
test103.ok[22Ctest87.ok
test103.out[21Ctest87.out
test104.in[22Ctest88.in
test104.ok[22Ctest88.ok
test104.out[21Ctest88.out
test107.in[22Ctest89.in
test107.ok[22Ctest89.ok
test107.out[21Ctest89.out
test108.in[22Ctest9.in
test108.ok[22Ctest9.ok
test108.out[21Ctest9.out
test11.in[23Ctest90.in
test11.ok[23Ctest90.ok
test11.out[22Ctest90.out
test12.in[23Ctest91.in
test12.ok[23Ctest91.ok
test12.out[22Ctest91.out
test14.in[23Ctest94.in
test14.ok[23Ctest94.ok
test14.out[22Ctest94.out
test15.in[23Ctest95.in
test15.ok[23Ctest95.ok
test15.out[22Ctest95.out
test17.in[23Ctest97.in
test17.ok[23Ctest97.ok
test17.out[22Ctest97.out
test17a.in[22Ctest98.in
test19.in[23Ctest98.ok
test19.ok[23Ctest98.out
test19.out[22Ctest99.in
test20.in[23Ctest99.ok
test20.ok[23Ctest99.out
test20.out[22Ctest_alot.vim
test22.in[23Ctest_alot_latin.vim
test22.ok[23Ctest_alot_utf8.vim
test22.out[22Ctest_arglist.res
test23.in[23Ctest_arglist.vim
test23.ok[23Ctest_assert.res
test23.out[22Ctest_assert.vim
test24.in[23Ctest_assign.vim
test24.ok[23Ctest_autochdir.res
test24.out[22Ctest_autochdir.vim
test25.in[23Ctest_autocmd.vim
test25.ok[23Ctest_autocmd_option.in
test25.out[22Ctest_autocmd_option.ok
test26.in[23Ctest_autocmd_option.out
test26.ok[23Ctest_autoformat_join.in
test26.out[22Ctest_autoformat_join.ok
test28.in[23Ctest_autoformat_join.out
test28.ok[23Ctest_backspace_opt.res
test28.out[22Ctest_backspace_opt.vim
test29.in[23Ctest_breakindent.res
test29.ok[23Ctest_breakindent.vim
test29.out[22Ctest_bufwintabinfo.res
test3.in[24Ctest_bufwintabinfo.vim
test3.ok[24Ctest_cdo.res
test3.out[23Ctest_cdo.vim
test30.in[23Ctest_changelist.in
test30.ok[23Ctest_changelist.ok
test30.out[22Ctest_changelist.out
test31.in[23Ctest_channel.py
test31.ok[23Ctest_channel.res
test31.out[22Ctest_channel.vim
test32.in[23Ctest_channel_pipe.py
test32.ok[23Ctest_charsearch.res
test32.out[22Ctest_charsearch.vim
test33.in[23Ctest_close_count.in
test33.ok[23Ctest_close_count.ok
test33.out[22Ctest_close_count.out
test34.in[23Ctest_cmdline.vim
test34.ok[23Ctest_command_count.vim
test34.out[22Ctest_comparators.in
test36.in[23Ctest_comparators.ok
test36.ok[23Ctest_comparators.out
test36.out[22Ctest_crypt.vim
test37.in[23Ctest_cscope.vim
test37.ok[23Ctest_cursor_func.vim
test37.out[22Ctest_delete.vim
test38.in[23Ctest_diffmode.vim
test38.ok[23Ctest_digraph.vim
test38.out[22Ctest_display.vim
test39.in[23Ctest_erasebackword.in
test39.ok[23Ctest_erasebackword.ok
test39.out[22Ctest_erasebackword.out
test4.in[24Ctest_eval.in
test4.ok[24Ctest_eval.ok
test4.out[23Ctest_eval.out
test40.in[23Ctest_eval_func.vim
test40.ok[23Ctest_ex_undo.vim
test40.out[22Ctest_execute_func.vim
test41.in[23Ctest_expand.vim
test41.ok[23Ctest_expand_dllpath.vim
test41.out[22Ctest_expr.vim
test42.in[23Ctest_expr_utf8.vim
test42.ok[23Ctest_farsi.vim
test42.out[22Ctest_feedkeys.vim
test43.in[23Ctest_file_perm.vim
test43.ok[23Ctest_fileformat.vim
test43.out[22Ctest_filter_cmd.vim
test44.in[23Ctest_filter_map.vim
test44.ok[23Ctest_fixeol.in
test44.out[22Ctest_fixeol.ok
test45.in[23Ctest_fixeol.out
test45.ok[23Ctest_float_func.vim
test45.out[22Ctest_fnameescape.vim
test48.in[23Ctest_fnamemodify.vim
test48.ok[23Ctest_fold.vim
test48.out[22Ctest_functions.vim
test49.in[23Ctest_getcwd.in
test49.ok[23Ctest_getcwd.ok
test49.out[22Ctest_getcwd.out
test49.vim[22Ctest_gf.vim
test5.in[24Ctest_glob2regpat.vim
test5.ok[24Ctest_gn.vim
test5.out[23Ctest_goto.vim
test50.in[23Ctest_gui.vim
test50.ok[23Ctest_hardcopy.vim
test51.in[23Ctest_help_tagjump.vim
test51.ok[23Ctest_hide.vim
test51.out[22Ctest_history.vim
test52.in[23Ctest_hlsearch.vim
test52.ok[23Ctest_increment.vim
test52.out[22Ctest_increment_dbcs.vim
test53.in[23Ctest_insertcount.in
test53.ok[23Ctest_insertcount.ok
test53.out[22Ctest_insertcount.out
test54.in[23Ctest_job_fails.vim
test54.ok[23Ctest_join.vim
test54.out[22Ctest_json.vim
test55.in[23Ctest_jumps.vim
test55.ok[23Ctest_lambda.vim
test55.out[22Ctest_langmap.vim
test56.in[23Ctest_largefile.vim
test56.ok[23Ctest_lispwords.vim
test56.out[22Ctest_listchars.in
test57.in[23Ctest_listchars.ok
test57.ok[23Ctest_listchars.out
test57.out[22Ctest_listlbr.in
test58.in[23Ctest_listlbr.ok
test58.ok[23Ctest_listlbr.out
test58.out[22Ctest_listlbr_utf8.in
test59.in[23Ctest_listlbr_utf8.ok
test59.ok[23Ctest_listlbr_utf8.out
test59.out[22Ctest_man.vim
test60.in[23Ctest_mapping.vim
test60.ok[23Ctest_marks.vim
test60.out[22Ctest_match.vim
test60.vim[22Ctest_matchadd_conceal.vim
test64.in[23Ctest_matchadd_conceal_utf8.vim
test64.ok[23Ctest_menu.vim
test64.out[22Ctest_messages.vim
test65.in[23Ctest_mksession.vim
test65.ok[23Ctest_mksession_utf8.vim
test65.out[22Ctest_modeline.vim
test66.in[23Ctest_nested_function.vim
test66.ok[23Ctest_netbeans.py
test66.out[22Ctest_netbeans.vim
test67.in[23Ctest_normal.vim
test67.ok[23Ctest_options.vim
test67.out[22Ctest_packadd.vim
test68.in[23Ctest_partial.vim
test68.ok[23Ctest_perl.vim
test68.out[22Ctest_popup.vim
test69.in[23Ctest_profile.vim
test69.ok[23Ctest_quickfix.vim
test69.out[22Ctest_regexp_latin.vim
test7.in[24Ctest_regexp_utf8.vim
test7.ok[24Ctest_reltime.vim
test7.out[23Ctest_ruby.vim
test70.in[23Ctest_search.vim
test70.ok[23Ctest_search_mbyte.in
test70.out[22Ctest_search_mbyte.ok
test72.in[23Ctest_search_mbyte.out
test72.ok[23Ctest_searchpos.vim
test72.out[22Ctest_set.vim
test73.in[23Ctest_signs.vim
test73.ok[23Ctest_smartindent.vim
test73.out[22Ctest_sort.vim
test75.in[23Ctest_source.vim
test75.ok[23Ctest_source_utf8.vim
test75.out[22Ctest_startup.vim
test77.in[23Ctest_startup_utf8.vim
test77.ok[23Ctest_stat.vim
test77.out[22Ctest_statusline.vim
test77a.in[22Ctest_substitute.vim
test77a.ok[22Ctest_syn_attr.vim
test78.in[23Ctest_syntax.vim
test78.ok[23Ctest_system.vim
test78.out[22Ctest_tabline.vim
test79.in[23Ctest_tabpage.vim
test79.ok[23Ctest_tagcase.vim
test79.out[22Ctest_tagjump.vim
test8.in[24Ctest_taglist.vim
test8.ok[24Ctest_textobjects.vim
test8.out[23Ctest_timers.vim
test80.in[23Ctest_true_false.vim
test80.ok[23Ctest_undo.vim
test80.out[22Ctest_unlet.vim
test82.in[23Ctest_usercommands.vim
test82.ok[23Ctest_utf8.in
test82.out[22Ctest_utf8.ok
test83-tags2[20Ctest_utf8.out
test83-tags3[20Ctest_viminfo.vim
test83.in[23Ctest_viml.vim
test83.ok[23Ctest_visual.vim
test83.out[22Ctest_window_cmd.vim
test84.in[23Ctest_window_id.vim
test84.ok[23Ctest_wordcount.in
test84.out[22Ctest_wordcount.ok
test85.in[23Ctest_wordcount.out
test85.ok[23Ctest_writefile.vim
test85.out
:e test
"test" [New File]
Executing Test_complete_tab()[24;1H[K[24;1H:e Xtest...file
"Xtestfile" 1L, 9C
Executing Test_complete_wildmenu()[24;1H[K[24;1H:e Xtest...file1...[24;9H[K[24;9H
[23;1H[1m[7mXtestfile1 Xtestfile2 [m
[30m[43mXtestfile1[m[1m[7m [13C [m[24;1H:e Xtest...[23;1H[1m[7mXtestfile1[m
[30m[43mXtestfile1[m[1m[7m [m[24;9Hfile1...[23;1H[1m[7mXtestfile1[m[2C[30m[43mXtestfile2[m[1m[7m [m[24;13H2[24;14H[K[24;14H[23;1H:[1m[7mt[me Xtestfile2[23;14H[K[24;1H[K[23;1H"Xtestfile2" 1L, 10C
Executing Test_expand_star_star()[24;1H[K[24;1H:find **/fileXname...[24;7Ha/b/fileXname[24;20H[K[24;20H
"a/b/fileXname" [24;17H[K[24;17H1L, 9C
"Xtestfile2" [New File]
Executing Test_getcompletion()[24;1H[K[24;1H:cscope find
a c d e f g i s t
:cscope find [24;1H[K[24;1H:sign list
Testing
:sign list [24;1H[K[24;1HExecuting Test_illegal_address()
Executing Test_paste_in_cmdline()[24;1H[K[24;1H:abc "[24;6H[K[24;6Hdef ghi
:"abc def ghi
:"
[24;1H[K[24;1H:aaa "[24;6H[K[24;6Hasdf bbb
:"aaa asdf bbb
:"
[24;1H[K[24;1H:aaa "[24;6H[K[24;6H/tmp/some bbb
:"aaa /tmp/some bbb
:"
[24;1H[K[24;1H:aaa veryl"[24;11H[K[24;11Hongword bbb
:"aaa verylongword bbb
:"
[24;1H[K[24;1H:aaa "[24;6H[K[24;6Ha;b-c*d bbb
:"aaa a;b-c*d bbb
:"
[24;1H[K[24;1H:[24;1H[K[24;1H=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()[24;1H[K[24;1H:abc defef[24;8H[K[24;6H
:"abc ef
:"
[24;1H[K[24;1H:abc defdef[24;8H[K[24;5H
:"abcdef
:"
[24;1H[K[24;1H:abc def ghighi[24;10H[K[24;6H
:"abc ghi
:"
[24;1H[K[24;1H:abc def
:def[24;6H[K[24;2H"def
"test_cmdline.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 8 tests
"messages"[24;12H[K[24;12H78L, 1859C[24;12H[K[24;12H89L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_command_count.vim" 191 lines, 4742 characters
Executing Test_command_count_0()
"DoesNotExistEver" [New File][24;30H[K[24;1H
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][24;15H[K[24;2Hbeb
Executing Test_command_count_2()
"d" [New File]
"a
Already only one window
"x" [New File][24;15H[K[24;1H
Already only one window
Executing Test_command_count_3()
"aaa" [New File][24;17H[K[24;2Hbbb
"ccc
"test_command_count.vim" 191L, 4742C
2 buffers deleted
Executing Test_command_count_4()
"cc" [New File][24;16H[K[24;1H
"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][24;26H[K[24;26H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H89L, 2168C[24;12H[K[24;12H97L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_crypt.vim" 83 lines, 2590 characters
Executing Test_crypt_blowfish()
"Xtest.txt" [New File][24;23H[K[24;1H[K[24;1H:X
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: ******
Enter same key again: ******
[23;1H"Xtest.txt" [23;13H[K[23;13H[New][blowfish] 3L, 98C written
:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed 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][24;23H[K[24;1H[K[24;1H:X
[24;1H[K[24;1HEnter encryption key: ******
[24;1H[K[24;1HEnter same key again: ******
[23;1H"Xtest.txt" [23;13H[K[23;13H[New][blowfish2] 3L, 98C written
:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed encryption key for "Xtest.txt"
Enter encryption key: ******
"Xtest.txt" [blowfish2] 3L, 98C
Executing Test_crypt_zip()
"Xtest.txt" [New File][24;23H[K[24;1H[K[24;1H:X
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: ******
Enter same key again: ******
[23;1H"Xtest.txt" [23;13H[K[23;13H[New][crypted] 3L, 98C written
:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed 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][24;23H[K[24;13H[K[24;13H[New] 1L, 16C written[24;1H[K[24;1H:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed 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][24;23H[K[24;13H[K[24;13H[New] 1L, 16C written[24;1H[K[24;1H:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed encryption key for "Xtest.txt"
Enter encryption key: ******
"Xtest.txt" [readonly] 1L, 16C
Executing Test_uncrypt_blowfish()
"Xtest.txt" [New File][24;23H[K[24;13H[K[24;13H[converted][New][noeol] 1L, 80C written[24;1H[K[24;1H:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed 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][24;23H[K[24;13H[K[24;13H[converted][New][noeol] 1L, 103C written[24;1H[K[24;1H:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed encryption key for "Xtest.txt"
Enter encryption key: *******
"Xtest.txt" [blowfish2] 2L, 44C
Executing Test_uncrypt_zip()
"Xtest.txt" [New File][24;23H[K[24;13H[K[24;13H[converted][New][noeol] 1L, 45C written[24;1H[K[24;1H:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed encryption key for "Xtest.txt"
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: ******
"Xtest.txt" [converted][crypted] 2L, 26C[23;1H"test_crypt.res" [New File][23;28H[K[24;1H[K[23;18H[K[23;18H[converted][New] 0L, 0C written
Executed 8 tests
"messages"[24;12H[K[24;12H97L, 2380C[24;12H[K[24;12H108L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_cscope.vim" 279 lines, 10568 characters
"test_cscope.res" [New File][24;19H[K[24;19H[New] 0L, 0C written
Executed 0 test
"messages"[24;12H[K[24;12H108L, 2667C[24;12H[K[24;12H111L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_diffmode.vim" 237 lines, 4954 characters
Executing Test_diff_fold_sync()
Executing Test_diffget_diffput()
Executing Test_diffoff()[27m[23m[m[H[2J[1;1H[34m[47m [m[1m[34m[46m-------------------------------------[m[7m|[m
[34m[47m [m[1m[34m[46m-------------------------------------[m[7m|[m
[34m[47m [mTwo[34C[7m|[m
[34m[47m [mThree[32C[7m|[5;40H|[6;40H|[7;40H|[8;40H|[9;40H|[10;40H|[11;40H|[12;40H|[13;40H|[14;40H|[15;40H|[16;40H|[17;40H|[18;40H|[19;40H|[20;40H|[21;40H|[22;40H|[m[5;1H[34m[47m
[m[5;3H[1m[34m~ [6;3H~ [7;3H~ [8;3H~ [9;3H~ [10;3H~ [11;3H~ [12;3H~ [13;3H~ [14;3H~ [15;3H~ [16;3H~ [17;3H~ [18;3H~ [19;3H~ [20;3H~ [21;3H~ [22;3H~ [m
[7m[No Name] [+] [m[1;41H[34m[47m [m[44mOne [m[2;41H[34m[47m [m[44m [m[3;41H[34m[47m [mTwo[4;41H[34m[47m [mThree[5;41H[34m[47m [6;41H [7;41H [8;41H [9;41H [10;41H [11;41H [12;41H [13;41H [14;41H [15;41H [16;41H [17;41H [18;41H [19;41H [20;41H [21;41H [22;41H [m[5;43H[1m[34m~ [6;43H~ [7;43H~ [8;43H~ [9;43H~ [10;43H~ [11;43H~ [12;43H~ [13;43H~ [14;43H~ [15;43H~ [16;43H~ [17;43H~ [18;43H~ [19;43H~ [20;43H~ [21;43H~ [22;43H~ [m[23;41H[1m[7m[No Name] [+] [m[1;1HTwo
Three
[1m[34m~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~ [m[1;41HOne[1;44H[K[2;41H[K[3;41HTwo[3;44H[K[4;41HThree[4;46H[K[5;41H[1m[34m~ [6;41H~ [7;41H~ [8;41H~ [9;41H~ [10;41H~ [11;41H~ [12;41H~ [13;41H~ [14;41H~ [15;41H~ [16;41H~ [17;41H~ [18;41H~ [19;41H~ [20;41H~ [21;41H~ [22;41H~ [m
Executing Test_filler_lines()
7 more lines
10 more lines
Executing Test_setting_cursor()
"Xtest1" [New File][24;20H[K[24;1H
90 more lines
"Xtest1" [24;10H[K[24;10H[New] 91L, 262C written[24;7H2" [New File][24;21H[K[24;1H
100 more lines
"Xtest2"[24;10H[K[24;10H[New] 101L, 293C written[24;10H[K[24;10H101L, 293C[24;7H1[24;10H[K[24;10H91L, 262C
Executing Test_vert_split()
"Xtest" [24;9H[K[24;9H[New] 5L, 25C written[24;1H[K[24;1H"Xtest2" [New] 6L, 29C written
"Nop" [Modified][Not edited] line 4 of 6 --66%-- col 3[24;1H[K[24;1H"Xtest" 5L, 25C[24;7H2" [24;10H[K[24;10H6L, 29C
"test_diffmode.vim" 237L, 4954C[24;16Hres" [New File][24;31H[K[24;21H[K[24;21H[New] 0L, 0C written
Executed 6 tests
"messages"[24;12H[K[24;12H111L, 2706C[24;12H[K[24;12H120L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_digraph.vim" 461 lines, 14928 characters
Executing Test_digraph_cmndline()
Executing T
Executing Test_digraphs()[24;1H[K[24;1H
Executing Test_digraphs_option()[24;1H[K[24;1H
Executing Test_digraphs_output()
Executing Test_loadkeymap()[24;1H[K[24;1H"test_digraph.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H120L, 2928C[24;12H[K[24;12H128L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_display.vim" 39 lines, 849 characters[?1l>[?12l[?25h[?1049l[m[m[0m[H[2J[m[0m[24;1HExecuting Test_display_foldcolumn()[m[m[0m[H[2J[1;1He more noise blah blah[34m<82[0m[7m|[0m
[34m>[0m more stuff here[8C[7m|[3;26H|[4;26H|[5;26H|[6;26H|[7;26H|[8;26H|[9;26H|[10;26H|[11;26H|[0m[3;1H[1m[34m~
~
~
~
~
~
~
~
~ [0m
[1m[7m[No Name] [+] [0m[2;27H[1m[34m~ [3;27H~ [4;27H~ [5;27H~ [6;27H~ [7;27H~ [8;27H~ [9;27H~ [10;27H~ [11;27H~ [0m[12;27H[7m[No Name] [0m[13;1H" 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))[22;9Hcall add(line, nr2char(screenchar(a:lnum+j, c)))
[7mtest_display.vim [m[m[0m[H[2J[1;1H[34m[47m [0me more noise blah blah[34m<[0m[7m|[0m
[34m[47m [0m[34m82>[0m more stuff here [7m|[3;26H|[4;26H|[5;26H|[6;26H|[7;26H|[8;26H|[9;26H|[10;26H|[11;26H|[0m[3;1H[34m[47m
[0m[3;3H[1m[34m~ [4;3H~ [5;3H~ [6;3H~ [7;3H~ [8;3H~ [9;3H~ [10;3H~ [11;3H~ [0m
[1m[7m[No Name] [+] [0m[2;27H[1m[34m~ [3;27H~ [4;27H~ [5;27H~ [6;27H~ [7;27H~ [8;27H~ [9;27H~ [10;27H~ [11;27H~ [0m[12;27H[7m[No Name] [0m[13;1H" 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))[22;9Hcall add(line, nr2char(screenchar(a:lnum+j, c)))
[7mtest_display.vim [0m[24;1H"test_display.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H128L, 3123C[24;12H[K[24;12H132L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_farsi.vim" 84 lines, 2881 characters
Executed 2 tests
"messages"[24;12H[K[24;12H[converted] 132L, 3199C[24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_fnameescape.vim" 21 lines, 467 characters
Executing Test_fnameescape()
"Xspa ce"[24;11H[K[24;11H[New] 21L, 467C written
"Xemark![24;11H[K[24;11H[New] 21L, 467C written
"test_fnameescape.res" [New File][24;24H[K[24;24H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H137L, 3295C[24;12H[K[24;12H141L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;27H[K[24;17H[K[24;17H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H141L, 3368C[24;12H[K[24;12H147L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_gf.vim" 33 lines, 1138 characters
Executing Test_gf_url()
"test_gf.res" [New File][24;15H[K[24;15H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H147L, 3495C[24;12H[K[24;12H151L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_gn.vim" 93 lines, 2821 characters
Executing Test_gn_command()[24;1H[K[24;1H/[u]niquepattern/s
[24;17H[K[24;1H[24;1H[K[24;1H/a:0\@!\zs\d\+
[24;1H[K[24;1H"test_gn.res" [New File][24;15H[K[24;15H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H151L, 3554C[24;12H[K[24;12H155L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_gui.vim" 36 lines, 838 characters
"test_gui.res" [New File][24;16H[K[24;16H[New] 0L, 0C written
Executed 0 test
"messages"[24;12H[K[24;12H155L, 3617C[24;12H[K[24;12H158L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_hardcopy.vim" 62 lines, 2001 characters
Executing Test_printheader_parsing()
Executing Test_printmbfont_parsing()
Executing Test_printoptions_parsing()
Executing Test_with_syntax()[24;1H[K[24;1H[32mPrinting page 1 (0%)[m[24;1H[K[24;1H[32mPrinted: test_hardcopy.vim[m
"test_hardcopy.res" [New File][24;21H[K[24;21H[New] 0L, 0C written
Executed 4 tests
"messages"[24;12H[K[24;12H158L, 3653C[24;12H[K[24;12H165L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_hide.vim" 97 lines, 2443 characters
Executing Test_hide()
"Xf1" [New File][24;17H[K[24;1H
"Xf1" [New File]
"Xf212121
one|two
"Xf1" [New File]
"Xf212
"test_hide.res" [New File][24;17H[K[24;17H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H165L, 3836C[24;12H[K[24;12H169L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_history.vim" 106 lines, 3567 characters
Executing Test_History()
Executing Test_Search_history_window()[24;1H[K[24;1H/a
[24;1H[K[24;1H/b
[24;1H[K[24;1H/[27m[23m[m[H[2J[1;1Ha
b
a
b
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [+] [m[13;1H" Tests for the history functions
[7mtest_history.vim [m[16;1H[1m[34m/[ma
[1m[34m/[mb
[1m[34m/
/
/
/
/[19;2H~ [20;2H~ [21;2H~ [22;2H~ [m[23;1H[1m[7m[Command Line] [18;2H[?12l[?25h[17;2H[16;2H[24;1H[?25l[m/a
"test_history.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H169L, 3895C[24;12H[K[24;12H174L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_hlsearch.vim" 34 lines, 1013 characters
Executing Test_hlsearch()[24;1H[K[24;1H/aaa
[27m[23m[m[H[2J[1;1H[30m[43maaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[m
[1m[34m~ [m[12;1H[1m[7m[No Name] [+] [m[13;1H" Test for v:hlsearch
function! Test_hlsearch()
new
call setline(1, repeat(['[30m[43maaa[m'], 10))
set hlsearch nolazyredraw
let r=[]
" redraw is needed to make hlsearch highlight the matches
exe "normal! /[30m[43maaa[m\<CR>" | redraw
let r1 = screenattr(1, 1)
[7mtest_hlsearch.vim [m[1;1Haaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[1;1H[30m[43maaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[m[1;1Haaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[1;1H[30m[43maaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[m[1;1Haaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa
/aaa
[1;1H[30m[43maaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[m[1;1Haaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[24;1H[K[24;1H//aaa
[1;1H[30m[43maaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[m[24;1H[K[24;1H//aaa
[1;1Haaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa
"test_hlsearch.res" [New File][24;21H[K[24;21H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H174L, 4000C[24;12H[K[24;12H178L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_increment.vim" 760 lines, 19011 characters
Executing Test_normal_increment_01()
"dummy" [New File][24;19H[K[24;1H
Executing Test_normal_increment_02()
"dummy" [New File][24;19H[K[24;1H
Executing Test_normal_increment_03()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_01()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_02()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_03()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_04()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_05()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_06()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_07()
"dummy" [New File][24;19H[K[24;1H5 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_08()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_09()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_10()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_11()
"dummy" [New File][24;19H[K[24;1H3 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_12()
"dummy" [New File][24;19H[K[24;1H3 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_13()
"dummy" [New File][24;19H[K[24;1H3 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_14()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_15()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_16()
"dummy" [New File][24;19H[K[24;1H3 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_17()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_18()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_19()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_20()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_21()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_22()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_23()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_24()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_25()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_26()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_27()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_28()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_29()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_30()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_31()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_32()
"dummy" [New File][24;19H[K[24;7H_31" [New File]
Executing Test_visual_increment_33()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_34()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_35()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_36()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_37()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_38()
"dummy" [New File][24;19H[K[24;1H[K[24;1H"test_increment.res" [New File][24;22H[K[24;22H[New] 0L, 0C written
Executed 41 tests
"messages" [24;13H[K[24;12H178L, 4067C[24;12H[K[24;12H222L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_increment_dbcs.vim" 30 lines, 604 characters
Executing Test_increment_dbcs_1()
"test_increment_dbcs.res" [New File][24;27H[K[24;27H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H[converted] 222L, 5628C[24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_job_fails.vim" 19 lines, 598 characters
Executing Test_job_start_fails()[?12l[?25h[?25l
"test_job_fails.res" [New File][24;32H[K[24;22H[K[24;22H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H226L, 5709C[24;12H[K[24;12H230L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;17H[K[24;17H[New] 0L, 0C written
Executed 4 tests
"messages"[24;12H[K[24;12H230L, 5784C[24;12H[K[24;12H237L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_langmap.vim" 28 lines, 628 characters
Executing Test_langmap()
"test_langmap.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H237L, 5934C[24;12H[K[24;12H241L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;16H[K[24;16H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H241L, 5999C[24;12H[K[24;12H246L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_marks.vim" 26 lines, 775 characters
Executing Test_Incr_Marks()
Executing Test_Restore_DelMark()[24;1H[K[24;1H1 more line; before #2 0 seconds ago
1 line less; after #2 0 seconds ago[24;37H[K[24;3Hmore line; before #2 0 seconds ago
"test_marks.res" [New File][24;28H[K[24;18H[K[24;18H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H246L, 6102C[24;12H[K[24;12H251L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_matchadd_conceal.vim" 289 lines, 9276 characters[?1l>[?12l[?25h[?1049l[m[m[0m[H[2J[m[0m[24;1HExecuting Test_clearmatches()[m[m[0m[H[2J[2;1H# This is a Test
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H" 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
[7mtest_matchadd_conceal.vim [m[m[0m[H[2J[2;1H#[37m[40mZ[0mThis[37m[40mZ[0mis[37m[40mZ[0ma[37m[40mZ[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H" 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
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_default_conceal_char()[m[m[0m[H[2J[2;1H#[37m[40m [0mThis[37m[40m [0mis[37m[40m [0ma[37m[40m [0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H" 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
[7mtest_matchadd_conceal.vim [m[m[0m[H[2J[2;1H#[37m[40m+[0mThis[37m[40m+[0mis[37m[40m+[0ma[37m[40m+[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H" 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
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_matchadd_and_conceallevel_3()[m[m[0m[H[2J[2;1H[34m#ThisisaTest[0m
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [m[m[0m[H[2J[2;1H[34m#Thisisa[0m[1m[37m[41m Test[0m
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_matchadd_and_syn_conceal()[m[m[0m[H[2J[1;1HInductive [37m[40m-[0m : Type := | true : [37m[40m-[0m | false : [37m[40m-[0m.
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [m[m[0m[H[2J[1;1HInductive[31m [0m[37m[40m-[0m[31m [0m: Type := | true : [37m[40m-[0m | false : [37m[40m-[0m.
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_matchadd_repeat_conceal_with_syntax_off()[1;1H[K[2;1HTARGET_TARGETTARGET
[37m[40mt[0m_[37m[40mtt[0m[2;5H[K[24;16Hsimple_matchadd()[24;33H[K[m[m[0m[H[2J[2;1H#[37m[40m [0mThis[37m[40m [0mis[37m[40m [0ma[37m[40m [0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_simple_matchadd_and_conceal()[m[m[0m[H[2J[2;1H#[37m[40mX[0mThis[37m[40mX[0mis[37m[40mX[0ma[37m[40mX[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_syn_and_match_conceal()[m[m[0m[H[2J[2;1H#[37m[40mZ[0mThis[37m[40mZ[0mis[37m[40mZ[0ma[37m[40mZ[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [m[m[0m[H[2J[2;1H#[37m[40m*[0mThis[37m[40m*[0mis[37m[40m*[0ma[37m[40m*[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_using_matchaddpos()[m[m[0m[H[2J[2;1H[34m#[0m[37m[40mP[0m[34mis a Test[0m
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1H"test_matchadd_conceal.res" [New File][24;29H[K[24;29H[New] 0L, 0C written
Executed 9 tests
"messages"[24;12H[K[24;12H251L, 6202C[24;12H[K[24;12H263L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_mksession.vim" 104 lines, 2315 characters
Executing Test_mksession()
"/tmp/vxDqpa9/0" [24;18H[K[24;18H[New] 9L, 203C written
[31msearch hit BOTTOM, continuing at TOP[m
"test_mksession.res" [New File][24;32H[K[24;22H[K[24;22H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H[converted] 263L, 6616C[24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_mksession_utf8.vim" 104 lines, 2328 characters
Executing Test_mksession_utf8()
"/tmp/vy27TPy/0" [24;18H[K[24;18H[New] 9L, 215C written
[31msearch hit BOTTOM, continuing at TOP[m
"test_mksession_utf8.res" [New File][24;27H[K[24;27H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H267L, 6685C[24;12H[K[24;12H271L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;28H[K[24;28H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H271L, 6764C[24;12H[K[24;12H277L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_netbeans.vim" 80 lines, 2145 characters
"test_netbeans.res" [New File][24;21H[K[24;21H[New] 0L, 0C written
Executed 0 test
"messages"[24;12H[K[24;12H277L, 6909C[24;12H[K[24;12H280L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_normal.vim" 2280 lines, 58740 characters
Executing Test_normal00_optrans()[24;1H[K[24;1H
Executing Test_normal01_keymodel()
4 lines yanked[24;15H[K[24;1HExecuting Test_normal02_selectmode()[24;1H[K[24;1H10 fewer lines[24;1H[K[24;1H
Executing Test_normal02_selectmode2()[24;1H[K[24;1H:set im
[?12l[?25h[?25l[24;1H[K[24;1H:set noim
Executing Test_normal03_join()
Executing Test_normal04_filter()[24;1H[K[24;1H:.!sed -e 's/^/| /'
[?12l[?25h[22C[?1l>[?1049lone
[?1049h[?1h=[?25l[24;1H[K[24;1H:.!sed -e 's/^/| /'
[?12l[?25h[?25l[24;1H[K[24;1H:.!
[24;1H[K[24;1H:!echo one
[10C[?1l>[?12l[?25h[?1049l
[No write since last change]
one
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:.!!
[?12l[?25h
[?25lExecuting Test_normal05_formatexpr()
Executing Test_normal05_formatexpr_newbuf()
"another" [New File][24;21H[K[24;1H
Executing Test_normal05_formatexpr_setopt()
Executing Test_normal06_formatprg()[24;1H[K[24;1H:.,$!./Xsed_format.sh
[?12l[?25h[?25l7 lines filtered[24;17H[K[24;1H[K[24;1H:.,$!./Xsed_format.sh
[?12l[?25h[?25l7 lines filtered[24;17H[K[24;1H
Executing Test_normal07_internalfmt()
7 fewer lin[24;14H[K[24;1H
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()[24;1H[K[24;1H
Executing Test_normal12_nv_error()
Executing Test_normal13_help()
"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
Executing Test_normal14_page()
Executing Test_normal14_page_eol()[24;1H[K[24;1H
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
[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[24;1HWord 'goood' added to ./Xspellfile.add[24;7H2 goood' added to ./Xspellfile.add[24;25H/tmp/vQn4LVh/11[24;40H[K[24;16Hremoved from /tmp/vQn4LVh/11[24;7Hgoood' added to /tmp/vQn4LVh/11[24;38H[K[24;14Hremoved from /tmp/vQn4LVh/11[24;14Hadded to ./Xspellfile.add[24;39H[K[24;14Hremoved from ./Xspellfile.add[24;7H2 goood' added to ./Xspellfile.add[24;41H[K[24;16Hremoved from ./Xspellfile.add[24;7Hgoood' added to ./Xspellfile2.add[24;40H[K[24;1H
Executing Test_normal20_exmode()
Executing Test_normal21_nv_hat()
"Xfoobar" [New File][24;21H[K[24;4Hile2" [New File][24;20H[K[24;1H
Executing Test_normal22_zet()
Executing Test_normal23_K()
"version8.txt" [24;16H[K[24;16H[readonly] 14932L, 562906C[24;27Hline 1 of 14932 --0%-- col 1
"man" [New File][24;17H[K[24;2Haa%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=[24;1H
[?25lExecuting Test_normal24_rot13()
Executing Test_normal25_tag()
"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
"change.txt" [24;14H[K[24;14H[readonly] 1830L, 74768C
"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
"change.txt" [24;14H[K[24;14H[readonly] 1830L, 74768C
"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
"insert.txt" [24;14H[K[24;14H[readonly] 2003L, 82815C[24;25Hline 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 lines[24;15H[K[24;1H4 fewer lines[24;14H[K[24;1H3
Executing Test_normal30_changecase()
Executing Test_normal31_r_cmd()[24;1H[K[24;1H
Executing Test_normal32_g_cmd1()
/x_foo[24;7H[K[24;1H?abc[24;5H[K[24;1H
Executing Test_normal33_g_cmd2()[24;1H[K[24;1H/[1-8]
[31msearch hit BOTTOM, continuing at TOP[m
9 substitutions on 9 lines[24;27H[K[24;1Hblock of 3 lines yanked[24;24H[K[24;10H5[24;1H[K[24;1H
Executing Test_normal34_g_cmd3()
Executing Test_normal35_g_cmd4()
Executing Test_normal36_g_cmd5()
Executing Test_normal37_g_cmd6()
"1.txt" [New File][24;19H[K[24;2H23
Executing Test_normal38_nvhome()
Executing Test_normal39_cw()[24;1H[K[24;1H
Executing Test_normal40_ctrl_bsl()[24;1H[K[24;1H
Executing Test_normal41_insert_reg()[24;1H[K[24;1H=a
[24;1H[K[24;1H=a
[24;1H[K[24;1H=a
[24;1H[K[24;1H
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()[32Cq: [24;1H[K[24;1H:[27m[23m[m[H[2J[1;1Hxxx
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7m[No Name] [m[16;1H[1m[34m:[mset im
[1m[34m:[mset noim
[1m[34m:[m.!sed -e 's/^/| /'
[1m[34m:[m.!
[1m[34m:[m!echo one
[1m[34m:[m.!!
[1m[34m:[m
[1m[7m[Command Line] [22;2H[?12l[?25h[?25l[?12l[?25h[?25l[m[24;70H:^M[22;2H[24;70H [22;2H
Executing Test_normal51_FileChangedRO()
"Xreadonly.log" [24;17H[K[24;17H1L, 4C
[31mError detected while processing ...13]..Test_normal51_FileChangedRO:[m
[33mline 8:[m[24;11H[K[24;11H[31mW10: Warning: Changing a readonly file[m[24;1H[K[24;1H
Executing Test_normal52_rl()3_digraph()
Executing Test_normal54_Ctrl_bsl()
"test_normal.res" [New File][24;29H[K[24;19H[K[24;19H[New] 0L, 0C written
Executed 61 tests
"messages" [24;13H[K[24;12H280L, 6950C[24;12H[K[24;12H348L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_packadd.vim" 238 lines, 8288 characters
Executing Test_colorscheme()
Executing Test_colorscheme_completion()[24;1H[K[24;1H:colorscheme ...one')
:ccolorscheme one')
:cacolorscheme one')
:calcolorscheme one')
:callcolorscheme one')
:call colorscheme one')[24;7Hacolorscheme one')[24;8Hdcolorscheme one')[24;9Hdcolorscheme one')[24;10H(colorscheme one')[24;11Hlcolorscheme one')[24;12Hicolorscheme one')[24;13H,colorscheme one')[24;14H colorscheme one')[24;15H'colorscheme one')[24;16H
[24;1H[K[24;1H:colorscheme ...one...three[24;19H[K[24;19H')
:ccolorscheme three')
:cacolorscheme three')
:calcolorscheme three')
:callcolorscheme three')
:call colorscheme three')[24;7Hacolorscheme three')[24;8Hdcolorscheme three')[24;9Hdcolorscheme three')[24;10H(colorscheme three')[24;11Hlcolorscheme three')[24;12Hicolorscheme three')[24;13H,colorscheme three')[24;14H colorscheme three')[24;15H'colorscheme three')[24;16H
[24;1H[K[24;1H:colorscheme ...one...three[24;19H[K[24;19H...[24;15Hwo[24;17H[K[24;17H')
:ccolorscheme two')
:cacolorscheme two')
:calcolorscheme two')
:callcolorscheme two')
:call colorscheme two')[24;7Hacolorscheme two')[24;8Hdcolorscheme two')[24;9Hdcolorscheme two')[24;10H(colorscheme two')[24;11Hlcolorscheme two')[24;12Hicolorscheme two')[24;13H,colorscheme two')[24;14H colorscheme two')[24;15H'colorscheme two')[24;16H
[24;1H[K[24;1H:colorscheme ...one...three[24;19H[K[24;19H...[24;15Hwo[24;17H[K[24;17H...[24;14H[K[24;14H')
:ccolorscheme ')
:cacolorscheme ')
:calcolorscheme ')
:callcolorscheme ')
:call colorscheme ')[24;7Hacolorscheme ')[24;8Hdcolorscheme ')[24;9Hdcolorscheme ')[24;10H(colorscheme ')[24;11Hlcolorscheme ')[24;12Hicolorscheme ')[24;13H,colorscheme ')[24;14H colorscheme ')[24;15H'colorscheme ')[24;16H
Executing Test_helptags()
Executing Test_packadd()
"./Xdir/pack/mine/opt/mytest/plugin/test.vim" [New File][24;47H[K[24;47H[New] 1L, 24C written[24;37Halso/loaded.vim" [New File][24;64H[K[24;54H[K[24;54H[New] 1L, 29C written[24;30Hftdetect/test.vim" [New File[24;60H[K[24;49H[K[24;49H[New] 1L, 26C written
Executing Test_packadd_completion()[24;1H[K[24;1H:packadd ...pluginA')
:cpackadd pluginA')
:capackadd pluginA')
:calpackadd pluginA')
:callpackadd pluginA')
:call packadd pluginA')[24;7Hapackadd pluginA')[24;8Hdpackadd pluginA')[24;9Hdpackadd pluginA')[24;10H(packadd pluginA')[24;11Hlpackadd pluginA')[24;12Hipackadd pluginA')[24;13H,packadd pluginA')[24;14H packadd pluginA')[24;15H'packadd pluginA')[24;16H
[24;1H[K[24;1H:packadd ...pluginA...B[24;17H[K[24;17H')
:cpackadd pluginB')
:capackadd pluginB')
:calpackadd pluginB')
:callpackadd pluginB')
:call packadd pluginB')[24;7Hapackadd pluginB')[24;8Hdpackadd pluginB')[24;9Hdpackadd pluginB')[24;10H(packadd pluginB')[24;11Hlpackadd pluginB')[24;12Hipackadd pluginB')[24;13H,packadd pluginB')[24;14H packadd pluginB')[24;15H'packadd pluginB')[24;16H
[24;1H[K[24;1H:packadd ...pluginA...B[24;17H[K[24;17H...C[24;17H[K[24;17H')
:cpackadd pluginC')
:capackadd pluginC')
:calpackadd pluginC')
:callpackadd pluginC')
:call packadd pluginC')[24;7Hapackadd pluginC')[24;8Hdpackadd pluginC')[24;9Hdpackadd pluginC')[24;10H(packadd pluginC')[24;11Hlpackadd pluginC')[24;12Hipackadd pluginC')[24;13H,packadd pluginC')[24;14H packadd pluginC')[24;15H'packadd pluginC')[24;16H
[24;1H[K[24;1H:packadd ...pluginA...B[24;17H[K[24;17H...C[24;17H[K[24;17H...[24;10H[K[24;10H')
:cpackadd ')
:capackadd ')
:calpackadd ')
:callpackadd ')
:call packadd ')[24;7Hapackadd ')[24;8Hdpackadd ')[24;9Hdpackadd ')[24;10H(packadd ')[24;11Hlpackadd ')[24;12Hipackadd ')[24;13H,packadd ')[24;14H packadd ')[24;15H'packadd ')[24;16H
Executing Test_packadd_noload()
"./Xdir/pack/mine/opt/mytest/plugin/test.vim" [New File][24;47H[K[24;47H[New] 1L, 24C written
Executing Test_packloadall()
Executing Test_runtime()
"test_packadd.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 8 tests
"messages"[24;12H[K[24;12H348L, 9314C[24;12H[K[24;12H359L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_perl.vim" 123 lines, 3037 characters
"test_perl.res" [New File][24;17H[K[24;17H[New] 0L, 0C written
Executed 0 test
"messages"[24;12H[K[24;12H359L, 9597C[24;12H[K[24;12H362L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_profile.vim" 146 lines, 6247 characters
Executing Test_profile_completion()[24;1H[K[24;1H:profile ...continue file func pause start
:"profile continue file func pause start
:"
[24;1H[K[24;1H: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][24;20H[K[24;20H[New] 0L, 0C written
Executed 4 tests
"messages"[24;12H[K[24;12H362L, 9634C[24;12H[K[24;12H369L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_quickfix.vim" 1693 lines, 46351 characters
Executing Test_Autocmd()
"F1" [New File][24;16H[K[24;1H
(1 of 1): Line 10
"F2" [New File][24;16H[K[24;1H
(1 of 2): Line 10
Executing Test_Autocmd_Exception()
Executing Test_adjust_lnum()
Already only one window
"Xqftestfilec" [24;16H[K[24;16H20L, 131C
9 fewer lines
Already only one window
"Xqftestfilel" [24;16H[K[24;16H20L, 131C
9 fewer lines
Executing Test_browse()
"Xqftestfile1" [24;16H[K[24;16H20L, 131C
(1 of 4): Line5
"Xqftestfile2" 20L, 131C
(3 of 4): Line10
"Xqftestfile1" [24;16H[K[24;16H20L, 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" [24;16H[K[24;16H20L, 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" [24;15H[K[24;15H[readonly] 1486L, 61530C
(1 of 483): |QuickFixCmdPre|[34m^I[mbefore a quickfix command is run
(2 of 1486):
Executing Test_caddbuffer_wrong()
"Xqftestfile2" [New File][24;26H[K[24;1H
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][24;24H[K[24;1H
(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()
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 1[m[33m:[m non-error 1
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 5[m[33m:[m non-error 3
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 1[m[33m:[m non-error 1
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 5[m[33m:[m non-error 3
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
Executing Test_cwindow()[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[13;1H[30m[43mXtestfile1|1 col 3| Line1 [m[14;1HXtestfile2|2 col 2| Line2
Xtestfile3|3 col 1| Line3
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[Quickfix List] [27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[13;1H[30m[43mXtestfile1|1 col 3| Line1 [m[14;1HXtestfile2|2 col 2| Line2
Xtestfile3|3 col 1| Line3
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[Location List] [m[24;1HExecuting Test_dirstack_cleanup()
(1 of 1): 0
Executing Test_duplicate_buf()
"DoesNotExist" [New File][24;26H[K[24;14H2" [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" [24;13H[K[24;13H21L, 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=[?25l[23;1HAlready only one window[24;1H[K[?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=[?25l[23;1HExecuting Test_helpgrep()
"autocmd.txt" [readonly] 1486L, 61530C
(1 of 483): |QuickFixCmdPre|[34m^I[mbefore a quickfix command is run
"autocmd.txt" [readonly] line 1 of 1486 --0%-- col 1[24;53H[K[24;1H
(1 of 483): |QuickFixCmdPre|[34m^I[mbefore 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[7C: 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
[31mW19: Deleting augroup that is still in use[m
Executing Test_locationlist_cross_tab_jump()
"loclistfoo" [24;14H[K[24;14H1L, 11C[24;9Hbar[24;14H[K[24;14H1L, 11C[?1l>[?12l[?25h[?1049lloclistfoo:1:loclistfoo
[?1049h[?1h=[24;1H
[?25lAlready only one window
Executing Test_locationlist_curwin_was_closed()
[31mW19: Deleting augroup that is still in use[m
Executing Test_long_lines()[24;28H[K[24;1H"samples/quickfix.txt" [24;24H[K[24;24H4L, 22089C
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"samples/quickfix.txt" [24;24H[K[24;24H4L, 22089C
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"samples/quickfix.txt" [24;24H[K[24;24H4L, 22089C
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Executing Test_nomem()
"/<<PKGBUILDDIR>>/src/vim-basic/alloc.h" 21L, 485C
[1m[37m[41mError detected while processing function RunTheTest[13]..Test_nomem:[m
[33mline 2:[m
[1m[37m[41mE342: Out of memory! (allocating 4096 bytes)[m
"/<<PKGBUILDDIR>>/src/vim-basic/alloc.h" 21L, 485C
[33mline 5:[m
[1m[37m[41mE342: Out of memory! (allocating 4096 bytes)[m
"/<<PKGBUILDDIR>>/src/vim-basic/alloc.h" 21L, 485C
[33mline 8:[m
[1m[37m[41mE342: Out of memory! (allocating 1025 bytes)[m
"/<<PKGBUILDDIR>>/src/vim-basic/alloc.h" 21L, 485C
[33mline 11:[m
[1m[37m[41mE342: Out of memory! (allocating 1025 bytes)[m
"/<<PKGBUILDDIR>>/src/vim-basic/alloc.h" 21L, 485C
[33mline 14:[m
[1m[37m[41mE342: Out of memory! (allocating 1025 bytes)[m
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()
[31mW19: Deleting augroup that is still in use[m
error list 9 of 10; 1 errors :setloclist()
error list 9 of 10; 1 errors :setloclist()
[31mW19: Deleting augroup that is still in use[m
Executing Test_setqflist()[24;27H[K[24;1H"Xtestfile" [New File][24;23H[K[24;1H
(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" [24;16H[K[24;16H20L, 131C[24;13H2[24;16H[K[24;16H20L, 131C[24;13H1" 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" [24;16H[K[24;16H20L, 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" [24;16H[K[24;16H20L, 131C
(5 of 6): Line15
(6 of 6): Line16
"Xqftestfile1" [24;16H[K[24;16H20L, 131C[24;13H2[24;16H[K[24;16H20L, 131C
(1 of 6): Line5
(2 of 6): Line6
(3 of 6): Line10
(4 of 6): Line11
"Xqftestfile3" [24;16H[K[24;16H20L, 131C
(5 of 6): Line15
(6 of 6): Line16
"Xqftestfile1" [24;16H[K[24;16H20L, 131C
(1 of 6): Line5
(2 of 6): Line6
"Xqftestfile2" 20L, 131C
(3 of 6): Line10
(4 of 6): Line11
"Xqftestfile3" [24;16H[K[24;16H20L, 131C
(5 of 6): Line15
(6 of 6): Line16
"Xqftestfile1" [24;16H[K[24;16H20L, 131C
(1 of 6): Line5
(2 of 6): Line6
"Xqftestfile2" 20L, 131C
(3 of 6): Line10
(4 of 6): Line11
"Xqftestfile3" [24;16H[K[24;16H20L, 131C
(5 of 6): Line15
(6 of 6): Line16
Already only one window
"Xqftestfile1" [24;16H[K[24;16H20L, 131C[24;13H2[24;16H[K[24;16H20L, 131C[24;13H3[24;16H[K[24;16H20L, 131C
Executing Test_two_windows()
"one" [New File][24;17H[K[24;2Htwo
Executing Test_vimgreptitle()
file
"file" [New File]
Cannot open file "file"
"test_quickfix.res" [New File][24;21H[K[24;21H[New] 0L, 0C written
Executed 42 tests
"messages" [24;13H[K[24;12H369L, 9803C[24;12H[K[24;12H414L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_ruby.vim" 34 lines, 820 characters
"test_ruby.res" [New File][24;17H[K[24;17H[New] 0L, 0C written
Executed 0 test
"messages"[24;12H[K[24;12H414L, 11106C[24;12H[K[24;12H417L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_search.vim" 296 lines, 8731 characters
Executing Test_search_cmdline()[24;1H[K[24;1H/foobar
[24;1H[K[24;1H/the
[31msearch hit BOTTOM, continuing at TOP[m[24;1H[K[24;1H/thes[24;5H[K[24;5H
/foobar
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[31msearch hit TOP, continuing at BOTTOM[m[24;1H[K[24;1H/thes
[24;1H[K[24;1H/thes
[24;1H[K[24;1H/thes
[24;1H[K[24;1H/thes
[24;1H[K[24;1H/thei
[24;1H[K[24;1H/thei[24;5H[K[24;5Hs
[24;1H[K[24;1H/thei[24;5H[K[24;5Hs[24;5H[K[24;5Hs
[24;1H[K[24;1H/them[24;5H[K[24;5H[24;4H[K[24;4H[24;3H[K[24;3H[24;2H[K[24;2Hthe\>
Executing Test_search_cmdline2()[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/foo[24;4H[K[24;4H
[27m[23m[m[H[2J[1;3H6 their
7 the
8 them
9 these
10 foobar
[1m[7m[No Name] [+] [m[7;1H" 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[18;1H their', ' 7 the', ' 8 them', ' 9 these', ' 10 foobar'])
" Test 1
" CTRL-N / CTRL-P skips through the previous search history
set noincsearch
:1
[7mtest_search.vim [m[24;1HExecuting Test_searchpair()
Executing Test_use_sub_pat()
"test_search.res" [New File][24;19H[K[24;19H[New] 0L, 0C written
Executed 4 tests
"messages"[24;12H[K[24;12H417L, 11143C[24;12H[K[24;12H424L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_signs.vim" 199 lines, 6383 characters
Executing Test_sign()
"foo" [New File][24;17H[K[27m[23m[m[H[2J[1;78Ha[34m[47m [m[2;78Hb[34m[47m [m[3;78Hc x[4;78Hd[34m[47m [5;79H [m[5;1H[1m[34m ~[m
[1m[7m[No Name] [+] [m[7;1H" Test for signs
if !has('signs')
finish
endif
[7mtest_signs.vim [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [m[18;1H[7mfoo [m[19;1H[34m[47m [ma
[34m[47m [mb
x c
[34m[47m [md
[7m[No Name] [+] [m[1;1H[34m[47m [ma[1;78H[K[2;1H[34m[47m [mb[2;78H[K[3;1Hx c[3;78H[K[4;1H[34m[47m [md[4;78H[K[5;1H[34m[47m [m[1m[34m~[74C [m[24;1H"foo" [New file] --No lines in buffer--
"bar[7CF[24;18H[K[24;1H
Executing Test_sign_completion()[24;1H[K[24;1H:sign ...define jump list place undefine unplace
:"sign define jump list place undefine unplace
:"
[24;1H[K[24;1H:sign define Sign ...icon= linehl= text= texthl=
:"sign define Sign icon= linehl= text= texthl=
:"
[24;1H[K[24;1H:sign define Sign linehl=Spell...Bad SpellCap SpellLocal SpellRare
:"sign define Sign linehl=SpellBad SpellCap SpellLocal SpellRare
:"
[24;1H[K[24;1H:sign define Sign icon=Xsig...nOne XsignTwo
:"sign define Sign icon=XsignOne XsignTwo
:"
[24;1H[K[24;1H:sign undefine ...Sign1 Sign2
:"sign undefine Sign1 Sign2
:"
[24;1H[K[24;1H:sign place 1 ...buffer= file= line= name=
:"sign place 1 buffer= file= line= name=
:"
[24;1H[K[24;1H:sign place 1 name=...Sign1 Sign2
:"sign place 1 name=Sign1 Sign2
:"
[24;1H[K[24;1H:sign unplace 1 ...buffer= file=
:"sign unplace 1 buffer= file=
:"
[24;1H[K[24;1H:sign list ...Sign1 Sign2
:"sign list Sign1 Sign2
:"
[24;1H[K[24;1H: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][24;20H[K[24;2Htest_signs.res" [New File][24;18H[K[24;18H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H424L, 11305C[24;12H[K[24;12H432L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_smartindent.vim" 14 lines, 376 characters
Executing Test_nosmartindent()[24;1H[K[24;1H/some
[31msearch hit BOTTOM, continuing at TOP[m[24;1H[K[24;1H"test_smartindent.res" [New File][24;24H[K[24;24H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H432L, 11518C[24;12H[K[24;12H436L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_startup.vim" 185 lines, 4581 characters
Executing Test_after_comes_later()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;3H1: /<<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/
[23;80Hf[24;1Hoobar/plugin/foo.vim
4: /<<PKGBUILDDIR>>/src/vim-basic/testdir/Xafter/plugin/later.v
[23;80Hi[24;1Hm
5: /<<PKGBUILDDIR>>/src/vim-basic/testdir/Xafter.vim
[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_compatible_args()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1HError detected while processing /<<PKGBUILDDIR>>/src/vim-basic/te
[23;80Hs[24;1Htdir/Xafter.vim:
line 2:
E528: Must specify a ' value: viminfo+=nviminfo
[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;33H[?1l>[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[24;1H[?1l>[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_file_args()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[24;1H[?1l>[?1049l[?1049h[?1h=[24;27H[?1l>[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"one" [New File]
[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;27H[?1l>[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"one" [New File]
[?1l>[?12l[?25h[?1049l3 files to edit
[?1049h[?1h=[24;27H[?1l>[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"one" [New File]
[?1l>[?12l[?25h[?1049l2 files to edit
[?1049h[?1h=[24;27H[?1l>[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"one" [New File]
[?1l>[?12l[?25h[?1049l4 files to edit
[?1049h[?1h=[24;1H
[?25lExecuting Test_help_arg()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_read_stdin()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[27m[23m[m[H[2J[?25l[24;1H"-stdin-" 1 line, 10 characters[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[24;1H"Xtestout" [New File] 1 line, 10 characters written
[?1l>[?12l[?25h[?1049l
Vim: Reading from stdin...
[?1049h[?1h=[24;1H
[?25lExecuting Test_startup_script()[?1000h
Executing Test_startuptime()[?1l>[?12l[?25h[?1049l[?1000l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"one" [New File]
[?1l>[?12l[?25h[?1049l[?1000h[?1049h[?1h=[?25l[24;1H"test_startup.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 7 tests
"messages"[24;12H[K[24;12H436L, 11593C[24;12H[K[24;12H446L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_startup_utf8.vim" 64 lines, 1366 characters
Executing Test_read_fifo_utf8()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"/dev/fd/63" [readonly] 2 lines, 24 characters
"Xtestout" [New File] 2 lines, 24 characters written
[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_read_stdin_utf8()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[27m[23m[m[H[2J[?25l[24;1H"-stdin-" 2 lines, 24 characters[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[24;1H"Xtestout" [New File] 2 lines, 24 characters written
[?1l>[?12l[?25h[?1049l
Vim: Reading from stdin...
[?1049h[?1h=[?25l[24;1H"test_startup_utf8.res" [New File][24;25H[K[24;25H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H446L, 11844C[24;12H[K[24;12H451L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_stat.vim" 64 lines, 1598 characters
Executing Test_checktime()
"Xtest.tmp" [24;13H[K[24;13H1L, 13C[?12l[?25h[?25l[24;13H[K[24;13H1L, 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][24;27H[K[24;17H[K[24;17H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H451L, 11955C[24;12H[K[24;12H459L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_substitute.vim" 41 lines, 1151 characters
Executing Test_multiline_subst()
[31msearch hit BOTTOM, continuing at TOP[m
3 substitutions on 3 lines[24;27H[K[24;1H
3 substitutions on 2 lines
"test_substitute.res" [New File][24;23H[K[24;23H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H459L, 12156C[24;12H[K[24;12H463L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_syntax.vim" 164 lines, 4101 characters
Executing Test_syn_iskeyword()[27m[23m[m[H[2J[1;1H[1m[37m[41mCREATE[m [35mTABLE[m FOOBAR(
DLTD_BY [32mVARCHAR2[m([31m100[m)
);
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [+] [m[13;1H[34m" Test for syntax and syntax iskeyword option[m
[33mif[m ![36mhas[m[35m([m[31m"syntax"[m[35m)[m
[33mfinish
endif
func[m GetSyntaxItem[35m([mpat[35m)[m
[33mlet[m [36mc[m [33m=[m [31m''[m
[33mlet[m [36ma[m [33m=[m [[31m'a'[m, [36mgetreg[m[35m([m[31m'a'[m[35m)[m, [36mgetregtype[m[35m([m[31m'a'[m[35m)[m]
[31m0[m
[7mtest_syntax.vim [m[24;1H
syntax iskeyword not set
syntax iskeyword @,48-57,_,192-255[27m[23m[m[H[2J[1;1H[1m[37m[41mCREATE[m [35mTABLE[m FOOBAR(
DLTD_BY [32mVARCHAR2[m([31m100[m)
);
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [+] [m[13;1H[34m" Test for syntax and syntax iskeyword option[m
[33mif[m ![36mhas[m[35m([m[31m"syntax"[m[35m)[m
[33mfinish
endif
func[m GetSyntaxItem[35m([mpat[35m)[m
[33mlet[m [36mc[m [33m=[m [31m''[m
[33mlet[m [36ma[m [33m=[m [[31m'a'[m, [36mgetreg[m[35m([m[31m'a'[m[35m)[m, [36mgetregtype[m[35m([m[31m'a'[m[35m)[m]
[31m0[m
[7mtest_syntax.vim [m[24;1H
syntax iskeyword not set
Executing Test_syntax_after_reload()
"Xsomefile" [New File][24;23H[K[24;13H[K[24;13H[New] 2L, 12C written
"other" [New File][24;19H[K[24;2HXsomefile" [24;14H[K[24;13H2L, 12C
Executing Test_syntax_completion()[24;1H[K[24;1H:syn ...case clear cluster conceal enable include iskeyword keyword list manual ma
[23;80Ht[24;1Hch off on region reset spell sync[23;2H"syn case clear cluster conceal enable include iskeyword keyword list manual ma[24;1Htch off on region reset spell sync[23;3H
[24;1H[K[24;1H:syn case ...ignore match
:"syn case ignore match
:"
[24;1H[K[24;1H:syn spell ...default notoplevel toplevel
:"syn spell default notoplevel toplevel
:"
[24;1H[K[24;1H:syn sync ...ccomment clear fromstart linebreaks= linecont lines= match maxlines=
[23;80Hm[24;1Hinlines= region[23;2H"syn sync ccomment clear fromstart linebreaks= linecont lines= match maxlines= [24;1Hminlines= region[23;3H
[24;1H[K[24;1H:syn list ...Boolean Character ColorColumn Comment Conceal Conditional Constant Cu
[23;80Hr[24;1HsorColumn CursorLine CursorLineNr Debug Define Delimiter DiffAdd DiffChange Dif
[23;80Hf[24;1HDelete DiffText Directory EndOfBuffer Error ErrorMsg Exception Float FoldColumn
Folded Function Identifier Ignore IncSearch Include Keyword Label LineNr Macro
[23;80HM[24;1HatchParen ModeMsg MoreMsg NonText Normal Number Operator Pmenu PmenuSbar PmenuS
[23;80He[24;1Hl PmenuThumb PreCondit PreProc Question Quote Repeat SYN Search SignColumn Spec
[23;80Hi[24;1Hal SpecialChar SpecialComment SpecialKey SpellBad SpellCap SpellLocal SpellRare
Statement StatusLine StatusLineNC StorageClass String Structure TabLine TabLine
[23;80HF[24;1Hill TabLineSel Tag Title Todo Type Typedef Underlined VertSplit Visual VisualNO
[23;80HS[24;2HWarningMsg WildMenu sqlComment sqlFold sqlFunction sqlKeyword sqlNumber sqlOpe
[23;80Hr[24;1Hator sqlSpecial sqlStatement sqlString sqlTodo sqlType vimAbb vimAddress vimAuH
[23;80Hi[24;1Hghlight vimAuSyntax vimAugroup vimAugroupError vimAugroupKey vimAugroupSyncA vi
[23;80Hm[24;1HAutoCmd vimAutoCmdOpt vimAutoCmdSfxList vimAutoCmdSpace vimAutoEvent vimAutoEve
[23;80Hn[24;1HtList vimAutoSet vimBehave vimBehaveError vimBehaveModel vimBracket vimBufnrWar
[23;80Hn[24;2HvimClusterName vimCmdSep vimCmplxRepeat vimCollClass vimCollClassErr vimCollec
[23;80Ht[24;1Hion vimCommand vimComment vimCommentString vimCommentTitle vimCommentTitleLeade[9;2H"syn list Boolean Character ColorColumn Comment Conceal Conditional Constant Cu[10;1HrsorColumn CursorLine CursorLineNr Debug Define Delimiter DiffAdd DiffChange Di
fDelete DiffText Directory EndOfBuffer Error ErrorMsg Exception Float FoldColumn[12;1H Folded Function Identifier Ignore IncSearch Include Keyword Label LineNr Macro [13;1HMatchParen ModeMsg MoreMsg NonText Normal Number Operator Pmenu PmenuSbar PmenuS[14;1Hel PmenuThumb PreCondit PreProc Question Quote Repeat SYN Search SignColumn Spec[15;1Hial SpecialChar SpecialComment SpecialKey SpellBad SpellCap SpellLocal SpellRare[16;1H Statement StatusLine StatusLineNC StorageClass String Structure TabLine TabLine[17;1HFill TabLineSel Tag Title Todo Type Typedef Underlined VertSplit Visual VisualNO[18;1HS WarningMsg WildMenu sqlComment sqlFold sqlFunction sqlKeyword sqlNumber sqlOpe[19;1Hrator sqlSpecial sqlStatement sqlString sqlTodo sqlType vimAbb vimAddress vimAuH[20;1Highlight vimAuSyntax vimAugroup vimAugroupError vimAugroupKey vimAugroupSyncA vi[21;1HmAutoCmd vimAutoCmdOpt vimAutoCmdSfxList vimAutoCmdSpace vimAutoEvent vimAutoEve[22;1HntList vimAutoSet vimBehave vimBehaveError vimBehaveModel vimBracket vimBufnrWar[23;1Hn vimClusterName vimCmdSep vimCmplxRepeat vimCollClass vimCollClassErr vimCollec[24;1Htion vimCommand vimComment vimCommentString vimCommentTitle vimCommentTitleLead[9;3H
[24;1H[K[24;1H: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" [24;21H[K[24;21H[readonly] 143L, 3142C
[35m--- Syntax items ---[m
[35m--- Syntax items ---[m
"Xsomefile" [New File]
Executing Test_syntime()
"../memfile_test.c" [24;21H[K[24;21H[readonly] 143L, 3142C[27m[23m[m[H[2J[1;1H[34m/* 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.
*/[m
[35m#undef NDEBUG
#include [m[31m<assert.h>[m
[34m/* Must include main.c because it contains much more than just main() */[m
[35m#define NO_VIM_MAIN
#include [m[31m"main.c"[m
[34m/* This file has to be included because the tested functions are static */[m
[35m#include [m[31m"memfile.c"[m
"Xsomefile" [New File]
"test_syntax.res" [New File][24;19H[K[24;19H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H463L, 12232C[24;12H[K[24;12H471L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_system.vim" 92 lines, 2910 characters
Executing Test_System()
"Xdummy" [New File][24;20H[K[24;1H
Executing Test_system_exmode()
"test_system.res" [New File][24;29H[K[24;19H[K[24;19H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H471L, 12429C[24;12H[K[24;12H476L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;34H[K[24;24H[K[24;24H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H476L, 12524C[24;12H[K[24;12H482L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_undo.vim" 265 lines, 6936 characters
Executing Test_U_command()[24;1H[K[24;1HExecuting Test_global_local_undolevels()
"one" [New File][24;17H[K[24;1H
6 fewer lines; before #8 0 seconds ago
"two" [New File][24;17H[K[24;1H
3 fewer lines; before #11 0 seconds ago
"three" [New File][24;19H[K[24;1H
Executing Test_insert_expr()[24;1H[K[24;1H=setline('.','1234')
[24;1H[K[24;1H1 line less; before #4 0 seconds ago[24;22H3[24;1H[K[24;1H=setline('.','1234')
[24;1H[K[24;1H1 line less; before #7 0 seconds ago[24;1H[K[24;1H=string(123)
[24;1H[K[24;1H1 line less; before #9 0 seconds ago
Executing Test_undo_del_chars()
1 change; before #3 0 seconds ago[24;19H21
1 change; before #6 1 seconds ago[24;19H5
4[7Cs; after #3
1[7C; before #21
3 changes; after #6 1 seconds ago[24;1H[K[24;1H3 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][24;19H[K[24;1H[K[24;1H"Xtest" [New] 1L, 12C written[24;1H[K[24;1H"Xtest" 3L, 20C written[24;1H[K[24;1H1 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][24;19H[K[24;1H[K[24;1H"Xfile" [New] 3L, 14C written[24;9H[K[24;9H3L, 14C
Finished reading undo file Xundofile
3 fewer lines; before #1 2019/06/23 11:46:14
Executing Test_undojoin()[24;1H[K[24;1H1 line less; before #2 0 seconds ago[24;1H[K[24;1H2 fewer lines; before #3 0 seconds ago
Executing Test_undolist()[24;1H[K[24;1H1 change; before #2 0 seconds ago[24;1H[K[24;1HExecuting Test_undotree()[24;1H[K[24;1H
1 change; before #2 0 seconds ago
"Xtest" [24;9H[K[24;9H[New] 1L, 4C written
"test_undo.res" [New File][24;27H[K[24;17H[K[24;17H[New] 0L, 0C written
Executed 9 tests
"messages"[24;12H[K[24;12H482L, 12723C[24;12H[K[24;12H494L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_usercommands.vim" 104 lines, 2527 characters
Executing Test_Ambiguous()
Executing Test_CmdUndefined()
Executing Test_cmdmods()
"test_usercommands.res" [New File][24;25H[K[24;25H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H494L, 13030C[24;12H[K[24;12H500L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;28H[K[24;3Hviminfo" [24;12H[K[24;12H83L, 3639C
Executing Test_viminfo_file_mark_zero_time()
Executing Test_viminfo_file_marks()
"ten" [New File][24;17H[K[24;2Hagain" [New File]
"thirty" [New File]
"twen
"again" [New File][24;19H[K[24;2Hfourty" [New File]
"Xviminfo" [24;12H[K[24;12H90L, 3437C
Executing Test_viminfo_jumplist()
"testbuf" [New File][24;21H[K[24;1H[K[24;1H/20
[24;1H[K[24;1H/30
[24;1H[K[24;1H/last pos
[24;1H[K[24;1H/15
[24;1H[K[24;1H/last pos
[24;1H[K[24;1H?30
[24;1H[K[24;1H/15
[24;1H[K[24;1H/last pos
[24;1H[K[24;1H?30
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
Executing Test_viminfo_marks()
"bufa" [New File][24;18H[K[24;5Hb
Executing Test_viminfo_oldfiles()
Executing Test_viminfo_read_and_write()
Executing Test_viminfo_registers()
"test_viminfo.res" [New File][24;30H[K[24;20H[K[24;20H[New] 0L, 0C written
Executed 13 tests
"messages" [24;13H[K[24;12H500L, 13158C[24;12H[K[24;12H516L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_viml.vim" 1315 lines, 31693 characters
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-basic/te[m
[23;80H[1m[37m[41ms[24;1Htdir/test_viml.vim:[m
[33mline 432:[m
[1m[37m[41mE492: Not an editor command: ^Iasdf[m
[33mline 444:[m
[1m[37m[41mE492: Not an editor command: ^Iasdf[m
[33mline 452:[m
[1m[37m[41mE492: Not an editor command: asdf[m
[33mline 455:[m
[1m[37m[41mE492: Not an editor command: asdf | Xpath 'p'[m
[1m[37m[41mError detected while processing function T8_F:[m
[33mline 5:[m
[1m[37m[41mE492: Not an editor command: ^I asdf[m
[33mline 7:[m
[1m[37m[41mE492: Not an editor command: ^I asdf | Xpath 'd'[m
[33mline 19:[m
[1m[37m[41mE492: Not an editor command: ^I asdf[m
[33mline 21:[m
[1m[37m[41mE492: Not an editor command: ^I asdf | Xpath 'l'[m
[33mline 29:[m
[1m[37m[41mE121: Undefined variable: novar[m
[1m[37m[41mE15: Invalid expression: novar^I^I" returns (default return value 0)[m
[1m[37m[41mError detected while processing function T8_G:[m
[33mline 5:[m
[1m[37m[41mE492: Not an editor command: ^I asdf^I^I" returns -1[m
[1m[37m[41mError detected while processing function T8_H:[m
[33mline 5:[m
[1m[37m[41mE492: Not an editor command: ^I asdf^I^I" returns -1[m
[1m[37m[41mError detected while processing function F[2]..G[2]..H[2]..I:[m
[33mline 2:[m
[1m[37m[41mE492: Not an editor command: asdf^I^I" error[m
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-basic/te[m
[23;80H[1m[37m[41ms[24;1Htdir/test_viml.vim:[m
[33mline 663:[m
[1m[37m[41mE15: Invalid expression: | strlen("\"") | Xpath 'j'[m
[1m[37m[41mE15: Invalid expression: 1 ||| strlen("\"") | Xpath 'j'[m
[33mline 673:[m
[1m[37m[41mE15: Invalid expression: | strlen("\"") | Xpath 'n'[m
[1m[37m[41mE15: Invalid expression: 1 ||| strlen("\"") | Xpath 'n'[m
[33mline 682:[m
[1m[37m[41mE15: Invalid expression: | strlen("\"") | Xpath 'r'[m
[1m[37m[41mE15: Invalid expression: 1 ||| strlen("\"") | Xpath 'r'[m
[33mline 717:[m
[1m[37m[41mE492: Not an editor command: asdf^I^I" error[m
1
[33mline 787:[m
[1m[37m[41mE492: Not an editor command: asdf^I^I" error[m
[33mline 794:[m
[1m[37m[41mE492: Not an editor command: asdf^I^I" error[m
[33mline 817:[m
[1m[37m[41mE121: Undefined variable: asdf[m
[1m[37m[41mE15: Invalid expression: asdf[m
[33mline 828:[m
[1m[37m[41mE121: Undefined variable: asdf[m
[1m[37m[41mE15: Invalid expression: asdf | Xpath 'f' | endwhile | Xpath 'g'[m
[1m[37m[41mError detected while processing function F:[m
[33mline 8:[m
[1m[37m[41mE121: Undefined variable: g:boolvar[m
[1m[37m[41mE15: Invalid expression: g:boolvar^I" possibly undefined[m
[1m[37m[41mE121: Undefined variable: g:boolvar[m
[1m[37m[41mE15: Invalid expression: g:boolvar | Xpath 'd' | else | Xpath 'e' | endif[m
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
[23;80Hr[24;1Hee': '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':
[23;80H'[24;1Hyes', '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
4[10CXpath 'b'
5[10Cif first
6[14CXpath 'c'
7[14Clet first = 0
8[14Cbreak
9[10Celse
10[13CXpath 'd'
11[13Creturn
12[9Cendif
13 endwhile
endfunction[10;1H"/tmp/vee0Psk/0" [10;18H[K[11;1H[K[12;1H[K[13;1H[K[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[10;18H[noeol] 16L, 299C
13 substitutions on 13 lines
Pattern not found: ^\s*$
"/tmp/vee0Psk/0" [12;18H[K[12;18H13L, 248C written
"test_viml.vim" [12;18H[K[12;17H1315L, 31693C
function T1_G()
1 Xpath 'h'
2 let first = 1
3 while 1
4[10CXpath 'i'
5[10Cif first
6[14CXpath 'j'
7[14Clet first = 0
8[14Cbreak
9[10Celse
10[13CXpath 'k'
11[13Creturn
12[9Cendif
13[9Cif 1 " unmatched :if
14 endwhile
endfunction[9;1H"/tmp/vee0Psk/1" [9;18H[K[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[9;18H[noeol] 17L, 334C
14 substitutions on 14 lines
Pattern not found: ^\s*$
"/tmp/vee0Psk/1" [11;18H[K[11;18H14L, 281C written
"test_viml.vim" [11;18H[K[11;17H1315L, 31693C
Executing Test_error_in_function()
Executing Test_error_in_script()
Executing Test_expr_parsing()
Executing Test_finish()
function T4_F()
1 if 1
2[10CXpath 'a'
3[10Clet loops = 3
4[10Cwhile loops > 0[25C" 3: 2: 1:
5[14CXpath 'b' . loops
6[14Cif (loops == 2)
7[18CXpath 'c' . loops
8[18Creturn
9[18CXpath 'd' . loops
10[13Cendif
11[13CXpath 'e' . loops
12[13Clet loops = loops - 1
13[9Cendwhile
14[9CXpath 'f'
15 else
16[9CXpath 'g'
17 endif
endfunction[6;1H"/tmp/vee0Psk/2" [6;18H[K[7;1H[K[8;1H[K[9;1H[K[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[6;18H[noeol] 20L, 504C
17 substitutions on 17 lines
Pattern not found: ^\s*$
"/tmp/vee0Psk/2" [8;18H[K[8;18H17L, 445C written
"test_viml.vim" [8;18H[K[8;17H1315L, 31693C
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][18;27H[K[18;17H[K[18;17H[New] 0L, 0C written
Executed 21 tests
"messages" [19;13H[K[19;12H516L, 13670C[19;12H[K[19;12H540L, 14309C written[24;1H
[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_visual.vim" 25 lines, 506 characters
Executing Test_block_shift_multibyte()
Executing Test_dotregister_paste()[24;1H[K[24;1H"test_visual.res" [New File][24;19H[K[24;19H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H540L, 14309C[24;12H[K[24;12H545L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_window_id.vim" 103 lines, 2714 characters
Executing Test_win_getid()
"one" [New File][24;17H[K[24;2Htwohree" [New File]
"four" [New File][24;18H[K[24;3Hive
Executing Test_win_getid_curtab()
"X" [New File][24;15H[K[24;2Htest_window_id.res" [New File][24;22H[K[24;22H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H545L, 14423C[24;12H[K[24;12H550L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_writefile.vim" 16 lines, 490 characters
Executing Test_WriteFile()
"test_writefile.res" [New File][24;22H[K[24;22H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H550L, 14527C[24;12H[K[24;12H554L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;33H[K[24;23H[K[24;23H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H[converted] 554L, 14596C[24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_alot_utf8.vim" 11 lines, 440 characters[?1l>[?12l[?25h[?1049l[m[m[0m[H[2J[m[0m[24;1HExecuting Test_classes_re1()
Executing Test_classes_re2()
Executing Test_equivalence_re1()
Executing Test_equivalence_re2()
Executing Test_match_using_multibyte_conceal_char()[m[m[0m[H[2J[2;1H#[37m[40mˑ[0mThis[37m[40mˑ[0mis[37m[40mˑ[0ma[37m[40mˑ[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H" 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
[7mtest_alot_utf8.vim [0m[24;1HExecuting Test_source_latin()
"Xscript"[24;11H[K[24;11H[New] 2L, 44C written
Executing Test_source_utf8()[24;29H[K[24;1H"Xscript"[24;11H[K[24;11H[New] 2L, 42C written[24;1H[K[24;1H:%s/à[24;6Hx/--à[24;11H1234--/g
[24;1H[K[24;1H:%s/Àx/--À1234--/g
Executing Test_strcharpart()
Executing Test_strgetchar()
"test_alot_utf8.res" [New File][24;22H[K[24;22H[New] 0L, 0C written
Executed 9 tests
"messages"[24;12H[K[24;12H562L, 14812C[24;12H[K[24;12H574L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_alot.vim" 49 lines, 1258 characters
Executing Test_BufEnter()
"NewFile" [New File][24;21H[K[24;2HXdir" is a directory
Executing Test_OptionSet_modeline()
Executing Test_abbreviation()[24;1H[K[24;1HExecuting Test_abs()
Executing Test_acos()
Executing Test_asin()
Executing Test_atan()
Executing Test_atan2()
Executing Test_augroup_deleted()
[31mW19: Deleting augroup that is still in use[m
Executing Test_augroup_warning()[24;33H[K[24;1H
[31mW19: Deleting augroup that is still in use[m[24;1H[K[24;1Hentering
Executing Test_auto_partial_rebind()
Executing Test_autocmd_bufunload_avoiding_SEGV_01()
"aa.txt" [New File][24;20H[K[24;1H
"bb.txt" [New File]
Executing Test_autocmd_bufunload_avoiding_SEGV_02()[24;1H[K[24;1H
"a.txt" [New File]
"test_alot.vim" [24;17H[K[24;17H49L, 1258C
Executing Test_autocmd_bufunload_with_tabnext()
Executing Test_autocmd_bufwinleave_with_tabfirst()
"a.txt" [New File][24;19H[K[24;1H
Executing Test_bind_in_python()
Executing Test_break_undo()[24;1H[K[24;1HExecuting Test_bufunload()
Executing Test_cancel_ptjump()
Already only one window[24;1H[K[24;1H:ptjump word
[35m # pri kind tag[15Cfile[m
1 F[8C[35mword[m[14C[34mfile1[m
[15Ccmd1
2 F[8C[35mword[m[14C[34mfile2[m
[15Ccmd2
Type number and <Enter> (empty cancels):
"help.txt" [24;13H[K[24;12H[readonly] 225L, 8437C
Executing Test_caught_error_in_statusline()[27m[23m[m[H[2J[1;1Hsource test_modeline.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
[1m[7m [m[24;1HExecuting Test_caught_error_in_tabline()[27m[23m[m[H[2J[1;1H[7m [m[2;1Hsource 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
[1m[7mtest_alot.vim [m[24;1HExecuting 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()[24;1H[K[24;1H=s:test_func()
[2;8H[30m[47m AAAAA_Group [m[40m [m[3;8H[30m[45m BufAdd [m[40m [m[4;8H[30m[45m BufCreate [m[40m [m[5;8H[30m[45m BufDelete [m[40m [m[6;8H[30m[45m BufEnter [m[40m [m[7;8H[30m[45m BufFilePost [m[47m [m[8;8H[30m[45m BufFilePre [m[47m [m[9;8H[30m[45m BufHidden [m[47m [m[10;8H[30m[45m BufLeave [m[47m [m[11;8H[30m[45m BufNew [m[47m [m[12;8H[30m[45m BufNewFile [m[47m [m[13;8H[30m[45m BufRead [m[47m [m[14;8H[30m[45m BufReadCmd [m[47m [m[15;8H[30m[45m BufReadPost [m[47m [m[16;8H[30m[45m [m[1m[7mt[m[30m[45mBufReadPre [m[47m [m[17;8H[30m[45m BufUnload [m[47m [m[18;8H[30m[45m BufWinEnter [m[47m [m[19;8H[30m[45m BufWinLeave [m[47m [m[20;8H[30m[45m BufWipeout [m[47m [m[21;8H[30m[45m BufWrite [m[47m [m[22;8H[30m[45m BufWriteCmd [m[47m [m[23;8H[30m[45m BufWritePost [m[47m [m[24;1H[K[24;1HExecuting Test_complete_no_undo()[24;1H[K[24;1H=UndoComplete()
[2;1H[1;1H[7L[1;1Hxxx
aaa
yyy
[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [+] [m[13;8Htest_tabpage.vim[13;24H[K[14;8Htest_tagcase.vim[14;24H[K[15;8Htest_tagjump.vim[15;24H[K[16;8Htest_timers.vim[16;23H[K[17;8Htest_true_false.vim[17;27H[K[18;8Htest_unlet.vim[18;22H[K[19;1Hsource test_window_cmd.vim[19;27H[K[20;1Hsource test_options.vim[20;24H[K[21;8He here[21;14H[K[22;1HTest3: text with a (parenthesis here
[7mtest_alot.vim [m[3;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October[m[1m[7me[m[30m[45m
November
December [2;1H[m[24;1H[K[24;1H1 change; before #2 0 seconds ago[24;1H[K[24;1H=UndoComplete()
[2;4H
bbb
yyy[3;4H[K[4;1H[1m[34m~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
source test_tab
source test_tag[3;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October[m[1m[7me[m[30m[45m
November
December [2;4H[m[24;1H[1m-- INSERT --[m[24;13H[K[3;1H[30m[47mJanuary [2;4H[m[24;1H[K[24;1H1 change; before #4 0 seconds ago[24;1H[K[24;1H=UndoComplete()
[2;4H
yyy[3;4H[K[4;1H[1m[34m~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
source test_tab
source test_tag[3;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October[m[1m[7me[m[30m[45m
November
December [2;4H[m
January
[1m[34m~
~
~
~
~
~
~
~ [m[4;1H[30m[45mFebruary
March
April
May
June
July
August
September [m[24;1H[1m-- INSERT --[m[24;13H[K[3;1H[30m[47mJanuary [2;8H[m[24;1H[K[24;1H1 change; before #5 0 seconds ago
Executing Test_completefunc_opens_new_window_one()
[31msearch hit BOTTOM, continuing at TOP[1;4H[m[24;1H[K[24;1HExecuting Test_completefunc_opens_new_window_two()
[31msearch hit BOTTOM, continuing at TOP[m[24;1H[K[24;1HExecuting Test_completefunc_with_scratch_buffer()[6;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May [6;1HJanuary [m
[30m[47mFebruary [5;9H[27m[23m[m[H[2J[1;1Hinfo2-1
2-2
2-3
February
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[13;1Hsource 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[6;1H[30m[45mJanuary [m
[30m[47mFebruary [m
[30m[45mMarch
April
May [m
[7m[Scratch] [23;1Htest_alot.vim [4;1H[Scratch] [Preview] [m[12;1H[1m[7m[Scratch] [5;9H[m
March[5;6H[K[6;1H[1m[34m~
~
~
~
~ [m[6;1H[30m[45mJanuary [m
[30m[47mFebruary [m
[30m[45mMarch
April
May [m[1;5H3
3
3[12;1H[7m[Scratch][m[1m[7m [m[7m [m[12;1H[1m[7m[Scratch] [m[7;1H[30m[45mFebruary [m
[30m[47mMarch [5;6H[m
April
[1m[34m~
~
~
~
~ [m[6;1H[30m[45mJanuary
February [m
[30m[47mMarch [m
[30m[45mApril
May [m[1;5H4
4
4[12;1H[7m[Scratch][m[1m[7m [m[7m [m[12;1H[1m[7m[Scratch] [m[8;1H[30m[45mMarch [m
[30m[47mApril [5;6H[m[24;1HExecuting Test_completefunc_works()
[31msearch hit BOTTOM, continuing at TOP[m[2;1H[30m[47mthreedef [m
[30m[45mthreeDEF [2;1Hthreedef [m
[30m[47mthreeDEF [1;9H[m
[L[1;1HthreeDEF
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~
~
~
~
~ [m[2;1H[30m[45mthreedef [m
[30m[47mthreeDEF [1;9H[m[24;1H[K[24;1HExecuting Test_completion_ctrl_e_without_autowrap()[24;1H[K[24;1HExecuting Test_cos()
Executing Test_cosh()
Executing Test_cursorhold_insert()[?12l[?25h[?25l[24;1H[K[24;1HExecuting Test_cursorhold_insert_ctrl_x()[?12l[?25h[?25l[24;1H[K[24;1HExecuting Test_cursorline_keep_col()
Executing Test_curswant_with_autocommand()[24;1H[K[24;1H
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][24;21H[K[24;1H[K[24;1H
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()[24;1H[K[24;1HExecuting Test_file_delete()
"Xfile" [New File][24;19H[K[24;9H[K[24;9H[New] 2L, 4C written
Executing Test_file_perm()
Executing Test_fileformat_after_bw()
"a.txt" [New File][24;19H[K[24;2Hex-undo" [New File]
Executing Test_filetype_valid()
Executing Test_filter()
"Xdoesnotmatch" [New File]
"Xwillmatch" [New File][24;24H[K[24;2Hex-undo" [New File][24;21H[K[24;1H
Executing Test_filter_cmd_completion()[24;1H[K[24;1H:filter [34m^I[m"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter [34m^I[m[24;11H[K[24;11H[24;1H[K[24;1H:filter pat[34m^I[m"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter pat[34m^I[m[24;15H[K[24;14H[24;1H[K[24;1H:filter /pat[34m^I[m"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter /pat[34m^I[m[24;15H[K[24;15H[24;1H[K[24;1H:filter /pat/[34m^I[m"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter /pat/[34m^I[m[24;16H[K[24;16H[24;1H[K[24;1H:filter pat pri...nt[24;18H[K[24;18H"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter pat print[24;18H[K[24;18H[24;1H[K[24;1H:filter /pat/ pri...nt[24;20H[K[24;20H"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter /pat/ print[24;20H[K[24;20H[24;1H[K[24;1H:filter #pat# pri...nt[24;20H[K[24;20H"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter #pat# print[24;20H[K[24;20H[24;1H[K[24;1HExecuting 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" [24;17H[K[24;17H49L, 1258C
Executing Test_func_sandbox()
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_glob2regpat_invalid()
Executing Test_glob2regpat_valid()
Executing Test_global_local_lispwords()
Executing Test_help_complete()
Executing Test_help_respect_current_file_lang()
"testdoc.abx" [24;15H[K[24;15H[readonly] 2L, 25C[24;10Hja[24;15H[K[24;15H[readonly] 2L, 25C[24;26Hline 1 of 2 --50%-- col 2-9[24;10Htxt[24;15H[K[24;15H[readonly] 2L, 25C
Executing Test_help_tagjump()[24;30H[K[24;1H"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
"options.txt" [24;15H[K[24;15H[readonly] 8784L, 372352C[24;26Hline 7690 of 8784 --87%-- col 7-49
"eval.txt" [24;12H[K[24;12H[readonly][converted] 10613L, 408230C[24;22H line 2406 of 10613 --22%-- col 1
"options.txt" [readonly] line 1324 of 8784 --15%-- col 4-25
"cmdline[24;15H[K[24;15H[readonly] 1147L, 46822C
Executing Test_if()
Executing Test_info()
Executing Test_invalid_submatch()
Executing Test_isnan()
Executing Test_join_with_count()
Executing Test_keymap_valid()
Executing Test_keyword_jump()
"Xtestfile" [24;13H[K[24;13H9L, 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()[24;1H[K[24;1HExecuting Test_map_ctrl_c_visual()[24;1H[K[24;1H:'<,'>[24;2H[K[24;2H$put ='vmap works'
Executing Test_map_cursor()[24;1H[K[24;1H1 line less; before #8 0 seconds ago
Executing Test_map_feedkeys()[24;1H[K[24;1H:call feedkeys(".", "in")
[24;1H[K[24;1H:call feedkeys(".", "in")
[24;1H[K[24;1HExecuting Test_map_langmap()[24;1H[K[24;1H:call append(line('$'), '+')
Executing Test_map_meta_quotes()[24;1H[K[24;1HExecuting Test_match()
[27m[23m[m[H[2J[1;1Habcd[41me[mfg[41mhij[mklmnopq
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1Habc[41mdΣ[m[1;6Hab[41mcd[mef
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [m[24;1HExecuting Test_matchaddpos()[27m[23m[m[H[2J[1;1H1[1m[37m[41m2[m345
N[1m[37m[41mP[m
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H1[1m[37m[41m2[m345[30m[43m
N[m[1m[37m[41mP[m[30m[43m [m
vmap works[30m[43m
[m
Test1: text with a (here some more text)[30m[43m [m
Test1: text with a (here some more text)[30m[43m
[m
Test2: text wit a (here some more text [und undo])[30m[43m [m
fooc d[30m[43m [m
fooc d[30m[43m [m
+[30m[43m [m
+[30m[43m [m
bbbb[30m[43m [m
bbbb[30m[43m [m
cccc[30m[43m [m
bbbb[30m[43m [m
+[30m[43m [m
-foo-[30m[43m [m
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H0[1m[37m[41m1[m234[1m[37m[41m5[m[30m[43m
N[m[1m[37m[41mP[m[30m[43m [m
vmap works[30m[43m
[m
Test1: text with a (here some more text)[30m[43m [m
Test1: text with a (here some more text)[30m[43m
[m
Test2: text wit a (here some more text [und undo])[30m[43m [m
fooc d[30m[43m [m
fooc d[30m[43m [m
+[30m[43m [m
+[30m[43m [m
bbbb[30m[43m [m
bbbb[30m[43m [m
cccc[30m[43m [m
bbbb[30m[43m [m
+[30m[43m [m
-foo-[30m[43m [m
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H[1m[37m[41m1234567[m890
N[1m[37m[41mH[m
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H[1m[37m[41m1234567890[m
N[1m[37m[41mH[m
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [m[24;1HExecuting Test_matchaddpos_using_negative_priority()[27m[23m[m[H[2J[1;1H[30m[43mx[m
NH
vmap works
Test1: te[30m[43mx[mt with a (here some more te[30m[43mx[mt)
Test1: te[30m[43mx[mt with a (here some more te[30m[43mx[mt)
Test2: te[30m[43mx[mt wit a (here some more te[30m[43mx[mt [und undo])
fooc d
fooc d
+
+
bbbb
bbbb
cccc
bbbb
+
-foo-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H[1m[37m[41mx[m
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H[1m[37m[41mx
-1 match priority[m
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [m[24;1HExecuting Test_matchstrpos()
Executing Test_max_min_errors()
Executing Test_messages()
hello0[1;1H[3L[1;1H[1m[37m[41mx
-1 match priority[m
vmap works[23;11H[1m[7m [m[24;1H[K[24;1Hhello1234567898
hello9[1;1H[L[1;1H[1m[37m[41mx[m[24;1H[K[24;1Hhello9
Executing Test_missing_attr()
Executing Test_modeline_fails_always()
"Xmodeline_fails_backupdir" [24;29H[K[24;29H2L, 41C
"Xmodeline_fails_cdpath" 2L, 38C
"Xmodeline_fails_charconvert" 2L, 43C
"Xmodeline_fails_completefunc" 2L, 44C
"Xmodeline_fails_cscopeprg" 2L, 41C
"Xmodeline_fails_diffexpr" 2L, 40C
"Xmodeline_fails_directory" 2L, 41C
"Xmodeline_fails_equalprg" 2L, 40C
"Xmodeline_fails_errorfile" 2L, 41C
"Xmodeline_fails_exrc" 2L, 36C
"Xmodeline_fails_formatprg" 2L, 41C
"Xmodeline_fails_fsync" 2L, 37C
"Xmodeline_fails_grepprg" 2L, 39C
"Xmodeline_fails_helpfile" 2L, 40C
"Xmodeline_fails_keywordprg" 2L, 42C
"Xmodeline_fails_langmap" 2L, 39C
"Xmodeline_fails_makeef" 2L, 38C
"Xmodeline_fails_makeprg" 2L, 39C
"Xmodeline_fails_mkspellmem" 2L, 42C
"Xmodeline_fails_modelineexpr" 2L, 32C
"Xmodeline_fails_omnifunc" 2L, 40C
"Xmodeline_fails_operatorfunc" 2L, 44C
"Xmodeline_fails_printdevice" 2L, 43C
"Xmodeline_fails_patchexpr" 2L, 41C
"Xmodeline_fails_printexpr" 2L, 41C
"Xmodeline_fails_runtimepath" 2L, 43C
"Xmodeline_fails_secure" 2L, 38C
"Xmodeline_fails_shell" 2L, 37C
"Xmodeline_fails_shellcmdflag" 2L, 44C
"Xmodeline_fails_shellpipe" 2L, 41C
"Xmodeline_fails_shellquote" 2L, 42C
"Xmodeline_fails_shellredir" 2L, 42C
"Xmodeline_fails_shellxquote" 2L, 43C
"Xmodeline_fails_spellfile" 2L, 41C
"Xmodeline_fails_spellsuggest" 2L, 44C
"Xmodeline_fails_titleold" 2L, 40C
"Xmodeline_fails_viewdir" 2L, 39C
"Xmodeline_fails_viminfo" 2L, 39C
"Xmodeline_fails_undodir" 2L, 39C
"Xmodeline_fails_t_AB" 2L, 36C
"Xmodeline_fails_t_ce" 2L, 36C
"Xmodeline_fails_t_sr" 2L, 36C
"Xmodeline_fails_t_8b" 2L, 36C
Executing Test_modeline_fails_modelineexpr()
"Xmodeline_fails_foldexpr" [24;28H[K[24;28H2L, 40C
"Xmodeline_fails_foldtext" 2L, 40C
"Xmodeline_fails_formatexpr" 2L, 42C
"Xmodeline_fails_iconstring" 2L, 42C
"Xmodeline_fails_includeexpr" 2L, 43C
"Xmodeline_fails_indentexpr" 2L, 42C
"Xmodeline_fails_rulerformat" 2L, 43C
"Xmodeline_fails_statusline" 2L, 42C
"Xmodeline_fails_tabline" 2L, 39C
"Xmodeline_fails_titlestring" 2L, 43C
Executing Test_modeline_filetype()
"Xmodeline_filetype" [24;22H[K[24;22H2L, 24C
Executing Test_modeline_filetype_fails()
"Xmodeline_fails_filetype" [24;28H[K[24;28H2L, 31C
Executing Test_modeline_invalid()
"Xmodeline" [24;13H[K[24;13H2L, 13C
Executing Test_modeline_keymap()
"Xmodeline_keymap" [24;20H[K[24;20H2L, 32C
Executing Test_modeline_keymap_fails()
"Xmodeline_fails_keymap" [24;26H[K[24;26H2L, 35C
Executing Test_modeline_syntax()
"Xmodeline_syntax" [24;20H[K[24;20H2L, 25C
Executing Test_modeline_syntax_fails()
"Xmodeline_fails_syntax" [24;26H[K[24;26H2L, 32C
Executing Test_move_cursor()
Executing Test_named_function_closure()
Executing Test_no_type_checking()
Executing Test_noinsert_complete()[24;1H[K[24;1H=s:complTest1()
[1;1H[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1H[1m[37m[41mx
-1 match priority[m
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
[7m[No Name] [m[2;1H[30m[47msource [m
[30m[45msoundfold [1;1H[m[2;4H[30m[47mndfold[24;1H[m=s:complTest2()
[1;1H
[1m[34m~
~ [m[2;1H[30m[47msource [m
[30m[45msoundfold [1;1H[m[24;1H[K[24;1HExecuting Test_non_zero_arg()
Executing Test_not_existing()
Executing Test_not_lamda()
Executing Test_omnifunc_with_check()
[31msearch hit BOTTOM, continuing at TOP[m[1;1H[4L[1;1Hfour1
[1m[34m~ [3;1H~ [4;1H~ [m[12;11H[1m[7m[+][m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [m[1;5H2
[1m[34m~
~ [m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [2;1Hfour1 [m
[30m[47mfour2 [1;6H[m
[1m[34m~
~ [m[2;1H[30m[45mfour1 [m
[30m[47mfour2 [m
[30m[45mfour3
four4
four5
four6 [1;6H[m[24;1H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[m[1;5H1
[1m[34m~
~
~
~
~
~ [m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [m[1;5H2
[1m[34m~
~ [m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [2;1Hfour1 [m
[30m[47mfour2 [m[1;5H3
[1m[34m~
~ [m[2;1H[30m[45mfour1
four2 [m
[30m[47mfour3 [m
[30m[45mfour4 [1;6H[m
[1m[34m~
~
~
~ [m[2;1H[30m[45mfour1
four2 [m
[30m[47mfour3 [m
[30m[45mfour4
four5
four6 [1;6H[m[24;1H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[m[1;5H1
[1m[34m~
~
~
~
~
~ [m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [m[1;5H2
[1m[34m~
~ [m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [2;1Hfour1 [m
[30m[47mfour2 [m[1;5H3
[1m[34m~
~ [m[2;1H[30m[45mfour1
four2 [m
[30m[47mfour3 [m
[30m[45mfour4 [4;1Hfour3 [m
[30m[47mfour4 [m
[30m[45mfour5
four6 [1;6H[m4
[1m[34m~
~
~
~
~
~ [m[2;1H[30m[45mfour1
four2
four3 [m
[30m[47mfour4 [m
[30m[45mfour5
four6 [1;6H[m5
[1m[34m~
~
~
~
~
~ [m[2;1H[30m[45mfour1
four2
four3 [m
[30m[47mfour4 [m
[30m[45mfour5
four6 [5;1Hfour4 [m
[30m[47mfour5 [1;6H[m[24;1H[K[24;1HExecuting 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()[24;1H[K[24;1H=ListMonths()
[1;5H
[10L[1;1HJune
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [1;5H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJune [m
[30m[47mJuly [1;5H[m[24;1H[K[24;1H=ListMonths()
[1;8H
January
[1m[34m~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mFebruary [1;8H[m
[30m[45mFebruary [m
[30m[47mMarch [1;8H[m
[30m[45mMarch [m
[30m[47mApril [1;8H[m[5;1H[30m[45mApril [m
[30m[47mMay [1;8H[m[6;1H[30m[45mMay [m
[30m[47mJune [1;8H[m[7;1H[30m[45mJune [m
[30m[47mJuly [1;8H[m[8;1H[30m[45mJuly [m
[30m[47mAugust [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mJune
July [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;5H
June[1;5H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJune [m
[30m[45mJuly [1;5H[m[1;3H[K[2;1H[1m[34m~
~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJune [1;3H
July[m[24;1H[K[24;1H=ListMonths()
[1;5Hne
[1m[34m~
~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [1;5H[m[1;3H[K[2;1H[1m[34m~
~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJune [1;3H
July[1;5H[mly
[1m[34m~
~ [m[2;1H[30m[45mJuly [m
[30m[47mJuly [1;5H[m[24;1H[K[24;1H=ListMonths()
[1;5Hne
[1m[34m~ [m
[30m[47mJune [m
[30m[45mJuly [1;5H[m[1;3H[K[2;1H[1m[34m~
~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJune [1;3H
July[m[24;1H[K[24;1H=ListMonths()
[1;8H
January
[1m[34m~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m
February
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mFebruary [1;9H[m[24;1H[K[24;1H=ListMonths()
[1;8H
January[1;8H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mJune
July [1;8H[m
June[1;5H[K[2;1H[1m[34m~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mJune
July [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mJune [1;5H[mly
[1m[34m~
~
~ [m[2;1H[30m[45mJanuary [m
[30m[47mJune [m
[30m[45mJuly [3;1HJune [m
[30m[47mJuly [1;5H
[mJ[1;2H[K[2;1H[1m[34m~
~
~ [m[2;1H[30m[45mJanuary
June [m
[30m[47mJuly [m
[30m[45mJuly [1;2H[m[24;1H[K[24;1H=ListMonths()
[1;8H
January
[1m[34m~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mJune
July [1;8H[m
June[1;5H[K[2;1H[1m[34m~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mJune
July [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mJune [1;5H[mly
[1m[34m~
~
~ [m[2;1H[30m[45mJanuary [m
[30m[47mJune [m
[30m[45mJuly [3;1HJune [m
[30m[47mJuly [1;5H
[mJ[1;2H[K[2;1H[1m[34m~
~
~ [m[2;1H[30m[45mJanuary
June [m
[30m[47mJuly [m
[30m[45mJuly [1;2H[m
January
[1m[34m~
~
~ [m[2;1H[30m[45mJanuary
June
July [m[2;1H[30m[47mJanuary [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mJune
July [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;5H
June[1;5H[K[2;1H[1m[34m~
~
~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [1;5H[m[24;1H[K[24;1H=ListMonths()
[1;8H
January
[1m[34m~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[13;1H[30m[47mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[13;1H[30m[47mDecember [1;8H
February [m[13;1H[30m[45mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m[12;1H[30m[47mNovember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m[12;1H[30m[47mNovember [1;8H[m[12;1H[30m[45mNovember [m
[30m[47mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m[12;1H[30m[47mNovember [1;8H[m[12;1H[30m[45mNovember [m
[30m[47mDecember [1;8H[m[13;1H[30m[45mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m[12;1H[30m[47mNovember [1;8H[m[12;1H[30m[45mNovember [m
[30m[47mDecember [1;8H[m[13;1H[30m[45mDecember [1;8H[m[11;1H[30m[47mOctober [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[13;1H[30m[47mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[13;1H[30m[47mDecember [1;8H[12;1HNovember [m
[30m[45mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H
[m[1;1H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;1H[8C[m
December
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October [m
[30m[47mDecember [1;9H[m
Nov
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October [m
[30m[47mNovember [m
[30m[45mDecember [1;9H[m
October[1;8H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October [m
[30m[47mOctober [m
[30m[45mNovember [1;8H[m
September
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September [m
[30m[47mOctober [10;1HSeptember [m
[30m[45mOctober [1;10H[m[24;1H[K[24;1H=ListMonths()
[1;8H
January[1;8H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[13;1H[30m[47mDecember [1;8H[12;1HNovember [m
[30m[45mDecember [1;8H[m[11;1H[30m[47mOctober [m
[30m[45mNovember [1;8H[m[10;1H[30m[47mSeptember [m
[30m[45mOctober [1;8H[m[24;1H[K[24;1H=ListMonths()
[2;9H[24;1H[K[24;1H=ListMonths()
[2;9H[1;1HDecember2015
December[2;9H[K[3;1H[1m[34m~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[3;1H[30m[47mDecember [2;9H[m[24;1H[K[24;1H=ListMonths()
[1;6H
March[1;6H[K[2;1H[1m[34m~ [3;1H~ [m[2;1H[30m[47mMarch [m
[30m[45mMay [1;6H[my[1;4H[K[2;1H[1m[34m~
~ [m[2;1H[30m[47mMarch [m
[30m[45mMay [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mMarch [m
[30m[47mMay [1;4H[m rch
[1m[34m~
~ [m[2;1H[30m[45mMarch [m
[30m[47mMay [2;1HMarch [m
[30m[45mMay [1;6H[m[24;1H[K[24;1H=ListMonths()
[2;6H[1;2H[K[2;1HMarch[2;6H[K[3;1H[1m[34m~ [m
[30m[47mMarch [m
[30m[45mMay [2;6H[my[2;4H[K[3;1H[1m[34m~
~ [m[3;1H[30m[47mMarch [m
[30m[45mMay [m[24;1H[1m-- INSERT --[m[24;13H[K[3;1H[30m[45mMarch [m
[30m[47mMay [2;4H[m rch
[1m[34m~
~ [m[3;1H[30m[45mMarch [m
[30m[47mMay [3;1HMarch [m
[30m[45mMay [2;6H[m[24;1H[K[24;1H=ListMonths()
[1;6H
March
[1m[34m~ [3;1H~
~ [m[2;1H[30m[47mMarch [m
[30m[45mMay [1;6H[m[24;1H[K[24;1H=ListMonths()
[2;2HM[2;2H[K[3;1H[1m[34m~ [m
[30m[45mMarch
May [2;2H[m[24;1H[K[24;1H=ListMonths()
[3;2HM[3;2H[K[4;1H[1m[34m~ [m
[30m[47mMarch [m
[30m[45mMay [3;2H[m[24;1H[K[24;1HExecuting Test_popup_complete2()[24;1H[K[24;1H=ListMonths()
[1;2H[24;1H[K[24;1HExecuting Test_popup_completion_insertmode()[24;1H[K[24;1H=ListMonths()
[1;1H[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~
~ [m[12;11H[1m[7m [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;1H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mFebruary [1;1H[m[24;1H[K[24;1H=ListMonths()
[1;1H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;1H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mFebruary [1;1H[m[24;1H[K[24;1H=ListMonths()
[1;1H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;1H[8C[m
February
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mFebruary [1;9H[m
March[1;6H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary [m
[30m[47mFebruary [m
[30m[45mMarch
April
May
June
July
August
September
October [3;1HFebruary [m
[30m[47mMarch [1;6H[m
April
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February [m
[30m[47mMarch [m
[30m[45mApril
May
June
July
August
September
October [4;1HMarch [m
[30m[47mApril [1;6H[m
May[1;4H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March [m
[30m[47mApril [m
[30m[45mMay
June
July
August
September
October [5;1HApril [m
[30m[47mMay [1;4H[m
June
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April [m
[30m[47mMay [m
[30m[45mJune
July
August
September
October [6;1HMay [m
[30m[47mJune [1;5H[mly
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May [m
[30m[47mJune [m
[30m[45mJuly
August
September
October [7;1HJune [m
[30m[47mJuly [1;5H[m
August
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June [m
[30m[47mJuly [m
[30m[45mAugust
September
October [8;1HJuly [m
[30m[47mAugust [1;7H[m
September
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July [m
[30m[47mAugust [m
[30m[45mSeptember
October [9;1HAugust [m
[30m[47mSeptember [1;10H[m
October[1;8H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August [m
[30m[47mSeptember [m
[30m[45mOctober [10;1HSeptember [m
[30m[47mOctober [1;8H[m
November
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September [m
[30m[47mOctober [m
[30m[45mOctober [m
[30m[47mNovember [1;9H[m
Dec
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October
November [m
[30m[47mDecember [1;9H
[m[1;1H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October
December [1;1H[m[24;1H[K[24;1H=ListMonths()
[1;1H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;1H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;1H[m[24;1H[K[24;1H=ListMonths()
[1;1H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;1H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;1H[8C[m
December
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October [m
[30m[47mDecember [1;9H[m[24;1H[K[24;1HExecuting 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][24;25H[K[24;15H[K[24;15H[New] 2L, 4C written[24;8Hsubdir/Xfile" [24;22H[K[24;22H[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][24;17H[K[24;1H
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][24;20H[K[24;10H[K[24;10H[New] 3L, 18C written
Executing Test_statusline_will_be_disabled_with_error()[27m[23m[m[H[2J[1;1Hx
-1 match priority
vmap works
Test1: text with a (here some more text)
Test1: text with a (here some more text)
Test[34m2[m: text wit a (here some more text [und undo])
fooc d
fooc d
+
+
bbbb
bbbb
cccc
bbbb
+
-foo-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m [m[24;1HExecuting 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][24;19H[K[24;9H[K[24;9H[New] 2L, 4C written[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_symlink_dir_delete()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_symlink_recursive_delete()
"Xdir3/Xfile" [New File][24;25H[K[24;15H[K[24;15H[New] 2L, 4C written[24;8Hsubdir/Xfile" [24;22H[K[24;22H[New] 2L, 4C written
"Xdir4/Xfile" [24;15H[K[24;15H[New] 2L, 4C written[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_syntax_valid()
Executing Test_tabline_will_be_disabled_with_error()[27m[23m[m[H[2J[1;1H[7m [m[2;1Hx
-1 match priority
vmap works
Test1: text with a (here some more text)
Test1: text with a (here some more text)
Test[34m2[m: text wit a (here some more text [und undo])
fooc d
fooc d
+
+
bbbb
bbbb
cccc
bbbb
+
-foo-
[1m[34m~ [22;1H~ [m[23;1H[1m[7m[No Name] [m[24;1HExecuting Test_tabnext_on_buf_unload1()
Executing Test_tabnext_on_buf_unload2()
"x" [Not edited] --No lines in buffer--
"y" [New File][24;15H[K[24;1H
Executing Test_tabpage()
"Xtestfile" [New File][24;23H[K[24;1H
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][24;19H[K[24;1H
Executing Test_tan()
Executing Test_tanh()
Executing Test_thesaurus()
Executing Test_three_windows()
"Xtestje1" [New File][24;22H[K[24;12H[K[24;12H[New] 1L, 8C written[24;9H2" [New File][24;22H[K[24;12H[K[24;12H[New] 1L, 8C written[24;9H3" [New File][24;22H[K[24;12H[K[24;12H[New] 1L, 8C written[24;9H1[24;12H[K[24;12H1L, 8C
"Xtestje3" 1L, 8C[24;9H2[24;12H[K[24;12H1L, 8C[24;9H1[24;12H[K[24;12H1L, 8C
"Xanother" [New File]
"Xtestje1[24;12H[K[24;12H1L, 8C
"Xanother" [New File]
Already only one window
"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
Executing Test_tostring()
Executing Test_true_false_arg()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;32H[?1l>[?1049l[?1049h[?1h=[24;32H[?1l>[?1049l[?1049h[?1h=[24;32H[?1l>[?1049l[?1049h[?1h=[24;1H
[?25l"colored" [New File]
Executing Test_trunc()
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" [24;15H[K[24;15H0L, 0C
[31mW19: Deleting augroup that is still in use[m
Executing Test_with_directories()[24;34H[K[24;1H"Xdir1/file" [New File][24;24H[K[24;1H
"Xdir1/file" [New] 2L, 4C written
"Xdir3/Xdir4/file" [New] 2L, 4C written[24;20H[K[24;20H2L, 4C
"Xdir?/*/nofile" [New DIRECTORY]
"foo" [New File][24;18H[K[24;1HExecuting Test_with_partial_callback()[?12l[?25h[?25l[24;21Htilde()[24;28H[K[24;17Hrong_arguments()
"test_alot.res" [New File][24;27H[K[24;1H
"test_alot.res" [New] 0L, 0C written
Executed 256 tests[24;19H[K[24;1H"messages" [24;12H[K[24;12H574L, 15147C
"messages" 835L, 23678C 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_OptionSet_modeline()
Skipped
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_sandbox()
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_glob2regpat_invalid()
Executing Test_glob2regpat_valid()
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_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_modeline_fails_always()
Executing Test_modeline_fails_modelineexpr()
Executing Test_modeline_filetype()
Executing Test_modeline_filetype_fails()
Executing Test_modeline_invalid()
Executing Test_modeline_keymap()
Executing Test_modeline_keymap_fails()
Executing Test_modeline_syntax()
Executing Test_modeline_syntax_fails()
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_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 256 tests
SKIPPED Test_OptionSet_modeline(): test_override() missing
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 -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 -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
dh_testdir
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
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 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/quickfix.o quickfix.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
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
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
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
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 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
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 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test1.in" 57 lines, 2069 characters[2;1HFirst 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[20;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 35 lines, 1133 characters written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[21;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If columns or lines are too small, create wrongtermsize.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" (Some tests will fail. When columns and/or lines are small)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Write a single line to test.out to check if testing works at all.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%d
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25lthis is a test[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 15 characters written[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Create small.vim and tiny.vim empty, create mbyte.vim to skip the test.
[?25l[1;14H[?12l[?25h
[?25l[1;1H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! small.vim
[?25l"small.vim" [24;13H[K[24;13H[New File] 1 line, 1 character written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! tiny.vim
[?25l"tiny.vim" [24;12H[K[24;12H[New File] 1 line, 1 character written[1;1H[?12l[?25h[?25le! test.ok
w! test.out[2;12H[K[3;1Hqa![3;4H[K[4;1H[K[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! mbyte.vim
[?25l"mbyte.vim" [24;13H[K[24;13H[New File] 4 lines, 28 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! mzscheme.vim
[?25l"mzscheme.vim" [24;16H[K[24;16H[New File] 4 lines, 28 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! lua.vim
[?25l"lua.vim" [24;11H[K[24;11H[New File] 4 lines, 28 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +multi_byte feature supported, make mbyte.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif has("multi_byte") | sp another | w! mbyte.vim | q | endif
[?25l"another" [New File][24;21H[K[24;1H
"mbyte.vim" 0 lines, 0 characters written[1;1H[L[1;1He! test.ok[24;1H[K[4;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +mzscheme feature supported, make mzscheme.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif has("mzscheme") | sp another | w! mzscheme.vim | q | endif
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +lua feature supported, make lua.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif has("lua") | sp another | w! lua.vim | q | endif
[?25l"another" [New File][24;21H[K[24;1H
"lua.vim" 0 lines, 0 characters written[1;1H[L[1;1He! test.ok[24;1H[K[4;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Otherwise write small.vim to skip the test.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif 1 | q! | endif
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test3.in" 2342 lines, 23089 characters[1;1H/* vim: set cin ts=4 sw=4 : */
Test for 'cindent'
STARTTEST
:so small.vim
:set nocompatible viminfo+=nviminfo modeline
:edit[16C" read modeline
/start of AUTO
=/end of AUTO
ENDTEST
/* start of AUTO matically checked vim: set ts=4 : */
{[15;9Hif (test)[16;17Hcmd1;[17;9Hcmd2;
}
{[21;9Hif (test)[22;17Hcmd1;[23;9Helse[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1H/* vim: set cin ts=4 sw=4 : */[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[Kgcc -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
[24;11H[New File] 5 lines, 125 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo modeline
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit " read modeline
[?25l"test3.in"[24;22H[K[24;12H2342L, 23089C[15;5Hif (test)[15;14H[K[16;9Hcmd1;[16;17H[K[17;5Hcmd2;[17;10H[K[21;5Hif (test)[21;14H[K[22;9Hcmd1;[22;17H[K[23;5Helse[23;9H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hstart of AUTO
[?25l[13;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hend of AUTO
[?25l956 lines to indent...
9500
850
750
650
550
450
350
250
150
50 lines to indent...
957 lines indented [24;20H[K[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;13H}[2;13Hbreak;[3;9Hdefault:[4;13Hbaz();[5;13Hbaz();[6;13Hbreak;
}
}
/* end of AUTO */
STARTTEST
:set tw=0 wm=60 columns=80 noai fo=croq
/serious/e
a about life, the universe, and the rest[34m^[[m
ENDTEST
{
/* this is
* a real serious important big
* comment
*/[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 93C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=0 wm=60 columns=80 noai fo=croq
[?25l[27m[23m[m[H[2J[1;13H}[2;13Hbreak;[3;9Hdefault:[4;13Hbaz();[5;13Hbaz();[6;13Hbreak;
}
}
/* end of AUTO */
STARTTEST
:set tw=0 wm=60 columns=80 noai fo=croq
/serious/e
a about life, the universe, and the rest[34m^[[m
ENDTEST
{
/* this is
* a real serious important big
* comment
*/[16;1H[?12l[?25h[?25l[24;1H/[?12l[?25hserious/e
[?25l[21;17H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[20;19H[K[21;4Habout life, the
* universe, and the
* rest important big[23;7H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H* comment[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[5M[1;24r[19;2H*/
/* insert " about life, the universe, and the rest" after "serious" */
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set nocin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H6L, 78C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H/comments
joabout life[34m^[[m/happens
jothere[34m^[[m/below
oline[34m^[[m/this
Ohello[34m^[[m[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hcomments
[?25l[1;23r[1;1H[4M[1;24r[21;1H{
/*[23;6H* Testing for comments, without 'cin' set[24;1H[K[23;20H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;6H*/[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1Habout life[?12l[?25h[?25l
/[?12l[?25hhappens
[?25l[1;23r[1;1H[3M[1;24r[22;1H/*
* what happens here?[24;1H[K[23;8H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H*/[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1Hthere[?12l[?25h[?25l
/[?12l[?25hbelow
[?25l[1;23r[1;1H[3M[1;24r[22;5H/*[23;8Hthe end of the comment, try inserting a line below */[24;1H[K[23;53H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1Hline[?12l[?25h[?25l
/[?12l[?25hthis
[?25l[1;23r[1;1H[3M[1;24r[22;9H/* how about[23;25Hthis one */[24;1H[K[23;25H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[23;1Hhello[23;25H[K[23;5H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;25Hthis one */[23;8H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 18C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/vec2
==[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hvec2
[?25l[1;23r[1;1H[5M[1;24r[20;1H{
var = this + that + vec[0] * vec[0][22;23H+ vec[1] * vec[1][23;23H+ vec2[2] * vec[2];[24;1H[K[23;25H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5L, 51C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H:set cino=}4
/testing1
k2==/testing2
k2==[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=}4
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25htesting1
[?25l[1;23r[1;1H[8M[1;24r[17;1H{[18;9Hasdf asdflkajds f;
if (tes & ting) {[20;9Hasdf asdf asdf ;[21;9Hasdfa sdf asdf;[22;9H}
testing1;[24;1H[K[23;5H[?12l[?25h[22;8H [?25l
/[?12l[?25htesting2
[?25l[1;23r[1;1H[6M[1;24r[18;5Hif (tes & ting)
{[20;9Hasdf asdf asdf ;[21;9Hasdfa sdf asdf;[22;9H}
testing2;[24;1H[K[23;5H[?12l[?25h[22;8H [23;9H[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H4L, 36C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set cino=(0,)20
/main
=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,)20
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hmain
[?25l[1;23r[1;1H[2M[1;24r[23;1Hmain ( int first_par, /*[24;1H[K[23;1H[?12l[?25h[?25l
19 lines to indent...
20[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;24H* Comment for[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[1;23H* Comment for[2;23H* first par[3;23H*/[4;11Hsecond_par /*[5;23H* Comment for[6;23H* second par[7;23H*/[8;9H);
}
STARTTEST
:set cin
:set cino=es,n0s
/main
=][
ENDTEST
main(void)
{
/* Make sure that cino=X0s is not parsed like cino=Xs. */
if (cond)[23;9Hfoo();[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H4L, 36C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=es,n0s
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hmain
[?25l[19;1H[?12l[?25h[?25l[24;1H8 lines to indent...
9[7Cindented [24;18H[K[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;5Helse
{[19;9Hbar();
}
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 26C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H:set cino=
]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H{[24;1H[K[23;1H[?12l[?25h[?25l
11 lines to indent...
12[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hdo[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[1;9Hif ()[2;9H{[3;13Hif ()[4;17Hasdf;[5;13Helse[6;17Hasdf;[7;9H}
} while ();
cmd;[8C/* this should go under the } */
}
STARTTEST
]]=][
ENDTEST
void f()
{
if ( k() ) {[19;9Hl();[21;5H} else { /* Start (two words) end */[22;9Hm();
}[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H1L, 6C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[14;1H[?12l[?25h
[?25l[24;1H8 lines to indent...
9[7Cindented [24;18H[K[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[5M[1;24r[20;5Hn();
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino={s,e-s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino={s,e-s
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
7 lines to indent...
8[7Cindented [24;18H[K[23;1H {[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif ( k() )[24;1H[K[23;5H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[9M[1;24r[15;9H{[16;9Hl();[17;9H} else { /* Start (two words) end */[18;9Hm();[19;9H}
n(); /* should be under the if () */
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino={s,fs
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 25C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H]]=/ foo[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino={s,fs
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Hvoid bar(void)
{[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h foo
[?25l30 lines to indent...
31[7Cindented [24;19H[K[23;1H {[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;1Hvoid func(void)
{
a = 1;[4;9H{[5;9Hb = 2;[6;9H}
c = 3;
d = 4;
}
/* foo */
STARTTEST
:set cino=
/while
ohere[34m^[[m
ENDTEST
a()
{
do {
a = a +[22;7Ha;
} while ( a );[8C/* add text under this line */[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 25C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hwhile
[?25l[23;5H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;3Hhere[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif ( a )
i[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[4M[1;24r[20;7Ha;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino= com=
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 109C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H/comment
olabel2: b();[34m^M[mlabel3 /* post */:[34m^M[m/* pre */ label4:[34m^M[mf(/*com*/);[34m^M[mif (/*com*/)[34m^^[23;1HM[mcmd();[34m^[[m[24;1H[K[22;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino= com=
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hcomment
[?25l[1;23r[1;1H[6M[1;24r[19;1Ha()
{
label1:[22;13H/* hmm */[23;13H// comment[24;1H[K[23;16H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[1;1H[6M[1;24r[18;1Hlabel2: b();
label3 /* post */:
/* pre */ label4:[21;9Hf(/*com*/);[22;9Hif (/*com*/)[23;13Hcmd();[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set comments& comments^=s:/*,m:**,ex:*/
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 53C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/simple
=5j[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments& comments^=s:/*,m:**,ex:*/
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hsimple
[?25l[1;23r[1;1H[3M[1;24r[22;1H/*
* A simple comment[24;1H[K[23;7H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;2H* A simple comment[23;20H[K[23;2H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H*/[24;1H[K[23;2H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[19;1H/*
** A different comment
*/
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=c0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 70C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H:set comments& comments-=s1:/* comments^=s0:/*
2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=c0
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments& comments-=s1:/* comments^=s0:/*
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;5H/*********[19;7HA comment.
*********/
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=c0,C1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 73C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H:set comments& comments-=s1:/* comments^=s0:/*
2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=c0,C1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments& comments-=s1:/* comments^=s0:/*
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;5H/*********
A comment.
*********/
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 17C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 &&[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;9H([18;10Hc2 ||[19;10Hc3[20;9H) && c4;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[Kgcc -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
[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(s
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 &&[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;9H([18;10Hc2 ||[19;10Hc3[20;9H) && c4;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(s,U1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 28C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(s,U1
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 &&[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;9H([18;13Hc2 ||[19;13Hc3[20;9H) && c4;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif ( c1[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;12H&& ( c2[19;19H|| c3))[20;9Hfoo;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,w1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 28C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,w1
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif ( c1[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;9H&& ( c2[19;13H|| c3))[20;9Hfoo;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(s
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
8 lines to indent...
9[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 && ([24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;9Hc2 ||[15;9Hc3[16;9H) && c4;
if ([18;9Hc1 && c2[19;8H)[20;9Hfoo;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(s,m1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 28C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(s,m1
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
8 lines to indent...
9[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 && ([24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;9Hc2 ||[15;9Hc3
) && c4;
if ([18;9Hc1 && c2
)[20;9Hfoo;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=b1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=b1
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
9 lines to indent...
10 lines indented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hswitch (x)[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[11M[1;24r[13;5H{[14;9Hcase 1:[15;13Ha = b;[16;9Hbreak;[17;9Hdefault:[18;13Ha = 0;[19;9Hbreak;
}
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,W5
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 26C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,W5
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
10 lines to indent...
11[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hinvokeme([24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[12M[1;24r[12;10Hargu,[13;10Hment);
invokeme([15;10Hargu,[16;10Hment[17;10H);
invokeme(argu,[19;14Hment[20;13H);
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=/6
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=/6
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
3 lines to indent...
4[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hstatement;[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[5M[1;24r[19;11H// comment 1[20;11H// comment 2
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 34C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H2kdd]]/comment 1/+1
==[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=
[?25l[23;1H[?12l[?25h[21;1H[?25l==[21;3H[K[22;1HENDTEST[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25hcomment 1/+1
[?25l[1;23r[1;1H[3M[1;24r[21;5Hstatement;[22;8H// comment 1
// comment 2[24;1H[K[23;4H[?12l[?25h[?25l // comment 2[23;8H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=g0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=g0
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hclass CAbc
{[24;1H[K[23;1H[?12l[?25h[?25l
6 lines to indent...
7[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hint Test() { return FALSE; }[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[8M[1;24r[17;1Hpublic: // comment
void testfall();
protected:
void testfall();
};
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,gs,hs
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 29C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,gs,hs
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hclass Foo : public Bar
{[24;1H[K[23;1H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hpublic:[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;9Hvirtual void method1(void) = 0;[18;9Hvirtual void method2(int arg1,[19;30Hint arg2,[20;30Hint arg3) = 0;
};
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=+20
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 24C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=+20
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;5Hvoid
foo()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif (a)[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;5H{
} else[20;9Hasdf;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,W2s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 27C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,W2s
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H{[24;1H[K[23;1H[?12l[?25h[?25l
34 lines to indent...
35[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haverylongfunctionnamelongfunctionnameaverylongfunctionname()->asd([24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[1;21Hdec)->asdfasdfasdf([2;29Hasdfadsf,[3;29Hasdfasdf,[4;29Hasdfasdf,[5;29H),[6;13Hfunc(asdfadf,[7;18Hasdfasdf),[8;13Hasdasdf[9;13H);
}
STARTTEST
:set cino=M1
2kdd]]=][
ENDTEST
int main ()
{
if (cond1 &&[20;13Hcond2[21;13H)[22;9Hfoo;
}[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=M1
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h[17;1H[?25l[24;1H4 lines to indent...
5[7Cindented [24;18H[K[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,ts
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 26C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd2j=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,ts
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd2j=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h
[?25l
7 lines to indent...
8[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hvoid func(int a[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[9M[1;24r[15;1H#if defined(FOO)[16;11H, int b[17;11H, int c
#endif[19;10H)
{
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd2j=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd2j=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h
[?25l
8 lines to indent...
9[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hvoid[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;1Hfunc(int a
#if defined(FOO)[16;6H, int b[17;6H, int c
#endif
)
{
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 22C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd2j=7][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino&
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd2j=7][
ENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h
[?25l
69 lines to indent...
50
7[8Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hvoid func(void)[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[1;9Hint a,[2;9Hint b)
{
}[6;5Hvoid
func6([8;9Hint a)
{
}
STARTTEST
:set cino&
:set cino+=l1
2kdd2j=][
ENDTEST
void func(void)
{
int tab[] =
{[22;9H1, 2, 3,[23;9H4, 5, 6};[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino&
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino+=l1
[?25l[16;1H[?12l[?25h[14;1H[?25l[14;23r[23;1H
[1;24r[24;1H[K[14;1H[?12l[?25h
[?25l[24;1H22 lines to indent...
23[7Cindented [24;19H[K[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;13Hbreak;[2;9Hcase baz: {[3;13Hprintf("baz");[4;13Hbreak;[5;9H}[6;9Hcase quux:[7;13Hprintf("But don't break the indentation of this instruction\n");[8;13Hbreak;
}
}
STARTTEST
:set cino&
2kdd2j=][
ENDTEST
void func(void)
{
cout << "a"
<< "b"
<< ") :"
<< "c";
}[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 21C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino&
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H6 lines to indent...
7[7Cindented [24;18H[K[19;5H << "b"
<< ") :"
<< "c";[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set com=s1:/*,m:*,ex:*/
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 38C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H]]3jofoo();[34m^[[m[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset com=s1:/*,m:*,ex:*/
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Hvoid func(void)
{[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;5H/*[22;6H* This is a comment.[23;6H*/[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;5Hfoo();[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 21C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd2j=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino&
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd2j=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h
[?25l
8 lines to indent...
9[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hvoid func(void)[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;1H{
for (int i = 0; i < 10; ++i)[16;9Hif (i & 1) {[17;13Hfoo(1);[18;9H} else[19;13Hfoo(0);
baz();
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=k2s,(0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 27C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd3j=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(0
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd3j=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hvoid func(void)[24;1H[K[23;1H[?12l[?25h[?25l
23 lines to indent...
24[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H{[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[2;5Hif ( c1[3;13H&& ( c2[4;23H|| c3))[5;9Hfoo;
func( c1[7;11H&& ( c2[8;20H|| c3))[9;9Hfoo;
}
STARTTEST
:set cino=k2s,(s
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 27C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(s
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H23 lines to indent...
24[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[2;5Hif ( c1[3;13H&& ( c2[4;17H|| c3))[5;9Hfoo;
func( c1[7;9H&& ( c2[8;13H|| c3))[9;9Hfoo;
}
STARTTEST
:set cino=k2s,(s,U1
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 30C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(s,U1
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H24 lines to indent...
25[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;13H&& (c22345[2;17H|| c3))[3;9Hprintf("foo\n");[5;5Hc = c1 &&[6;9H([7;13Hc2 ||[8;13Hc3[9;9H) && c4;
}
STARTTEST
:set cino=k2s,(0,W4
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 30C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(0,W4
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H29 lines to indent...
30[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;13H&& ( c2[2;20H|| c3))[3;9Hfoo;[5;5Ha_long_line([6;9Hargument,[7;9Hargument);
a_short_line(argument,[9;18Hargument);
}
STARTTEST
:set cino=k2s,u2
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 27C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,u2
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H18 lines to indent...
19[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;9Hfoo;
if (c1 &&[3;13H(c2 || c3))
{
}
if (c123456789[7;13H&& (c22345[8;15H|| c3))[9;9Hprintf("foo\n");
}
STARTTEST
:set cino=k2s,(0,w1
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 30C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(0,w1
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H27 lines to indent...
28[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[2;5Hif ( c1[3;13H&& ( c2[4;17H|| c3))[5;9Hfoo;
func( c1[7;10H&& ( c2[8;14H|| c3))[9;9Hfoo;
}
STARTTEST
:set cino=k2,(s
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1[20;7H&& condition2)[21;9Haction();
function(argument1[23;9H&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 26C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2,(s
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H14 lines to indent...
15[7Cindented [24;19H[K[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;5Hif (c1 && (c2 ||[15;11Hc3))[16;9Hfoo;
if (c1 &&[18;7H(c2 || c3))
{
}
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=N-s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 47C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^NAMESPACESTART
=/^NAMESPACEEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=N-s
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^NAMESPACESTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HNAMESPACESTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^NAMESPACEEND
[?25l81 lines to indent...
50
82[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;1Hnamespace test test2
{
1111111111111111111;
}
namespace111111111
{
111111111111111111;
}
NAMESPACEEND
STARTTEST
:set cino=j1,J1
/^JSSTART
=/^JSEND
ENDTEST
JSSTART
var bar = {
foo: {
that: this,
some: ok,
},[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSEND
[?25l12 lines to indent...
13[7Cindented [24;19H[K[20;1H foo: {
that: this,
some: ok,
},[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;5H"bar":{[15;9Ha : 2,[16;9Hb: "123abc",[17;9Hx: 4,[18;9H"y": 5
}
}
JSEND
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=j1,J1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^JSSTART
=/^JSEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HJSSTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^JSEND
[?25l5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[8M[1;24r[16;1Hvar foo = [
1,
2,
3
];
JSEND
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=j1,J1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^JSSTART
=/^JSEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HJSSTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^JSEND
[?25l7 lines to indent...
8[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;1Hfunction bar() {
var foo = [[16;9H1,[17;9H2,[18;9H3
];
}
JSEND
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=j1,J1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^JSSTART
=/^JSEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HJSSTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^JSEND
[?25l58 lines to indent...
509[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;21Hreturn false;[2;17H}[3;17H_arguments[0]=options;[4;17Hmethod.apply(this,_arguments);[5;13H}[6;9H});
}
})(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: [[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSEND
[?25l14 lines to indent...
15[7Cindented [24;19H[K[20;1H $(this).data(class_name+'_public',$.extend({},{
foo: 'bar',
bar: 2,
foobar: [[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[12M[1;24r[12;13H1,[13;13H2,[14;13H3[15;9H],[16;9Hcallback: function(){[17;13Hreturn true;[18;9H}
}, options||{}));
}
JSEND
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=j1,J1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^JSSTART
=/^JSEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HJSSTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^JSEND
[?25l16 lines to indent...
17[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;17H2,[2;17H3[3;13H],[4;13Hcallback: function(){[5;17Hreturn true;[6;13H}[7;9H}, options||{}));
}
})(jQuery);
JSEND
STARTTEST
:set cino=j1,J1,+2
/^JSSTART
=/^JSEND
ENDTEST
JSSTART
// Results of JavaScript indent
// 1
(function(){
var a = [
'a',[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 38C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1,+2
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSEND
[?25l149 lines to indent...
100
50 lines to indent...
150 lines indented [24;20H[K[22;1H var a = [
'a',[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;1Hvar 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[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 48C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin cino&
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hstart of define
[?25l[18;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hend of define
[?25l11 lines to indent...
12[7Cindented [24;19H[K[22;1H BBB\
CCC[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[8M[1;24r[17;1H#define CNT \
1 + \
2 + \
4
/* end of define */
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 61C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l226 fewer lines[24;16H[K[1;1H c,
d,
e,[3;7H[K[4;1H f,[4;7H[K[5;1H g,[5;8H[K[6;1H h,[6;7H[K[7;1H i;[7;7H[K[8;1HJSEND[9;1H[K[10;1H[K[11;1H/* start of define */
{[12;2H[K[13;1H}[13;5H[K[14;1H#define AAA \
BBB\
CCC[16;9H[K[17;5H[K[18;1H#define CNT \
1 + \
2 + \[20;11H[K[21;5H4
/* end of define */[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/start of AUTO/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test4.in" 34 lines, 960 characters[1;1HTest 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[13C" split to Xxx, autocmd will do :brew
G?this is a
othis should be auto-indented[34m^[[m
:[19C" Append text with autoindent to this file
:au! BufEnter Xxx
:buf Xxx[12C" go to Xxx, no autocmd anymore
G?this is a
othis should be in column 1[34m^[[m:wq " append text without autoindent to Xxx
G:r Xxx[13C" include Xxx in the current file
:set fo+=r[10C" issue #57 do not move cursor on <c-o> when autoindent is ss[21;1Het
Go# abcdef[34m^[[m2hi
[34m^O[md0[34m^[[mo# abcdef[34m^[[m2hi[34m^O[md0[34m^[[m:[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for autocommand that changes current buffer on BufEnter event.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 20 lines, 678 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:?startstart?,$w! test.out
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter Xxx brew
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hstart of
[?25l[1;23r[1;1H[2M[1;24r[22;1Hstartstart
start of test file Xxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h.,/end of/w! Xxx " write test file Xxx
[?25l"Xxx" [24;7H[K[24;7H[New] 7L, 124C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ai modeline modelines=3
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx " split to Xxx, autocmd will do :brew
[?25l"Xxx" [24;7H[K[24;7H7L, 124C[1;1HTest for autocommand that changes current buffer on BufEnter event.
Check if modelines are interpreted for the correct buffer.[3;1H[K[4;1HSTARTTEST[4;10H[K[5;3Ho small.vim[5;21H[K[6;1H:set nocompatible viminfo+=nviminfo
:au BufEnter Xxx brew[7;22H[K[8;1H/start of[8;21H[K[9;2H.,/end of/w![7C" write test file Xxx
:set ai modeline modelines=3[10;29H[K[11;1H:sp Xxx [9C" split to Xxx, autocmd will do :brew
[1m[7mtest4.in [m[13;1H:set fo+=r[13Cssue #57 do not move cursor on <c-o> when autoindent is ss[14;1Het[14;3H[K[15;1HGo# abcdef[34m^[[m2hi
[34m^O[md0[34m^[[mo# abcdef[34m^[[m2hi[34m^O[md0[34m^[[m:
:?startstart?,$w! test.out[17;27H[K[18;2Hqa![18;5H[K[19;1HENDTEST[20;1H[K[21;1Hstartstart[22;6H of test file Xxx
[7mtest4.in [m[24;2Htest4.in" line 1 of 34 --2%-- col 1[1;1H[?12l[?25h[?25l:qa![1;6H[K[2;1HENDTEST[2;8H[K[4;1Hstartstart
start of test file Xxx
vim: set noai :[6;16H[K[7;1H this is a test
this is a test
this is a test[9;23H[K[10;1H this is a test[10;23H[K[11;1Hend of test file Xxx[11;21H[K[11;1H[?12l[?25h[?25l[24;1H[K[24;1H?[?12l[?25hthis is a
[?25l[10;9H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;1H[K[11;1H this should be auto-indented[12;10H[1m[7m[+][m[23;10H[7m[+][11;36H[?12l[?25h[?25l[1;11r[m[11;1H
[1;24r[11;1Hend of test file Xxx[?12l[?25h[?25l[24;1H:[?12l[?25h " Append text with autoindent to this file
[?25l[11;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau! BufEnter Xxx
[?25l[11;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbuf Xxx " go to Xxx, no autocmd anymore
[?25l"Xxx" [24;7H[K[24;7H7L, 124C[1;1Hstart of test file Xxx
vim: set noai :
this is a test
this is a test
this is a test
end of test file Xxx[7;21H[K[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxxt [1;1H[?12l[?25h[7;1H[?25l[m[24;1H[K[24;1H?[?12l[?25hthis is a
[?25l[6;9H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;1H[K[7;11r[7;1H[L[1;24r[7;1Hthis should be in column 1[12;5H[1m[7m[+][7;26H[?12l[?25h[?25l[24;1H[m:[?12l[?25hwq " append text without autoindent to Xxx
[?25l"Xxx[24;7H[K[24;7H8L, 151C written[1;1H:au BufEnter Xxx brew[1;22H[K[2;1H/start of[2;10H[K[3;1H:.,/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[6;12H[K[7;1Hothis should be auto-indented[34m^[[m
: " Append text with autoindent to this file
:au! BufEnter Xxx[9;18H[K[10;1H:buf Xxx " go to Xxx, no autocmd anymore[10;52H[K[11;1HG?this is a[11;12H[K[12;1Hothis should be in column 1[34m^[[m:wq " append text without autoindent to Xxx[12;73H[K[13;1HG:r Xxx [13Cnclude Xxx in the current file[13;55H[K[14;1H:set fo+=r[10C" issue #57 do not move cursor on <c-o> when autoindent is ss[15;1Het[15;3H[K[16;1HGo# abcdef[34m^[[m2hi[16;16H[K[17;1H[34m^O[md0[34m^[[mo# abcdef[34m^[[m2hi[34m^O[md0[34m^[[m:
:?startstart?,$w! test.out
:qa![19;5H[K[20;1HENDTEST[21;1H[K[22;6Hstar[22;11H[K[23;1Hstart of test file Xxx[23;23H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[7M[1;24r[17;1Hvim: set noai :[18;9Hthis is a test[19;9Hthis is a test[20;9Hthis is a test[21;9Hthis is a test[22;9Hthis should be auto-indented
end of test file Xxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hr Xxx " include Xxx in the current file
[?25l"Xxx" [24;20H[K[24;7H8L, 151C[1;23r[23;1H
[1;24r[23;1Hstart of test file Xxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset fo+=r " issue #57 do not move cursor on <c-o> when autoindent is
[23;80Hs[24;1Het
[?25l[1;1H[L[1;1H:au! BufEnter Xxx[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[7M[1;24r[17;1Hvim: set noai :[18;9Hthis is a test[19;9Hthis is a test[20;9Hthis is a test[21;9Hthis is a test
this should be in column 1
end of test file Xxx
[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1H# abcdef[?12l[?25h[?25l
[1m-- INSERT --
-- (insert)- --[1;23r[m[23;1H
[1;24r[22;6H[K[23;1H# def[?12l[?25h[?25l[24;4H[1mINSERTt --[m[24;13H[K[23;1Hdef[23;4H[K[23;1Ho[?12l[?25hd[24;1H[K[?25l[23;1H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1H# abcdef[?12l[?25h[?25l
[1m-- INSERT --
-- (insert)- --[23;6H[?12l[?25h[?25l
-- INSERTt --[m[24;13H[K[23;1Hdef[23;4H[K[23;1H:[?12l[?25hd[24;1H[K[?25l[23;1H[?12l[?25h[?25l
:[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?startstart?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 20L, 330C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test5.in" 29 lines, 949 characters[1;1HTest 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[15C" write test file Xxx
:sp Xxx[25C" split to Xxx
:bwipe[26C" delete buffer Xxx, now we're back here
G?this is a
othis is some more text[34m^[[m
:[31C" Append some text to this file
:?start?,$w! test.out[11C" Write current file contents
:bwipe test.out[17C" delete alternate buffer
:au bufleave test5.in bwipe
:bwipe![25C" delete current buffer, get an empty one
ithis is another test line[34m^[[m:w >>test.out
:[31C" append an extra line to the output file
:qa!
ENDTEST
start of test file Xxx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for autocommand that deletes the current buffer on BufLeave event.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 16 lines, 664 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufLeave Xxx bwipe
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hstart of
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx " write test file Xxx
[?25l"Xxx" [24;7H[K[24;7H[New File] 7 lines, 124 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx " split to Xxx
[?25l"Xxx" [24;7H[K[24;7H7 lines, 124 characters[1;1Hstart of test file Xxx[1;23H[K[2;1Hvim: set noai :[2;16H[K[3;9Hthis is a test
this is a test
this is a test
this is a test
end of test file Xxx
[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxx [m[13;2H?start?,$w! test.out[13CWrite current file contents[13;62H[K[14;2Hbwipe test.out [13Cdelete alternate buffer[14;58H[K[15;2Hau bufleave test5.in bwipe[15;33H[K[16;2Hbwipe! " delete current buffer, get an empty one
ithis is another test line[34m^[[m:w >>test.out[17;42H[K[18;1H: " append an extra line to the output file
:qa![19;33H[K[20;1HENDTEST[21;1H[K[22;1Hstart of test file Xxx
[7mtest5.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbwipe " delete buffer Xxx, now we're back here
[?25l[1;1HTest for autocommand that deletes the current buffer on BufLeave event.
Also test deleting the last buffer, should give a new, empty buffer.[3;9H[K[4;1HSTARTTEST[4;10H[K[5;1H:so small.vim[5;14H[K[6;1H:au BufLeave Xxx bwipe
/start of[7;10H[K[8;1H:.,/end of/w! Xxx " write test file Xxx[8;54H[K[9;1H:sp Xxx " split to Xxx[9;47H[K[10;1H:bwipe " delete buffer Xxx, now we're back here[10;73H[K[11;1HG?this is a[11;12H[K[12;1Hothis is some more text[34m^[[m[12;26H[K[13;2H [13CAppend some text to this file
:?start?,$w! test.out[13CWrite current file contents
:bwipe test.out " delete alternate buffer
:au bufleave test5.in bwipe[16;33H[K[17;1H:bwipe! " delete current buffer, get an empty one
ithis is another test line[34m^[[m:w >>test.out[18;42H[K[19;2H [28C" append an extra line to the output file
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1Hstart of test file Xxx[23;23H[K[24;1H"test5.in" line 23 of 29 --79%-- col 1[24;39H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[6M[1;24r[18;1Hvim: set noai :[19;9Hthis is a test[20;9Hthis is a test[21;9Hthis is a test[22;9Hthis is a test
end of test file Xxx[24;1H[K[23;1H[?12l[?25h[?25l
?[?12l[?25hthis is a
[?25l[22;9H[?12l[?25h[?25l
this is some more text[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hend of test file Xxx[24;1H[K[23;20H[?12l[?25h[?25l
:[?12l[?25h " Append some text to this file
[?25l[23;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?start?,$w! test.out " Write current file contents
[?25l"test.out" [24;12H[K[24;12H[New File] 8 lines, 147 characters written[23;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe test.out " delete alternate buffer
[?25l[23;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau bufleave test5.in bwipe
[?25l[23;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe! " delete current buffer, get an empty one
[?25l[1m[37m[41mError detected while processing BufLeave Auto commands for "test5.in":[m[24;71H[K[24;1H
[1m[37m[41mE89: No write since last change for buffer 1 (add ! to override)[m
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[2L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25lthis is another test line[?12l[?25h[?25l[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 26 characters appended[1;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h " append an extra line to the output file
[?25l[1;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test7.in" 26 lines, 675 characters[1;1HTest for autocommand that changes the buffer list, when doing ":ball".
STARTTEST
:so small.vim
/^start of
A1[34m^[[m:.,/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[17C" open window for all args, close Xxx2
:.,$w! test.out[10C" Write contents of this file
[34m^W^W[m:w >>test.out[8C" Append contents of second window (Xxx1)
[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa!
ENDTEST
start of test file Xxx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 508 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of
[?25l[23;1H[?12l[?25h[?25l[22C1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx1 " write test file Xxx1
[?25l"Xxx1" [24;9H[K[24;8H[New File] 4 lines, 77 characters written[23;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx1
[?25l"Xxx1" [24;8H[K[24;8H4 lines, 77 characters[1;1Hstart of test file Xxx1[1;24H[K[2;9Hthis is a test
this is a test
end of test file Xxx
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxx1 [m[13;2Hclose[13;7H[K[14;2Hau BufReadPost Xxx2 bwipe
$r4:ball " open window for all args, close Xxx2
:.,$w! test.out[12CWrite contents of this file[16;55H[K[17;1H[34m^W^W[m:w >>test.out[10CAppend contents of second window (Xxx1)[18;6H/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![19;5H[K[20;1HENDTEST[21;1H[K[22;1Hstart of test file Xxx1
[7mtest7.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[2;9H[K[3;1HSTARTTEST[3;10H[K[4;1H:so small.vim[4;14H[K[5;1H/^start of[5;11H[K[6;1HA1[34m^[[m:.,/end of/w! Xxx1 " write test file Xxx1[6;48H[K[7;1H:sp Xxx1[7;9H[K[8;1H:close[8;7H[K[9;1H$r2:.,/end of/w! Xxx2 " write test file Xxx2[9;48H[K[10;1H:sp Xxx2[10;9H[K[11;1H:close[11;7H[K[12;1H$r3:.,/end of/w! Xxx3 " write test file Xxx3[12;48H[K[13;2Hsp Xxx3
:close[14;7H[K[15;1H:au BufReadPost Xxx2 bwipe[15;28H[K[16;1H$r4:ball [12Copen window for all args, close Xxx2
:.,$w! test.out [10CWrite contents of this file[17;55H[K[18;6Hw >>test.out " Append contents of second window (Xxx1)[18;67H[K[19;1H[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1Hstart of test file Xxx1[23;24H[K[23;23H[?12l[?25h[?25l2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx2 " write test file Xxx2
[?25l"Xxx2" [24;9H[K[24;8H[New File] 4 lines, 77 characters written[23;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx2
[?25l"Xxx2" [24;8H[K[24;8H4 lines, 77 characters[1;1Hstart of test file Xxx2[1;24H[K[2;9Hthis is a test
this is a test
end of test file Xxx
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxx2 [m[13;2Hclose[13;7H[K[14;2Hau BufReadPost Xxx2 bwipe
$r4:ball " open window for all args, close Xxx2
:.,$w! test.out[12CWrite contents of this file[16;55H[K[17;1H[34m^W^W[m:w >>test.out[10CAppend contents of second window (Xxx1)[18;6H/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![19;5H[K[20;1HENDTEST[21;1H[K[22;1Hstart of test file Xxx2
[7mtest7.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[2;9H[K[3;1HSTARTTEST[3;10H[K[4;1H:so small.vim[4;14H[K[5;1H/^start of[5;11H[K[6;1HA1[34m^[[m:.,/end of/w! Xxx1 " write test file Xxx1[6;48H[K[7;1H:sp Xxx1[7;9H[K[8;1H:close[8;7H[K[9;1H$r2:.,/end of/w! Xxx2 " write test file Xxx2[9;48H[K[10;1H:sp Xxx2[10;9H[K[11;1H:close[11;7H[K[12;1H$r3:.,/end of/w! Xxx3 " write test file Xxx3[12;48H[K[13;2Hsp Xxx3
:close[14;7H[K[15;1H:au BufReadPost Xxx2 bwipe[15;28H[K[16;1H$r4:ball [12Copen window for all args, close Xxx2
:.,$w! test.out [10CWrite contents of this file[17;55H[K[18;6Hw >>test.out " Append contents of second window (Xxx1)[18;67H[K[19;1H[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1Hstart of test file Xxx2[23;24H[K[23;23H[?12l[?25h[?25l3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx3 " write test file Xxx3
[?25l"Xxx3" [24;9H[K[24;8H[New File] 4 lines, 77 characters written[23;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx3
[?25l"Xxx3" [24;8H[K[24;8H4 lines, 77 characters[1;1Hstart of test file Xxx3[1;24H[K[2;9Hthis is a test
this is a test
end of test file Xxx
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxx3 [m[13;2Hclose[13;7H[K[14;2Hau BufReadPost Xxx2 bwipe
$r4:ball " open window for all args, close Xxx2
:.,$w! test.out[12CWrite contents of this file[16;55H[K[17;1H[34m^W^W[m:w >>test.out[10CAppend contents of second window (Xxx1)[18;6H/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![19;5H[K[20;1HENDTEST[21;1H[K[22;1Hstart of test file Xxx3
[7mtest7.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[2;9H[K[3;1HSTARTTEST[3;10H[K[4;1H:so small.vim[4;14H[K[5;1H/^start of[5;11H[K[6;1HA1[34m^[[m:.,/end of/w! Xxx1 " write test file Xxx1[6;48H[K[7;1H:sp Xxx1[7;9H[K[8;1H:close[8;7H[K[9;1H$r2:.,/end of/w! Xxx2 " write test file Xxx2[9;48H[K[10;1H:sp Xxx2[10;9H[K[11;1H:close[11;7H[K[12;1H$r3:.,/end of/w! Xxx3 " write test file Xxx3[12;48H[K[13;2Hsp Xxx3
:close[14;7H[K[15;1H:au BufReadPost Xxx2 bwipe[15;28H[K[16;1H$r4:ball [12Copen window for all args, close Xxx2
:.,$w! test.out [10CWrite contents of this file[17;55H[K[18;6Hw >>test.out " Append contents of second window (Xxx1)[18;67H[K[19;1H[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1Hstart of test file Xxx3[23;24H[K[23;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPost Xxx2 bwipe
[?25l[23;23H[?12l[?25h[?25l4[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hball " open window for all args, close Xxx2
[?25l"Xxx1"[24;23H[K[24;8H4 lines, 77 characters
"Xxx2" 4 lines, 77 characters
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.,$w! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 4 lines, 77 characters written
[32mPress ENTER or type command to continue[?12l[?25h[27m[23m[m[H[2J[?25l[1;1H:close
:au BufReadPost Xxx2 bwipe
$r4:ball[17C" open window for all args, close Xxx2
:.,$w! test.out[10C" Write contents of this file
[34m^W^W[m:w >>test.out[8C" Append contents of second window (Xxx1)
[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa!
ENDTEST
start of test file Xxx4
[1m[7mtest7.in [+] [m[12;1Hstart of test file Xxx1[13;9Hthis is a test[14;9Hthis is a test
end of test file Xxx
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mXxx1 [10;23H[?12l[?25h
test7.in [+][m[1m[7m [m[7m [m[23;1H[1m[7mXxx1 [12;1H[?25l[24;1H[m:[?12l[?25hw >>test.out " Append contents of second window (Xxx1)
[?25l"test.out" [24;12H[K[24;12H4 lines, 77 characters appended[12;1H[?12l[?25h[11;1H[1m[7mtest7.in [+] [m[23;1H[7mXxx1[m[1m[7m [m[7m [10;23H[?25l[m[24;1H[K[24;1H:[?12l[?25h/^start of/,$w >>test.out " Append contents of last window (this file)
[?25l[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[24;1H"test.out" [24;12H[K[24;12H4 lines, 77 characters appended[10;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test8.in" 46 lines, 1236 characters[1;1HTest 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[34m^[[m:.,/end of/w! Xxx1 " write test file Xxx1
$r2:.,/end of/w! Xxx2 " write test file Xxx2
:e! Xxx2[16C" edit Xxx2
:bdel test8.in[10C" delete this file from the buffer list
:e Xxx1[17C" edit Xxx1
:w[22C" write it, will unload it and give an error msg
:w! test.out[12C" Write contents of this file
:e! Xxx2[16C" start editing Xxx2
:bwipe test.out[9C" remove test.out from the buffer list
:w[22C" write it, will delete the buffer and give an error msg[19;1H:w >>test.out[11C" Append contents of this file
:au! BufWritePre
:func CloseAll()
let i = 0
while i <= bufnr('$')[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for BufWritePre autocommand that deletes or unloads the buffer.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 37 lines, 1054 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[19M[1;24r[5;5Hif i != bufnr('%') && bufloaded(i)[6;7Hexe 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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufWritePre Xxx1 bunload
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufWritePre Xxx2 bwipe
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of
[?25l[1;23r[23;1H
[1;24r[23;1Hstart of Xxx[24;1H[K[23;1H[?12l[?25h[?25l[12C1[?12l[?25h[?25l
:[?12l[?25h.,/end of/w! Xxx1 " write test file Xxx1
[?25l"Xxx1" [24;9H[K[24;8H[New File] 3 lines, 31 characters written[23;13H[?12l[?25h[?25l2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx2 " write test file Xxx2
[?25l"Xxx2" [24;9H[K[24;8H[New File] 3 lines, 31 characters written[23;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xxx2 " edit Xxx2
[?25l"Xxx2" [24;8H[K[24;8H3 lines, 31 characters[1;1Hstart of Xxx2
test[2;14H[K[3;1Hend of Xxx[3;11H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbdel test8.in[34m^I^I[m" delete this file from the buffer list
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xxx1 " edit Xxx1
[?25l"Xxx1" [24;25H[K[24;8H3 lines, 31 characters[1;13H1
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw " write it, will unload it and give an error msg
[?25l"Xxx2"[24;25H[K[24;8H3 lines, 31 characters
[1m[37m[41mE203: Autocommands deleted or unloaded buffer to be written[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 3 lines, 31 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he! Xxx2 " start editing Xxx2
[?25l"Xxx2" [24;8H[K[24;8H3 lines, 31 characters[1;1H[3L[1;1Hstart of Xxx2[2;9Htest
end of Xxx[24;1H[K[24;1H"Xxx2" 3 lines, 31 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe test.out " remove test.out from the buffer list
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw " write it, will delete the buffer and give an error ms
[23;80Hg[24;1H[?25l[23;1H"Xxx1"[23;25H[K[23;8H3 lines, 31 characters
[1m[37m[41mE203: Autocommands deleted or unloaded buffer to be written[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out " Append contents of this file
[?25l"test.out" [24;12H[K[24;12H3 lines, 31 characters appended
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau! BufWritePre
[?25l[1;1H[3L[1;1Hstart of Xxx1[2;9Htest
end of Xxx[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[8L[?25l[1;1Hstart of Xxx1[2;9Htest
end of Xxx
[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfunc WriteToOut()
[?25l
: [?12l[?25h edit! test.out
[?25l: [?12l[?25h $put ='VimLeave done'
[?25l: [?12l[?25h write
[?25l: [?12l[?25hendfunc
[1;1H[4L[?25l[1;1Hstart of Xxx1[2;9Htest
end of Xxx
[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset viminfo='100,nviminfo
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufUnload * call CloseAll()
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau VimLeave * call WriteToOut()
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he small.vim
[?25l[1m[37m[41mError detected while processing function CloseAll:[m
[33mline 4:[m
[1m[37m[41mE16: Invalid range: 0bunload[m
"small.vim" 1 line, 1 character
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsp mbyte.vim
[?25l"mbyte.vim" [24;13H[K[24;13H0 lines, 0 characters[1;1H[4L[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[12;1H[1m[7mmbyte.vim [m[13;1H[K[23;1H[7msmall.vim [m[24;1H[K[24;1H"mbyte.vim" 0 lines, 0 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq
[?25l[1m[37m[41mError detected while processing function CloseAll:[m
[33mline 4:[m
[1m[37m[41mE16: Invalid range: 0bunload
[m
"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test9.in" 12 lines, 255 characters[1;1HTest 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
[1m[34m~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for Bufleave autocommand that deletes the buffer we are about to edit.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 117 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufLeave test9.in bwipe yy
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he yy
[?25l[1m[37m[41mE143: Autocommands unexpectedly deleted new buffer yy[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h/^start of/,$w! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 2 lines, 42 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test14.in" 99 lines, 1606 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for "vaBiB", end could be wrong.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 56 lines, 1141 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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):[15;9H{[16;17Hcmd;[17;17H{[18;25Hcmd; /* <-- Start cursor here */[19;25H{[20;25H}[21;17H}[22;9H}[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hStart cursor here
[?25l[18;40H[?12l[?25h[?25l[?12l[?25h[?25l[17;17H[7m{
cmd; /* <-- Start cursor here */
{
}
[?12l[?25h[?25l[16;1H cmd;
[21;17H}[?12l[?25h[?25l[m
6 fewer lines[24;15H[K[16;1H }[16;10H[K[17;1H[K[18;1HPiece of Java[18;14H[K[19;1H{[19;2H[K[20;1H tt m1 {[20;16H[K[21;1H t1;[22;11He1[16;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?Bug?,/Piece/-2w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 3 lines, 44 characters written[16;9H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^- Bug
[?25l[31msearch hit BOTTOM, continuing at TOP[14;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hs/u/~u~/
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hs/i/~u~/
[?25l[14;7Huuun "vPPPP" on this text (Webb):
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hs/o/~~~/
[?25l[14;20Huuuuuuuuun this text (Webb):
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 48 characters appended[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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>
[23;80H"[24;1H
[?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
[1;1H[5L[?25l[1;1H:$put =@/
/^substitute
:keeppatterns s/asdf/xyz/
:$put =@/
/^substitute[24;1H[K[14;1H[?12l[?25h[?25l[24;1H:[?12l[?25hexe "normal " . tt
[?25l[15;23r[15;1H[L[1;24r[15;1HABC !a[34m^O[mg[34m^G[m8[24;1H[K[15;12H[?12l[?25h[?25l[24;1H:[?12l[?25hunlet tt
[?25l[15;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[15;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset vb
[?25l[15;12H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Piece
[?25l[19;1H[?12l[?25h[21;15H[?25l{A[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 10 characters appended[21;16H[?12l[?25h[22;16H[?25l[1;23r[1;1H[2M[1;24r[23;9Htt m2 {[24;1H[K[23;15H[?12l[?25h[?25l{B[?12l[?25h[?25l
:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 10 characters appended[23;16H[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[20;17Ht2;[21;9H} e2[23;9Htt m3 {[24;1H[K[23;15H[?12l[?25h[?25l{C[?12l[?25h[?25l
:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 10 characters appended[23;16H[?12l[?25h[?25l{DC[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[23;16H[?12l[?25h[22;1H[15;15H[?25l{EA[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[15;16H[?12l[?25h[14;1H[?25l{F[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 3 characters appended[14;2H[?12l[?25h[17;9H[?25l}G e1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 7 characters appended[17;10H[?12l[?25h
[?25l[1;23r[1;1H[5M[1;24r[19;17Hif (x)[20;17H{[21;25Ht3;[22;17H}[23;9H} e3[24;1H[K[23;9H[?12l[?25h[?25l}H e3[?12l[?25h[?25l
:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 7 characters appended[23;10H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[24;1H[K[23;1H[?12l[?25h[?5h[?5l[?25l}I[?12l[?25h[?25l
:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 3 characters appended[23;2H[?12l[?25h[22;9H[?25l}JH e3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 8 characters appended[22;10H[?12l[?25h[21;16H[15;9H[?25l}K e2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 7 characters appended[15;10H[?12l[?25h[8;1H[?25l{LF[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 4 characters appended[8;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[8;2H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^foobar
[?25l[1;23r[1;1H[2M[1;24r[23;1Hfoobar[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet startline = line('.')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall search('foobar', 'c')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcall search('^$', 'c')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall search('^$', 'bc')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25htwo
[?25l[1;23r[1;1H[3M[1;24r[21;1Hsubstitute foo asdf
one two[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25hcall search('.', 'c')
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), getline('.')[col('.') - 1:])
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^substitute
[?25l[31msearch hit BOTTOM, continuing at TOP[21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hs/foo/bar/
[?25l[21;12Hbar
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =@/
[?25l[1;23r[1;1H[6M[1;24r[18;1Hsearch()
0
1
1
two
foo[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^substitute
[?25l[31msearch hit BOTTOM, continuing at TOP[15;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hkeeppatterns s/asdf/xyz/
[?25l[15;16Hxyz[15;19H[K[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =@/
[?25l[1;23r[23;1H
[1;24r[23;1H^substitute[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^substitute
[?25l[31msearch hit BOTTOM, continuing at TOP[14;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =@0
[?25l[1;23r[23;1H
[1;24r[23;1Hsubstitute bar xyz[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25hbar /e
[?25l[23;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =@0
[?25l[1;23r[23;1H
[1;24r[23;1Hsubstitute bar xyz[24;1H[K[23;1H[?12l[?25h[22;1H[?25l
:[?12l[?25hkeeppatterns /xyz
[?25l[23;1H[?12l[?25h[?25l
/bar /e[24;8H[K[24;1H[23;1Hxyz[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^search()/,$w >>test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H9 lines, 58 characters appended[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test15.in" 136 lines, 2246 characters[1;1HTests 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[34m^R[m
:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
/^aa
ggu
:?test for :left?,$w! test.out
:qa!
ENDTEST[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :right on text with embedded TAB.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 401 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=65
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;9Htest for :left[24;1H[K[23;8H[?12l[?25h[?25l
:[?12l[?25h/^\s*test for :left/,/^\s*test for :center/ left
[?25l[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[23;1Htest for :left[23;15H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^\s*test for :center/,/^\s*test for :right/ center
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^\s*test for :right/,/^xxx/-1 right
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fo+=tcroql tw=72
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hxxxxxxxx$
[?25l[27m[23m[m[H[2J[1;40Hasxa;ofa[9Caxxxoike[2;39Hasdfaqwer[9Caxxxoike[3;47Ha[9Caxxxoikey[4;46Hfa[9Caxxxoikey[5;45Hdfa[9Caxxxoikey[6;44Hsdfa[9Caxxxoikey[7;43Hasdfa[9Caxxxoikey[8;42Hxasdfa[9Caxxxoikey[9;41Hasxxdfa[9Caxxxoikey[10;40Hasxa;ofa[9Caxxxoikey[11;39Hasdfaqwer[9Caxxxoikey
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[19;50H[?12l[?25h
[?25l[13;23r[23;1H
[1;24r[13;6H xx xxxxxx xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx[14;62Hxx xxxxxxx.
xxxx xxxx.[15;11H[K[17;65Hxxxxxx[18;9Hx: xxxx xxxxxxx, xx xxxx[7C xxxxxxx[18;51H[K[23;1H[1m[34m~ [18;1H[?12l[?25h[17;1H
[?25l[24;1H[m:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" undo/redo here to make the next undo only work on the following changes
[?25l[18;1H[?12l[?25h[?25l[24;1H1 more line; before #1 0 seconds ago[24;38H[K[27m[23m[m[H[2J[1;1H0gq6kk
:set nocp viminfo+=nviminfo
:" undo/redo here to make the next undo only work on the following changes
u[34m^R[m
:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
/^aa
ggu
:?test for :left?,$w! test.out
:qa!
ENDTEST[12;9Htest for :left[13;11Ha[13Ca[14;13Hfa[10Ca[15;11Hdfa[11Ca[16;17Hsdfa[12Ca[17;11Hasdfa[9Ca[18;17Hxasdfa[10Ca
asxxdfa[9Ca[21;9Htest for :center[22;11Ha[13Ca[23;13Hfa[10Cafd asdf[12;8H[?12l[?25h[?25l[24;1H1 line less; after #1 0 seconds ago[12;1Htest for :left[12;15H[K[13;1Ha[9C a[13;25H[K[14;1Hfa[10C a[14;25H[K[15;1Hdfa[7C a[15;25H[K[16;1Hsdfa[12Ca[16;18H[K[17;1Hasdfa a[17;25H[K[18;1Hxasdfa[10Ca[18;18H[K[21;9H test for :center[22;11H [13C a[14Ca[23;13H [8Cfa [8Cafd asdf[12;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hmap gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^aa
[?25l[27m[23m[m[H[2J[1;41Hasxxdfa[9Caxxxoike[2;40Hasxa;ofa[9Caxxxoike[3;39Hasdfaqwer[9Caxxxoike[4;47Ha[9Caxxxoikey[5;46Hfa[9Caxxxoikey[6;45Hdfa[9Caxxxoikey[7;44Hsdfa[9Caxxxoikey[8;43Hasdfa[9Caxxxoikey[9;42Hxasdfa[9Caxxxoikey[10;41Hasxxdfa[9Caxxxoikey[11;40Hasxa;ofa[9Caxxxoikey[12;39Hasdfaqwer[9Caxxxoikey
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[21;1H[?12l[?25h[?25l
:.,.+2s/^/x/
3 substitutions on 3 lines[21;1Hxaa aa aa aa
xbb bb bb bb
xcc cc cc cc
[?12l[?25h[22;1H[21;1H[?25l[24;1H[K[24;1H:set tw=3
[21;1H[?12l[?25h[?25l
3 more lines[1;23r[23;1H
[1;24r[20;5H[K[21;1Haa[21;3H[K[22;1Haa[22;3H[K[23;1Haa[24;1H[K[24;1H3 more lines[23;1H[?12l[?25h[?25l
3 fewer lines; before #2 0 seconds ago[20;1Haa aa aa aa
bb bb bb bb
cc cc cc cc
[1m[34m~ [20;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25h?test for :left?,$w! test.out
[?25l"test.out"[24;12H[K[24;12H[New] 111L, 2304C written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test19.in" 33 lines, 692 characters[1;1HTests 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=[34m^V[mx7f t_kb=[34m^V[mx08
/some
r[7C:set noexpandtab
/other
r
:" Test replacing with Tabs and then backspacing to undo it
0wR[21C[34m^H^H^H^[[m
:" Test replacing with Tabs
0wR[21C[34m^[[m
:" Test that copyindent works with expandtab set
:set expandtab smartindent copyindent ts=8 sw=8 sts=8
o{
x[34m^[[m:set nosol
/Second line/
fwdv_:?^start?,$w! test.out
:qa![1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 19 lines, 447 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[23;1H
[1;24r[23;1HENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset smarttab expandtab ts=8 sw=4
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make sure that backspace works, no matter what termcap is used
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset t_kD=^[34m^?[m t_kb=^[34m^H
[?25l[27m[23m[m[H[2J[2;1HSTARTTEST
:so small.vim
:set smarttab expandtab ts=8 sw=4
:" make sure that backspace works, no matter what termcap is used
:set t_kD=[34m^V[mx7f t_kb=[34m^V[mx08
/some
r[7C:set noexpandtab
/other
r
:" Test replacing with Tabs and then backspacing to undo it
0wR[21C[34m^H^H^H^[[m
:" Test replacing with Tabs
0wR[21C[34m^[[m
:" Test that copyindent works with expandtab set
:set expandtab smartindent copyindent ts=8 sw=8 sts=8
o{
x[34m^[[m:set nosol
/Second line/
fwdv_:?^start?,$w! test.out
:qa!
ENDTEST
[?12l[?25h[?25l
/[?12l[?25hsome
[?25l[1;23r[1;1H[2M[1;24r[22;1Hstart text[23;17Hsome test text[24;1H[K[23;17H[?12l[?25h[?25l ome test text[23;20H[?12l[?25h[?25l
:[?12l[?25hset noexpandtab
[?25l[23;20H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hother
[?25l[1;23r[1;1H[2M[1;24r[22;1Htest text[23;17Hother test text[24;1H[K[23;17H[?12l[?25h[?25l ther test text[23;20H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Ha cde[?12l[?25h[?25l
:[?12l[?25h" Test replacing with Tabs and then backspacing to undo it
[?25l[23;9H[?12l[?25h
[?25l[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hf ghi[24;1H[K[23;4H[?12l[?25h[?25l
:[?12l[?25h" Test replacing with Tabs
[?25l[23;4H[?12l[?25h
[?25l [7Chi[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest text[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25h" Test that copyindent works with expandtab set
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset expandtab smartindent copyindent ts=8 sw=8 sts=8
[?25l[23;9H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1H{[23;9Hx[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25hset nosol
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hSecond line/
[?25l[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;3HSecond line beginning with whitespace[24;1H[K[23;3H[?12l[?25h[22C[?25l
with whitespace[23;18H[K[23;3H[?12l[?25h[?25l
:[?12l[?25h?^start?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 10 lines, 121 characters written[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test20.in" 28 lines, 398 characters[1;1HTests 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$[34m^V[mjjlld
/456$
[34m^V[mjj"bP
:/56$/,$-1w! test.out
:qa!
ENDTEST
123456
234567
345678
test text test tex start here[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests Blockwise Visual when there are TABs before the text.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 11 lines, 107 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso tiny.vim
[?25l[18;1H[?12l[?25h[?25l[1;23r[1;1H[5M[1;24r[19;17Hsome text[20;17Htest text
test text
Ox[34m^[[mjAy[34m^[[mkdd[24;1H[K[23;1H[?12l[?25h[22;1H[?25lx[23;1H[K[22;1H[?12l[?25h
[?25ly[?12l[?25h[22;1H[?25ly
Ox[34m^[[mjAy[34m^[[mkdd[22;1H[?12l[?25h[?25l
2 changes; before #1 0 seconds ago[22;1H[K[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1H123456
234567
345678[16;1H[K[17;1Htest text test tex start here
some text[18;26H[K[19;17Htest
test text[20;17H[K[21;1H[K[22;1HOx[34m^[[mjAy[34m^[[mkdd
[7mtest20.in [1;1H[?12l[?25h[?25l[1;11r[m[1;1H[L[1;24r[1;1Hx[12;11H[1m[7m[+][m[24;1H[K[1;1H[?12l[?25h
[?25ly[?12l[?25h[1;1H[?25l[1;11r[11;1H
[1;24r[11;1H[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H1 line less; before #1 0 seconds ago[1;1H[K[12;11H[1m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hquit!
[?25l[1;1H:so tiny.vim
G0"ay$k@au[2;11H[K[3;1H:new[3;5H[K[4;1H@auY:quit![4;11H[K[5;1HGP[5;3H[K[6;1H/start here$[6;13H[K[7;1H"by$[34m^V[mjjlld[7;12H[K[8;1H/456$[8;6H[K[9;1H[34m^V[mjj"bP[9;8H[K[10;1H:/56$/,$-1w! test.out[10;22H[K[11;1H:qa![11;5H[K[12;1HENDTEST[12;8H[K[13;1H[K[14;1H123456
234567
345678[17;1H[K[18;1Htest text test tex start here[19;17Hsome
[7Ctest text
test text[22;1H[K[23;1HOx[34m^[[mjAy[34m^[[mkdd[23;13H[K[23;1H[?12l[?25h[?25l[23;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HOx[34m^[[mjAy[34m^[[mkdd[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25hstart here$
[?25l[31msearch hit BOTTOM, continuing at TOP[17;20H[?12l[?25h[?25l[?12l[?25h[?25l[m[7ms[18;20H[?12l[?25h[?25le[19;20H[?12l[?25h[?25l[17;21Ht[18;21H [19;20Ht[?12l[?25h[?25l[17;22Ha[18;22Ht[19;21H [?12l[?25h[?25l[m[17;20Hrt here[17;27H[K[18;20Hext[18;23H[K[19;20Hex[19;23H[K[17;20H[?12l[?25h[18;20H[?25l[24;1H[K[24;1H/[?12l[?25h456$
[?25l[31msearch hit BOTTOM, continuing at TOP[13;4H[?12l[?25h[?25l[?12l[?25h[?25l[m[7m4
[m234[?12l[?25h[?25l[7m5
[m345[?12l[?25h[?25l[?12l[?25h[?25l[13;4Hstart here56
234start here67
345start here78[13;13H[?12l[?25h[14;13H[?25l[24;1H[K[24;1H:[?12l[?25h/56$/,$-1w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 10 lines, 106 characters written[14;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test22.in" 13 lines, 197 characters[1;1HTests for file with some lines ending in CTRL-M, some not[34m^M
^M[m
STARTTEST
:set ta tx
:e!
:$-3,$w! test.out
:qa!
ENDTEST
this lines ends in a[34m^M[m
this one doesn't
this one does[34m^M[m
and the last one doesn't
[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for file with some lines ending in CTRL-M, some not[34m^M[m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 4 lines, 38 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ta tx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he!
[?25l"test22.in" 13 lines, 197 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$-3,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 4 lines, 79 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test23.in" 15 lines, 282 characters[1;1HTests 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
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for complicated + argument to :edit command[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 7 lines, 125 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$-1w! Xfile1
[?25l"Xfile1" [24;10H[K[24;10H[New File] 1 line, 8 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! Xfile2
[?25l"Xfile2" [24;10H[K[24;10H[New File] 1 line, 8 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w
[?25l"Xfile1" [24;10H[K[24;10H1 line, 8 characters
foo|bar
"Xfile1" 1 line, 11 characters written
"Xfile2" 1 line, 8 characters
foo/bar
"Xfile2" 1 line, 12 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 12 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfile1
[?25l"Xfile1" 1 line, 11 characters[1;1H[7L[1;1HfooPIPEbar
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[24;1H[K[24;1H"Xfile1" 1 line, 11 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >> test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test24.in" 89 lines, 1301 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with backslash and other special characters inside [][24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 51 lines, 519 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[2;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\x]
[?25l[15;6H[?12l[?25h[?25ltext test text[15;20H[K[15;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\t\]]
[?25l[16;8H[?12l[?25h[?25ltext test tex[16;20H[K[16;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[]y]
[?25l[17;11H[?12l[?25h[?25ltest text[17;20H[K[17;11H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\]]
[?25l[18;6H[?12l[?25h[?25ltext test text[18;20H[K[18;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[y^]
[?25l[19;13H[?12l[?25h[?25lst text[19;20H[K[19;13H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[$y]
[?25l[20;8H[?12l[?25h[?25lxt test text[20;20H[K[20;8H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\x61]
[?25l[21;7H[?12l[?25h[?25lext test text x61[21;25H[K[21;7H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\x60-\x64]
[?25l[22;7H[?12l[?25h[?25lext test text x60-x64[22;29H[K[22;7H[?12l[?25h[23;7H
[?25l[24;1H[K[24;1H/[?12l[?25h[\x785]
[?25l[23;6H[?12l[?25h[?25ltext test text x78 5[23;27H[K[23;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\o143]
[?25l[1;23r[23;1H
[1;24r[23;1Htestc text test text o143[24;1H[K[23;5H[?12l[?25h[?25l text test text o143[23;26H[K[23;5H[?12l[?25h[?25l
/[?12l[?25h[\o140-\o144]
[?25l[1;23r[23;1H
[1;24r[23;1Htesdt text test text o140-o144[24;1H[K[23;4H[?12l[?25h[?25lt text test text o140-o14[23;31H[K[23;4H[?12l[?25h[?25l
/[?12l[?25h[\o417]
[?25l[1;23r[23;1H
[1;24r[23;1Htest7 text test text o41 7[24;1H[K[23;5H[?12l[?25h[?25l text test text o41 7[23;27H[K[23;5H[?12l[?25h[?25l
/[?12l[?25h\%x42
[?25l[1;23r[23;1H
[1;24r[23;1Htest text tBest text \%x42[24;1H[K[23;12H[?12l[?25h[?25lest text \%x42[23;27H[K[23;12H[?12l[?25h[?25l
/[?12l[?25h\%o103
[?25l[1;23r[23;1H
[1;24r[23;1Htest text teCst text \%o103[24;1H[K[23;13H[?12l[?25h[?25lst text \%o103[23;28H[K[23;13H[?12l[?25h[?25l
/[?12l[?25h[\x00]
[?25l[1;23r[23;1H
[1;24r[23;1Htest text [34m^@[mtest text [\x00][24;1H[K[23;11H[?12l[?25h[?25ltest text [\x00][23;28H[K[23;11H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest te[34m^@[mxt t[34m^D[mest t[34m^P[mext [\x00-\x10][23;11H[?12l[?25h[?25l
:[?12l[?25hs/[\x00-\x10]//g
[?25l3 substitutions on 1 line[23;8Hxt test text [\x00-\x10][23;33H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest \xyztext test text [\x-z][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/[\x-z]\+//
[?25l[23;6Htext test text [\x-z][23;28H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest text tev\uyst text [\u-z][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/[\u-z]\{2,}//
[?25l[23;13Hst text [\u-z][23;28H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)\+//
[?25l[23;4H xx [23;10H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a*\)\+//
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a*\)*//
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)\{2,3}/A/
[?25l[23;4HAaa xx[23;10H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)\{-2,3}/A/
[?25l[23;4HAaaa x[23;11H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaa12aa xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)*\(12\)\@>/A/
[?25l[23;4HAaa xx[23;10H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx foobar xbar xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(foo\)\@<!bar/A/
[?25l[23;12HA xx[23;16H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx an file xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(an\_s\+\)\@<=file/A/
[?25l[23;7HA xx[23;12H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hx= 9;[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/XX/
[?25l[23;1HXX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hhh= 77;[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/
[?25l[23;1HYY 77;[23;7H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/aaa/xyz/
[?25l[23;2Hxyz
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Hxyz[24;1H[K[23;2H[?12l[?25h[?25l
:[?12l[?25hs/~/bcd/
[?25l[23;2Hbcd
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Hbcdbcdbcd[24;1H[K[23;2H[?12l[?25h[?25l
:[?12l[?25hs/~\+/BB/
[?25l[23;2HBB[23;4H[K[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?start?,$w! test.out
[?25l"test.out" [24;12H[Kgcc -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
[24;12H[New] 32L, 586C written[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test26.in" 44 lines, 750 characters[1;1HTest 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[34m^V^[[m
: if i == 9
: break
: endif
: if i == 5
: continue
: else
: let j = 9
: while j > 0
:[8Cif has("ebcdic")[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for :execute, :while and :if[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 39 lines, 696 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: let j = 9
: while j > 0
:[8Cif has("ebcdic")
:[10Cexecute "normal" j . "a" . j . "\x27"
:[8Celse
:[10Cexecute "normal" j . "a" . j . "\x1b"
:[8Cendif
:[8Clet 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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet i = 0
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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^[34m^[
[m
[?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:[8C[?12l[?25h: if has("ebcdic")
[?25l:[10C[?12l[?25h: execute "normal" j . "a" . j . "\x27"
[?25l:[10C[?12l[?25h: else
[?25l:[10C[?12l[?25h: execute "normal" j . "a" . j . "\x1b"
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: let j = j - 1
[?25l:[8C[?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
[27m[23m[m[H[2J[?25l[1;1H: 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[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h't,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 10 lines, 159 characters written[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test28.in" 23 lines, 364 characters[1;1HTest for sourcing a file with CTRL-V's at the end of the line
STARTTEST
:/firstline/+1,/lastline/-1w! Xtestfile
:so Xtestfile
Gmm__1[34m^[^[[m__2[34m^[[m__3[34m^[^[[m__4[34m^[[m__5[34m^[[m:'m,$s/[34m^@[m/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[34m^V[m
map __2 asd[34m^V^V[m
map __3 asd[34m^V^V[m
map __4 asd[34m^V^V^V[m
map __5 asd[34m^V^V^V[m
lastline[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for sourcing a file with CTRL-V's at the end of the line[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 114 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/firstline/+1,/lastline/-1w! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;13H[New File] 10 lines, 148 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso Xtestfile
[?25l[10;1H[?12l[?25h[23;1H[11C[?25l[1;23r[23;1H
[1;24r[22;1Hsd
map __2 asd[34m^[[m[24;1H[K[23;12H[?12l[?25h[?25l[2Csecond[?12l[?25hd [?25lsd[34m^[[?12l[?25h^[[m [13C[?25l[23;24Hsd[34m^@[mmap __5 asd[34m^@[?12l[?25h[?25l[m[2Cfifth[?12l[?25h[?25l
:[?12l[?25h'm,$s/[34m^@[m/0/g
[?25l[23;26H0map __5 asd0fifth[23;44H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h'm,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 2 lines, 45 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test29.in" 230 lines, 4261 characters[1;1HTest 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+=j[14;1Hj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j joinspaces
j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptionss[16;1H+=j
j05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j nojoinspaces compatible
j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj4Jy3l$pjd/STARTTEST/-2
ENDTEST
firstline
asdfasdf.
asdf[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for joining lines and marks in them[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 11 lines, 478 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nojoinspaces
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpoptions-=j
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hfirstline/
[?25l[24;11H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H/[?12l[?25h^STARTTEST/-1
[?25l[12C+-1
37 fewer lines[24;15H[K[22;1HSTARTTEST
/^{/+1[22;1H[?12l[?25h[?25l[24;4Hmore lines[24;14H[K[22;1Hasdfasdf.
asdf[23;5H[K[22;1H[?12l[?25h[?25l[10Casdf
asdfasdf.[22;10H[?12l[?25h[23;10H[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[24;1H[K[23;11H[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[14C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[8C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[15C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hzx cvn.[?12l[?25h
zx cv[?25l[1;23r[1;1H[3M[1;24r[21;1Has dfg?
hjkl iop!
ert[22;6H[?12l[?25h
hjkl i[20;7H[?25l. as dfg? hjkl iop! ert
zx cvn.
as dfg?[22;8H[K[23;1Hhjkl iop![20;26H[?12l[?25h er[?25lt er[?12l[?25h
zx cv[26C[?25lrn[?12l[?25h[20;23H[10C[?25lnop[?12l[?25h[?25l[24;1H:[?12l[?25hset cpoptions+=j
[?25l[20;35H[?12l[?25h[21;7H
zx cv[23;6H
hjkl i[21;7H[?25l. as dfg? hjkl iop! ert[22;1H[K[23;1HSTARTTEST[21;26H[?12l[?25h er[?25lt er[?12l[?25h
zx cv[26C[?25lrn[?12l[?25h[21;23H[10C[?25lnop[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpoptions-=j joinspaces
[?25l[21;35H[?12l[?25h
[?25l
37 more lines[24;14H[K[23;1Hasdfasdf.
[?12l[?25h[?25l[11Casdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[24;1H[K[23;10H[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[14C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[8C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[15C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hzx cvn.[?12l[?25h
zx cv[?25l[1;23r[1;1H[2M[1;24r[22;1Has dfg?
hjkl iop![?12l[?25h
hjkl i[21;7H[?25l. as dfg? hjkl iop! ert
zx cvn.
as dfg?[23;8H[K[21;28H[?12l[?25h er[?25lt e[?12l[?25h
zx cv[29C[?25len[?12l[?25h[21;25H[11C[?25lnop[?12l[?25h[?25l
:[?12l[?25hset cpoptions+=j
[?25l[21;38H[?12l[?25h[22;7H
zx cv[?25l[1;23r[23;1H
[1;24r[23;1Hhjkl iop![24;1H[K[23;6H[?12l[?25h
hjkl i[21;7H[?25l. as dfg? hjkl iop! ert[22;1H[K[23;1HSTARTTEST[21;27H[?12l[?25h er[?25lt er[?12l[?25h
zx cv[27C[?25lrn[?12l[?25h[21;24H[10C[?25lnop[?12l[?25h[?25l
:[?12l[?25hset cpoptions-=j nojoinspaces compatible
[?25l[21;36H[?12l[?25h
[?25l
37 more lines[24;14H[K[23;1Hasdfasdf.
[?12l[?25h[?25l[11Casdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[24;1H[K[23;10H[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[14C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[8C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[15C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hzx cvn.[?12l[?25h[?25l. as dfg? hjkl iop! ert[23;8H[?12l[?25h[22C[?25lt a[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hzx cvn.[?12l[?25h[?25l
/[?12l[?25hSTARTTEST/-2
[?25l[11C+-2
4 fewer lines[24;14H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H12 lines, 147 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[12M[1;24r[12;1H:set comments=s1:/*,mb:*,ex:*/,://
:set nojoinspaces fo=j
:set backspace=eol,start
:.,+3join
j4J
:.,+2join
j3J
:.,+2join
j3J
:.,+2join
jj3J
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset comments=s1:/*,mb:*,ex:*/,://
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nojoinspaces fo=j
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset backspace=eol,start
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,+3join
[?25l[23;1H/* Make sure the previous comment leader is not removed. */
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l/* Make sure the previous comment leader is not removed. */
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+2join
[?25l[23;1H// Should the next comment leader be left alone? Yes.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l// Should the next comment leader be left alone? Yes.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+2join
[?25l[23;1H/* Here the comment leader should be left intact. */ // And so should this one.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l/* Here the comment leader should be left intact. */ // And so should this one.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+2join
[?25l[23;1Hif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haction();[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25lif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haction();
[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:" Test with backspace set to the non-compatible setting
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H17 lines, 347 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:inoremap <c-u> <left><c-u>
Avim3[34m^U^[[m
:iunmap <c-u>
Avim4[34m^U^U^[[m
:" Test with backspace set to the compatible setting
:set backspace= visualbell
A vim5[34m^[[mA[34m^U^U^[[m
A vim6[34m^[[mAzwei[34m^G[mu[34m^U^[[m
:inoremap <c-u> <left><c-u>
A vim7[34m^U^U^[[m
: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test with backspace set to the non-compatible setting
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^\d\+ this
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp bs=2
[?25l[14;1H[?12l[?25h[?25l[26C[?12l[?25h[15;27Hd [?25lvim2[?12l[?25h[?25l[15;28H[K[15;27H[?12l[?25h[16;24H[?25l[24;1H[K[24;1H:[?12l[?25hset cpo-=<
[?25l[16;24H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <c-u> <left><c-u>
[?25l[16;24H[?12l[?25h[?25ld3[?12l[?25h[17;24H[?25l[24;1H[K[24;1H:[?12l[?25hiunmap <c-u>
[?25l[17;24H[?12l[?25h[?25l[17;1H[K[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h" Test with backspace set to the compatible setting
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset backspace= visualbell
[?25l[18;1H[?12l[?25h[?25l[28Cvim5[?12l[?25h[?5h[?5l[?5h[?5l[19;27H[?25ld vim6[?12l[?25h6 [?25lzwei[?12l[?25h[?25l[19;33H[K[19;32H[?12l[?25h[20;32H[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <c-u> <left><c-u>
[?25l[20;32H[?12l[?25h[?5h[?5l[?5h[?5l[?25l[15Cvim7[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hset compatible novisualbell
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H21 lines, 356 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj3J
:.,+2join
j3J
:.,+2join
jj3J
j:.,+2join
jj3J
j:.,+5join
j6J
oSome code![34m^M[m// Make sure backspacing does not remove this comment leader.[34m^[[m0i[34m^HH[11;1H^[[m
ENDTEST
{
/*
* Make sure the previous comment leader is not removed.
*/
/*
* Make sure the previous comment leader is not removed.
*/[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments=sO:*\ -,mO:*\ \ ,exO:*/
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments+=s1:/*,mb:*,ex:*/,://
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments+=s1:>#,mb:#,ex:#<,:<
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpoptions-=j joinspaces fo=j
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset backspace=eol,start
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,+3join
[?25l[15;23r[15;1H[3M[1;24r[15;1H/* Make sure the previous comment leader is not removed. */[21;1H/* List:
* - item1
* foo bar baz[24;1H[K[15;1H[?12l[?25h
[?25l[16;23r[16;1H[3M[1;24r[16;1H/* Make sure the previous comment leader is not removed. */[21;2H* foo bar baz
* - item2
* foo bar baz[16;1H[?12l[?25h
[?25l[24;1H:[?12l[?25h.,+8join
[?25l[17;1H/* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz */[18;1H[K[19;1H/* List:[19;9H[K[20;4H- item1[20;11H[K[22;4H foo bar baz
* - item2[23;11H[K[17;1H[?12l[?25h
[?25l/* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz */[19;1H[K[20;1H// Should the next comment leader be left alone?
// Yes.[21;8H[K[22;2H[K[23;1H// Should the next comment leader be left alone?[18;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h.,+2join
[?25l[19;23r[19;1H[2M[1;24r[19;4HShould the next comment leader be left alone? Yes.
// Yes.[24;1H[K[19;1H[?12l[?25h
[?25l// Should the next comment leader be left alone? Yes.[21;1H[K[22;2H* Here the comment leader should be left intact. */
// And so should this one.[20;1H[?12l[?25h
[?25l
:[?12l[?25h.,+2join
[?25l[21;1H/* Here the comment leader should be left intact. */ // And so should this one.[22;1H[K[23;2H* Here the comment leader should be left intact. */[21;1H[?12l[?25h
[?25l/* Here the comment leader should be left intact. */ // And so should this one.[23;1H[K[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h.,+2join
[?25l[23;1Hif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haction();[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25lif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haction();
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+2join
[?25l[23;1Hint i = 7 /* foo *// 3 // comment
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H;[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25lint i = 7 /* foo *// 3 // comment
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H;
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+5join
[?25l[23;1H># Note that the last character of the ending comment leader (left angle bracket[23;1H[1m[34m@ [1;23r[m[1;1H[3M[1;24r[20;1H># Note that the last character of the ending comment leader (left angle brackett[21;1H) is a comment leader itself. Make sure that this comment leader is not removed [22;1Hfrom the next line #< < On this line a new comment is opened which spans 2 liness[23;1H. This comment should retain its comment leader.[24;1H[K[20;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l># Note that the last character of the ending comment leader (left angle bracket[23;1H[1m[34m@ [1;23r[m[1;1H[3M[1;24r[20;1H># Note that the last character of the ending comment leader (left angle brackett[21;1H) is a comment leader itself. Make sure that this comment leader is not removed [22;1Hfrom the next line #< < On this line a new comment is opened which spans 2 liness[23;1H. This comment should retain its comment leader.[20;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HSome code!
// Make sure backspacing does not remove this comment leader.[?12l[?25h
[?25l[22;11H// Make sure backspacing does not remove this comment leader.
}[23;2H[K[22;10H[?12l[?25h
[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 61 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[23;19H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:?firstline?+1,$w! test.out[24;1H[K[23;19H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l74 fewer lines[24;15H[K[1;1H// Should the next comment leader be left alone? Yes.[1;56H[K[2;1H/* 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();[5;14H[K[6;1Hif (condition) // Remove the next comment leader! OK, I will.
action();[7;14H[K[8;1Hint i = 7 /* foo *// 3 // comment
;[9;4H[K[10;1Hint i = 7 /* foo *// 3 // comment[10;34H[K[11;1H ;[11;3H[K[12;1H># Note that the last character of the ending comment leader (left angle brackett[13;1H) is a comment leader itself. Make sure that this comment leader is not removed [14;1Hfrom the next line #< < On this line a new comment is opened which spans 2 liness[15;1H. This comment should retain its comment leader.[15;49H[K[16;1H># Note that the last character of the ending comment leader (left angle brackett[17;1H) is a comment leader itself. Make sure that this comment leader is not removed [18;1Hfrom the next line #< < On this line a new comment is opened which spans 2 liness[19;1H. This comment should retain its comment leader.
Some code!// Make sure backspacing does not remove this comment leader.
}[22;2H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?firstline?+1,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 97 lines, 3018 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test31.in" 95 lines, 1832 characters[1;1HTest for commands that close windows and/or buffers:
:quit
:close
:hide
:only
:sall
:all
:ball
:buf
:edit
STARTTEST
:so small.vim
GA 1[34m^[[m:$w! Xtest1
$r2:$w! Xtest2
$r3:$w! Xtest3
:n! Xtest1 Xtest2
A 1[34m^[[m: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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for commands that close windows and/or buffers:[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[12;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 80 lines, 1697 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:" 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[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h
[?25l[9C1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! Xtest1
[?25l"Xtest1" [24;10H[K[24;10H[New File] 1 line, 11 characters written[23;10H[?12l[?25h[?25l2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! Xtest2
[?25l"Xtest2" [24;10H[K[24;10H[New File] 1 line, 11 characters written[23;10H[?12l[?25h[?25l3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! Xtest3
[?25l"Xtest3" [24;10H[K[24;10H[New File] 1 line, 11 characters written[23;10H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hn! Xtest1 Xtest2
[?25l"Xtest1" [24;10H[K[24;10H1 line, 11 characters[1;1Htesttext 1[1;11H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[11C1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for working :n when hidden set; write "testtext 2"
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hn
[?25l"Xtest2" 1 line, 11 characters[1;10H2[1;12H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 11 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for failing :rew when hidden not set; write "testtext 2 2"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[11C2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hrew
[?25l[1m[37m[41mE37: No write since last change (add ! to override)[1;12H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for working :rew when hidden set; write "testtext 1 1"
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hrew
[?25l"Xtest1" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)[1;10H1 1
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for :all keeping a buffer when it's modified; write "testtext 1 1 1"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[13C1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp
[?25l[12;1H[1m[7mXtest1 [+] [m[13;1Htesttext 1 1 1[13;15H[K[23;1H[7mXtest1 [+] [1;14H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hn Xtest2 Xtest3
[?25l"Xtest2" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)[1;10H2 2[1;14H[K[12;6H[1m[7m2 [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hall
[?25l"Xtest3" 1 line, 11 characters[27m[23m[m[H[2J[1;1Htesttext 1 1 1
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7mXtest1 [+] [m[9;1Htesttext 2 2
[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[1m[7mXtest2 [+] [m[16;1Htesttext 3
[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mXtest3 [9;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h1wincmd w
[?25l[8;1H[1m[7mXtest1 [+] [m[15;1H[7mXtest2 [+][m[1m[7m [m[7m [1;14H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 15 characters appended[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test abandoning changed buffer, should be unloaded even when 'hidden' set
[?25l[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" write "testtext 2 2" twice
[?25l[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[1;14H[?12l[?25h[?25l1 1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[27m[23m[m[H[2J[1;1Htesttext 2 2
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXtest2 [+] [m[13;1Htesttext 3
[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mXtest3 [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hunhide
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":hide" hides anyway when 'hidden' not set; write "testtext 3"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[13C2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhide
[?25l[1;10H3[1;12H[K[12;1H[1m[34m~ [13;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":edit" failing in modified buffer when 'hidden' not set
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" write "testtext 3 3"
[?25l[1;1H[?12l[?25h[?25l[11C3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtest1
[?25l[1m[37m[41mE37: No write since last change (add ! to override)[1;12H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":edit" working in modified buffer when 'hidden' set; write "testtext 1
[23;80H"[24;1H[?25l[1;1H[L[1;1Htesttext 3 3[24;1H[K[1;12H[?12l[?25h[?25l[24;1H:[?12l[?25hset hidden
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtest1
[?25l"Xtest1" 1 line, 11 characters[1;10H1[1;12H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":close" not hiding when 'hidden' not set in modified buffer;
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" write "testtext 3 3 3"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xtest3
[?25l"Xtest3" [Modified] line 1 of 1 --100%-- col 1 (file 2 of 2)[1;10H3 3[12;1H[1m[7mXtest3 [+] [m[13;1Htesttext 1[13;11H[K[23;1H[7mXtest1 [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[13C3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1m[37m[41mE37: No write since last change (add ! to override)[1;14H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 15 characters appended[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":close!" does hide when 'hidden' not set in modified buffer;
[?25l[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" write "testtext 1"
[?25l[1;14H[?12l[?25h[?25l3 3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose!
[?25l[1;10H1[1;12H[K[12;1H[1m[34m~ [13;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":all!" hides changed buffer; write "testtext 2 2 2"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xtest4
[?25l"Xtest4" [New File][1;1H[K[12;1H[1m[7mXtest4 [m[13;1Htesttext 1[13;11H[K[23;1H[7mXtest1 [1;1H[?12l[?25h[?25l[m 4[12;8H[1m[7m[+][1;2H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?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)
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[1;1H[2L[1;1Htesttext 2 2 2
[1m[34m~ [m[11;1H[1m[7mXtest2 [+] [m[12;1Htesttext 3 3 3 3[12;17H[K[13;1H[1m[34m~ [m[23;6H[7m3 [+][m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 15 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":q!" and hidden buffer.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbw! Xtest1 Xtest2 Xtest3 Xtest4
[?25l"test31.in"[24;13H[K[24;13H95 lines, 1832 characters
4 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsp Xtest1
[?25l"Xtest1" [24;10H[K[24;10H1 line, 11 characters[1;1H[2L[1;1Htesttext 1
[1m[34m~ [11;1H~ [m[12;1H[1m[7mXtest1 [m[13;1H:w >>test.out[13;14H[K[14;1H:q![14;4H[K[15;1H:w >>test.out[15;14H[K[16;1H:q![16;4H[K[17;1H:call append(line('$'), "Oh, Not finished yet.")[17;49H[K[18;1H:w >>test.out[18;14H[K[19;1H:qa![19;5H[K[20;1HENDTEST[20;8H[K[21;1H[K[22;1Htesttext[22;9H[K[23;1H[7mtest31.in [m[24;1H[K[24;1H"Xtest1" 1 line, 11 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd w
[?25l[12;1H[7mXtest1[m[1m[7m [m[7m [m[23;1H[1m[7mtest31.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbw!
[?25l[12;1H[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset modified
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbot sp Xtest2
[?25l"Xtest2" [24;10H[K[24;10H1 line, 11 characters[11;1H[7mXtest1 [+] [m[12;1Htesttext 2[12;11H[K[23;1H[1m[7mXtest2 [12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset modified
[?25l[23;8H[1m[7m[+][12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbot sp Xtest3
[?25l"Xtest3" [24;10H[K[24;10H1 line, 11 characters[27m[23m[m[H[2J[1;1Htesttext 1
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7mXtest1 [+] [m[9;1Htesttext 2
[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7mXtest2 [+] [m[16;1Htesttext 3
[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7mXtest3 [16;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hset modified
[?25l[23;8H[1m[7m[+][16;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd t
[?25l[8;1H[1m[7mXtest1 [+] [m[23;1H[7mXtest3 [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhide
[?25l[27m[23m[m[H[2J[1;1Htesttext 2
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXtest2 [+] [m[13;1Htesttext 3
[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mXtest3 [+] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hq!
[?25l[1;10H3[12;1H[1m[34m~ [13;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[1m[37m[41mE37: No write since last change[m
[1m[37m[41mE162: No write since last change for buffer "Xtest1"[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test33.in" 34 lines, 616 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for 'lisp'[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 63 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset lisp
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^(defun
[?25l[12;1H[?12l[?25h[?25l[24;1H22 lines to indent...
23[7Cindented [24;19H[K[13;1H (format nil "~(~A~).html" base))
(let ((ti (gensym)))
`(with-open-file (*standard-output*
[8C(html-file ,name)
[7C:direction :output
:if-exists :supersede)
(let ((,ti ,title))
[15C(as title ,ti)
[17C(with center[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^(defun/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 23 lines, 544 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test34.in" 87 lines, 1833 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for user functions.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 78 lines, 1621 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[8L[?25l[1;1H: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[24;1H[K[22;1H[?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
[1;1H[6L[?25l[1;1H: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))[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc Expr1()
[?25l
: [?12l[?25h: normal! v
[?25l: [?12l[?25h: return "111"
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc Expr2()
[?25l
: [?12l[?25h: call search('XX', 'b')
[?25l: [?12l[?25h: return "222"
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc ListItem()
[?25l
: [?12l[?25h: let g:counter += 1
[?25l: [?12l[?25h: return g:counter . '. '
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc ListReset()
[?25l
: [?12l[?25h: let g:counter = 0
[?25l: [?12l[?25h: return ''
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc FuncWithRef(a)
[?25l
: [?12l[?25h: unlet g:FuncRef
[?25l: [?12l[?25h: return a:a
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hlet g:FuncRef=function("FuncWithRef")
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet counter = 0
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <expr> ( ListItem()
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <expr> [ ListReset()
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25himap <expr> + Expr1()
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25himap <expr> * Expr2()
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet retval = "nop"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^here
[?25l[23;1H[?12l[?25h[?25lher$[24;1H[K[24;1H=[?12l[?25hTable("xxx", 4, "asdf")
[?25l[24;1H[K[24;1H=[?12l[?25hCompute(45, 0, "retval")
[?25l[24;1H[K[24;1H=[?12l[?25hretval
[?25l[24;1H[K[24;1H=[?12l[?25hCompute(45, 5, "retval")
[?25l[24;1H[K[24;1H=[?12l[?25hretval
[?25l[24;1H[K[24;1H=[?12l[?25hg:FuncRef(333)
[?25l[1m[37m[41mError detected while processing function Expr1:[m
[33mline 1:[m
[1m[37m[41mE523: Not allowed here[m
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[4L[?25l[1;1H: $put =(0&&(function('tr'))(1, 2, 3))
: $put =(1&&(function('tr'))(1, 2, 3))
:catch
: $put ='!!! Unexpected exception:'[5;6H$put =v:exception
:endtry[6;8H[K[7;2H$-9,$w! test.out[7;18H[K[8;2Hdelfunc Table
:delfunc Compute[9;17H[K[10;2Hdelfunc Expr1[10;15H[K[11;2Hdelfunc Expr2
:delfunc ListItem[13;10HListReset
:unlet retval counter
:q![15;4H[K[16;1HENDTEST[16;8H[K[17;1H[K[18;1Hxxx4asdf fail nop ok 9 333
XX111-XX[19;9H[K[20;1H---222---
1. one[21;7H[K[22;1H2. two[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l1. one again[?12l[?25h[?25l
:[?12l[?25hcall append(line('$'), max([1, 2, 3]))
[?25l[23;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall extend(g:, {'max': function('min')})
[?25l[1m[37m[41mE704: Funcref variable name must start with a capital: max[23;12H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), max([1, 2, 3]))
[?25l[23;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[23;80Hi[24;1Hng
[?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
[1;1H[10L[?25l[1;1H: $put =v:exception
:endtry
:$-9,$w! test.out
:delfunc Table
:delfunc Compute
:delfunc Expr1
:delfunc Expr2
:delfunc ListItem
:delfunc ListReset
:unlet retval counter
:q![11;4H[K[12;1HENDTEST[12;8H[K[13;1H[K[14;1Hxxx4asdf fail nop ok 9 333
XX111-XX
---222---
1. one
2. two[18;7H[K[19;1H1. one again
3[20;2H[K[21;1H3[21;2H[K[22;1H0[22;2H[K[23;2H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$-9,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 10 lines, 81 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc Table
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc Compute
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc Expr1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc Expr2
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc ListItem
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc ListReset
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hunlet retval counter
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test36.in" 108 lines, 2025 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest character classes in regexp using regexpengine 0, 1, 2.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 101 lines, 1850 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hp: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
:[?12l[?25hs/\%#=0\D//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\D//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\D//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^0-9]//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^0-9]//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^0-9]//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\O//g
[?25l74 substitutions on 1 line[21;1H01234567[21;9H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=2\O//g
[?25l74 substitutions on 1 line[21;1H01234567[21;9H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
:[?12l[?25hs/\%#=1[^0-7]//g
[?25l74 substitutions on 1 line[22;1H01234567[22;9H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^0-7]//g
[?25l74 substitutions on 1 line[22;1H01234567[22;9H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\X//g
[?25l60 substitutions on 1 line[21;1H0123456789ABCDEFabcdef[21;23H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=2\X//g
[?25l60 substitutions on 1 line[21;1H0123456789ABCDEFabcdef[21;23H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=1[^0-9A-Fa-f]//g
[?25l60 substitutions on 1 line[21;1H0123456789ABCDEFabcdef[21;23H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\W//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\W//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\W//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0\H//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\H//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\H//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^A-Za-z_]//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^A-Za-z_]//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^A-Za-z_]//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0\A//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\A//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\A//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^A-Za-z]//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^A-Za-z]//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^A-Za-z]//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0\L//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\L//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\L//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^a-z]//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^a-z]//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^a-z]//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\U//g
[?25l70 substitutions on 1 line[21;1HABCDEFGHIXYZ[21;14H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=2\U//g
[?25l70 substitutions on 1 line[21;1HABCDEFGHIXYZ[21;14H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
:[?12l[?25hs/\%#=1[^A-Z]//g
[?25l70 substitutions on 1 line[22;1HABCDEFGHIXYZ[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^A-Z]//g
[?25l70 substitutions on 1 line[22;1HABCDEFGHIXYZ[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test37.in" 116 lines, 3262 characters[1;1HTest 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
[34m^W[mt:
:resize 8
/^start of window 1$/
zt:
:set scrollbind
[34m^W[mj:
:resize 7
/^start of window 2$/
zt:
:set scrollbind
:" -- start of tests --[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for 'scrollbind'. <eralston@computer.org> Do not add a line below![24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 72 lines, 1498 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[3;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1HHk[34m^W[mtH[34m^W[mjHyy[34m^W[mbp[34m^W[mtyy[34m^W[mbp:
[34m^W[mt:set noscb
ggL[34m^W[mj:set noscb
ggL:set scb
[34m^W[mt:set scb
[34m^W[mtG[34m^W[mjG[34m^W[mt:syncbind
Hk[34m^W[mjH[34m^W[mtHyy[34m^W[mbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
[34m^W[mtH3k[34m^W[mjH[34m^W[mtHyy[34m^W[mbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
:" ***** done with tests *****
:w! test.out[13C" 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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noscrollbind
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt=ver,jump
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrolloff=2
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nowrap
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noequalalways
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset splitbelow
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST using two windows open to one buffer, one extra empty window
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsplit
[?25l[1;1H[34m^W[mtH3k[4C[34m^W[mtHyy[2Cbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
:" ***** done with tests *****
:w! test.out [9C" Write contents of this file
:qa![4;5H[K[5;1HENDTEST[5;9H[K[6;1H[K[7;1H[K[8;1Hstart of window 1[8;18H[K[9;1H. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[10;51H[K[11;1H[7mtest37.in [m[12;1HHk[34m^W[mjH[34m^W[mtHyy[34m^W[mbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
[34m^W[mtH3k[34m^W[mjH[34m^W[mtHyy[34m^W[mbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
:" ***** done with tests *****
:w! test.out [8C" Write contents of this file
:qa![16;5H[K[17;1HENDTEST[17;8H[K[18;1H[K[19;1H[K[20;1Hstart of window 1[20;18H[K[21;9H1[39C1[22;9H2[39C2
[1m[7mtest37.in [18;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnew
[?25l[12;1H:w! test.out " Write contents of this file
:qa![13;5H[K[14;1HENDTEST[14;8H[K[15;1H[K[16;1H[K[17;1H[7mtest37.in [m[19;1H[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [18;1H[?12l[?25h[11;1Htest37.in [m[23;1H[7m[No Name][m[1m[7m [m[7m [6;1H[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hresize 8
[?25l[1;1H:" ***** done with tests *****[1;31H[K[2;2Hw! test.out " Write contents of this file
:qa![3;5H[K[4;1HENDTEST[5;1H[K[7;1Hstart of window 1
. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
[1m[7mtest37.in [m[10;1H:" ***** done with tests *****[10;31H[K[11;1H:w! test.out " Write contents of this file[11;55H[K[12;2Hqa![12;5H[K[13;1HENDTEST[14;1H[K[16;1Hstart of window 1[5;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of window 1$/
[?25l[24;21H[K[24;1H[1;8r[8;1H
[1;24r[8;1H. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[24;1H[K[6;1H[?12l[?25h[?25l[1;8r[1;1H[3M[1;24r[6;1H. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03
. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04
. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollbind
[?25l[3;1H[?12l[?25h[9;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7mtest37.in [14;1H[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hresize 7
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of window 2$/
[?25l[24;21H[K[24;1H[10;1Hend of window 1[10;16H[K[11;1H[K[12;1H[K[13;1Hstart of window 2
. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01
. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03[13;1H[?12l[?25h[?25l[10;16r[16;1H
[1;24r[16;1H. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04[24;1H[K[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollbind
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" -- start of tests --
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST scrolling down
[?25l[12;1H[?12l[?25h
[?25l[1;8r[1;1H[5M[1;24r[4;1H. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07
. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08
. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09
. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10[10;16r[10;1H[5M[1;24r[12;1H. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07
. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08
. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09[24;1H[K[14;1H[?12l[?25h[12;1H[17;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [18;1H[?25l[m
. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[19;50H[K[23;11H[1m[7m[+][19;1H[?12l[?25h[?25l[m0[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [19;1H[?25l[m
. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[20;50H[K[20;1H[?12l[?25h[?25l1[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H
[?25l[1;8r[m[1;1H[6M[1;24r[3;1H. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12
. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13
. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14
. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15
end of window 1[10;16r[10;1H[6M[1;24r[11;1H. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10
. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13
. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15[6;1H[?12l[?25h[3;1H[9;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [20;1H[?25l[m
. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[21;50H[K[21;1H[?12l[?25h[?25l2[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[17;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [21;1H[?25l[m
. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[22;50H[K[22;1H[?12l[?25h[?25l3[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST scrolling up
[?25l[22;1H[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[1;8r[m[1;1H[5L[1;24r[1;1H. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04
. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07
. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08[10;9H4[39C4[11;8H05[38C05[12;8H06[38C06[13;8H07[38C07[14;8H08[38C08[15;8H09[38C09[16;9H0[39C0[24;1H[K[4;1H[?12l[?25h[9;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7mtest37.in [14;1H[12;1H[9;1Htest37.in [m[17;1H[7mtest37.in[m[1m[7m [m[7m [4;1H[3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
[?12l[?25h[?25l4[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[17;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
[?12l[?25h[?25l5[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[?25l[1;8r[m[1;1H[4L[1;24r[1;1Hstart of window 1
. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[10;16r[10;1H[4L[1;24r[10;1Hstart of window 2
. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01
. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
[?12l[?25h[9;1H[1m[7mtest37.in [m[17;1H[7mtest37.in[m[1m[7m [m[7m [6;1H[3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7mtest37.in [13;1H[12;1H[m[17;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
[?12l[?25h[?25l6[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l7[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST horizontal scrolling
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt+=hor
[?25l[22;1H[?12l[?25h[?25l[18;1H[K[19;1H0[7C5 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
1[7C5 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[18;1H[?12l[?25h[?25l[18;22r[18;1H[4M[1;24r[19;1H4 line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
5 line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[24;1H[K[22;1H[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[1;1H 1[1;3H[K[2;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01[2;35H[K[3;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[3;35H[K[4;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[4;35H[K[5;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[5;35H[K[6;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[6;35H[K[7;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06[7;35H[K[8;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07[8;35H[K[10;1H 2[10;3H[K[11;1HUTSRQPONMLKJIHGREDCBA9876543210 01[11;35H[K[12;1HUTSRQPONMLKJIHGREDCBA9876543210 02[12;35H[K[13;1HUTSRQPONMLKJIHGREDCBA9876543210 03[13;35H[K[14;1HUTSRQPONMLKJIHGREDCBA9876543210 04[14;35H[K[15;1HUTSRQPONMLKJIHGREDCBA9876543210 05[15;35H[K[16;1HUTSRQPONMLKJIHGREDCBA9876543210 06[16;35H[K[3;1H[?12l[?25h[9;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[17;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[mUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[?25l[m[1;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09[2;33H10[3;33H11[4;33H12[5;33H13[6;33H14[7;33H15[8;1H[K[10;1HUTSRQPONMLKJIHGREDCBA9876543210 09[11;33H10[12;33H11[13;33H12[14;33H13[15;33H14[16;33H15[13;1H[?12l[?25h[?25l[1;1H. 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[12;1H[?12l[?25h[?25l[?12l[?25h[17;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l[18;22r[22;1H
[1;24r[24;1H[K[22;1H[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;16H
[9;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt-=hor
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" ****** tests using two different buffers *****
[?25l[22;1H[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7mtest37.in [12;1H[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[9;1H[K[10;1H[K[11;1Hstart of window 2[11;18H[K[12;8H0[39C0[13;8H0[39C0[14;8H0[39C0[15;8H0[39C0[16;8H0[39C0[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noscrollbind
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start of window 2$/,/^end of window 2$/y
[?25l18 lines yanked[24;16H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[8;1H[7mtest37.in [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [m[17;1H[1m[7m[No Name] [9;1H[?12l[?25h[8;1Htest37.in [m[17;1H[7m[No Name][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [9;1H[?25l[m[24;1H4 more lines[10;1H[K[11;1H[K[12;1H[K[13;1H[K[17;11H[1m[7m[+][10;1H[?12l[?25h
[?25l[m[24;1H18 more lines[14;1Hstart of window 2[14;18H[K[15;1H. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01[15;50H[K[16;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[16;50H[K[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[14;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[24;1H[K[24;1H/[?12l[?25h^start of window 1$/
[?25l[24;21H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[m[1;1HENDTEST[1;8H[K[2;1H[K[3;1H[K[4;1Hstart of window 1[4;18H[K[5;8H01[38C01[6;8H02[38C02[7;8H03[38C03[4;1H[?12l[?25h[?25l[1;7r[7;1H
[1;24r[7;1H. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollbind
[?25l[3;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [14;1H[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of window 2$/
[?25l[24;21H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[14;1H[?12l[?25h[?25l[9;16r[m[9;1H[3M[1;24r[14;1H. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04
. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[24;1H[K[11;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollbind
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" -- start of tests --
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST scrolling down
[?25l[11;1H[?12l[?25h
[?25l[1;7r[1;1H[5M[1;24r[3;1H. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07
. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08
. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09[9;16r[9;1H[5M[1;24r[12;1H. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07
. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08
. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09
. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10[24;1H[K[14;1H[?12l[?25h[11;1H[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
[?12l[?25h[?25l0[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
[?12l[?25h[?25l1[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H
[?25l[1;7r[m[1;1H[6M[1;24r[2;1H. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10
. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12
. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13
. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14
. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15[9;16r[9;1H[6M[1;24r[11;1H. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13
. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[5;1H[?12l[?25h[3;1H[8;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
[?12l[?25h[?25l2[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[17;1H[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
[?12l[?25h[?25l3[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST scrolling up
[?25l[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[1;9H4[39C4[2;8H05[38C05[3;8H06[38C06[4;8H07[38C07[5;8H08[38C08[6;8H09[38C09[7;9H0[39C0[9;16r[9;1H[5L[1;24r[9;1H. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04
. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07
. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08[24;1H[K[4;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [14;1H[11;1H[8;1Htest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [4;1H[3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
[?12l[?25h[?25l4[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[17;1H[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
[?12l[?25h[?25l5[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[?25l[1;7r[m[1;1H[4L[1;24r[1;1Hstart of window 1
. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[9;16r[9;1H[4L[1;24r[9;1Hstart of window 2
. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01
. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [12;1H[11;1H[m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
[?12l[?25h[?25l6[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l7[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST horizontal scrolling
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt+=hor
[?25l[22;1H[?12l[?25h[?25l[18;1H[K[19;1H0[7C5 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
1[7C5 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[18;1H[?12l[?25h[?25l3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
4[7C6 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
5[7C6 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l[18;22r[22;1H
[1;24r[24;1H[K[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[1;1H 1[1;3H[K[2;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01[2;35H[K[3;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[3;35H[K[4;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[4;35H[K[5;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[5;35H[K[6;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[6;35H[K[7;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06[7;35H[K[9;1H 2[9;3H[K[10;1HUTSRQPONMLKJIHGREDCBA9876543210 01[10;35H[K[11;1HUTSRQPONMLKJIHGREDCBA9876543210 02[11;35H[K[12;1HUTSRQPONMLKJIHGREDCBA9876543210 03[12;35H[K[13;1HUTSRQPONMLKJIHGREDCBA9876543210 04[13;35H[K[14;1HUTSRQPONMLKJIHGREDCBA9876543210 05[14;35H[K[15;1HUTSRQPONMLKJIHGREDCBA9876543210 06[15;35H[K[16;1HUTSRQPONMLKJIHGREDCBA9876543210 07[16;35H[K[3;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[17;1H[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[mUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[?25l[m[1;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09[2;33H10[3;33H11[4;33H12[5;33H13[6;33H14[7;33H15
UTSRQPONMLKJIHGREDCBA9876543210 09[10;33H10[11;33H11[12;33H12[13;33H13[14;33H14[15;33H15[16;33H16[12;1H[?12l[?25h[?25l[1;1H. 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[11;1H[?12l[?25h[?25l[?12l[?25h[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l[18;22r[22;1H
[1;24r[24;1H[K[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;16H
[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt-=hor
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST syncbind
[?25l[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset noscb
[?25l[3;1H[?12l[?25h[?25l[1;1HTest for 'scrollbind'. <eralston@computer.org> Do not add a line below!
STARTTEST[2;11H[K[3;1H:so small.vim[3;14H[K[4;1H:set noscrollbind[4;18H[K[5;1H:set scrollopt=ver,jump[5;24H[K[6;1H:set scrolloff=2[6;17H[K[7;1H:set nowrap[7;12H[K[1;1H[?12l[?25h[5;1H
[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset noscb
[?25l[11;1H[?12l[?25h[?25l[9;1H[K[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1Hstart of window 2[14;18H[K[15;8H01[38C01[16;8H02[38C02[9;1H[?12l[?25h[14;1H[?25l[24;1H[K[24;1H:[?12l[?25hset scb
[?25l[14;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset scb
[?25l[5;1H[?12l[?25h[?25l[1;1H. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13[1;50H[K[2;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
end of window 2[5;16H[K[6;1H[K[7;1Hend of test37.in (please don't delete this line)
end of window 2
[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [7;1H[?12l[?25h[?25l[m[1;1Hzt:[1;4H[K[2;1H:set scrollbind[2;16H[K[3;1H:" -- start of tests --[3;24H[K[4;1H:" TEST scrolling down[4;23H[K[5;1HL5jHyy[34m^W[mbpr0[34m^W[mtHyy[34m^W[mbpr1[34m^W[mtL6jHyy[34m^W[mbpr2[34m^W[mkHyy[34m^W[mbpr3:
:" TEST scrolling up
[34m^W[mtH4k[34m^W[mjH[34m^W[mtHyy[34m^W[mbpr4[34m^W[mkHyy[34m^W[mbpr5[34m^W[mk3k[34m^W[mtH[34m^W[mjHyy[34m^W[mbpr6[34m^W[mtHyy[34m^W[mbpr7:
[7mtest37.in[m[1m[7m [m[7m [9;16r[m[9;1H[2L[1;24r[9;1H. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[17;1H[1m[7m[No Name] [+] [m[24;1H[K[11;1H[?12l[?25h[?25l[24;1H:[?12l[?25hsyncbind
[?25l[11;1H[?12l[?25h[?25l[1;7r[1;1H[L[1;24r[1;1H/^start of window 2$/[9;16r[9;1H[L[1;24r[9;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[24;1H[K[11;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H:set scrollbind
[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset noscb
[?25l[3;1H[?12l[?25h[?25l[1;1HTest for 'scrollbind'. <eralston@computer.org> Do not add a line below!
STARTTEST
:so small.vim[3;14H[K[4;2Hset noscrollbind[4;18H[K[5;2Hset scrollopt=ver,jump
:set scrolloff=2[6;17H[K[7;2Hset nowrap[7;12H[K[1;1H[?12l[?25h[5;1H
[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset noscb
[?25l[11;1H[?12l[?25h[?25l[9;1H[K[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1Hstart of window 2[14;18H[K[15;1H. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01[15;50H[K[16;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[16;50H[K[9;1H[?12l[?25h[14;1H[?25l[24;1H[K[24;1H:[?12l[?25hset scb
[?25l[14;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset scb
[?25l[5;1H[?12l[?25h[?25l[1;1H. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13[1;50H[K[2;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
end of window 2[5;16H[K[6;1H[K[7;1Hend of test37.in (please don't delete this line)
end of window 2
[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [7;1H[?12l[?25h[?25l[m[1;1Hzt:[1;4H[K[2;1H:set scrollbind[2;16H[K[3;1H:" -- start of tests --[3;24H[K[4;1H:" TEST scrolling down[4;23H[K[5;1HL5jHyy[34m^W[mbpr0[34m^W[mtHyy[34m^W[mbpr1[34m^W[mtL6jHyy[34m^W[mbpr2[34m^W[mkHyy[34m^W[mbpr3:
:" TEST scrolling up
[34m^W[mtH4k[34m^W[mjH[34m^W[mtHyy[34m^W[mbpr4[34m^W[mkHyy[34m^W[mbpr5[34m^W[mk3k[34m^W[mtH[34m^W[mjHyy[34m^W[mbpr6[34m^W[mtHyy[34m^W[mbpr7:
[7mtest37.in[m[1m[7m [m[7m [9;16r[m[9;1H[2L[1;24r[9;1H. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[17;1H[1m[7m[No Name] [+] [m[24;1H[K[11;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[?25l[24;1H[m:[?12l[?25hsyncbind
[?25l[5;1H[?12l[?25h[3;1H[?25l[1;7r[1;1H[L[1;24r[1;1H/^start of window 2$/[9;16r[9;1H[L[1;24r[9;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[24;1H[K[3;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [12;1H[11;1H[8;1Htest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H:set scrollbind
[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[1;7r[m[1;1H[4L[1;24r[1;1Hzt:
:set scrollbind
[34m^W[mj:
:resize 7[9;16r[9;1H[4L[1;24r[9;1H. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10
. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13[24;1H[K[4;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [15;1H[11;1H[8;1Htest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [4;1H[3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H[34m^W[mj:
[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" ***** done with tests *****
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 33 lines, 1329 characters written[23;1H[1m[7mtest.out] [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test38.in" 35 lines, 455 characters[2;1HTest Virtual replace mode.
STARTTEST
:so small.vim
:" make sure that backspace works, no matter what termcap is used
:set t_kD=[34m^V[mx7f t_kb=[34m^V[mx08
ggdGa
abcdefghi
jk lmn
opq rst
[34m^D[muvwxyz
[34m^[[mgg:set ai
:set bs=2
gR0[34m^D[m 1
A
BCDEFGHIJ[18;9HKL
MNO
PQR[34m^[[mG:ka
o0[34m^D[m
abcdefghi
jk lmn[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 29 lines, 407 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[11M[1;24r[13;5Hopq rst
[34m^D[muvwxyz
[34m^[[m'ajgR0[34m^D[m 1
A
BCDEFGHIJ[18;9HKL
MNO
PQR[34m^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^[[m:$
iab cdefghi jkl[34m^[[m0gRAB......CDEFGHI.J[34m^[[mo[34m^[[m:
iabcdefghijklmnopqrst[34m^[[m0gRAB IJKLMNO QR[34m^[[m:wq! test.out
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make sure that backspace works, no matter what termcap is used
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset t_kD=^[34m^?[m t_kb=^[34m^H
[?25l[27m[23m[m[H[2J[1;1H[34m^[[mgg:set ai
:set bs=2
gR0[34m^D[m 1
A
BCDEFGHIJ[6;9HKL
MNO
PQR[34m^[[mG:ka
o0[34m^D[m
abcdefghi
jk lmn
opq rst
[34m^D[muvwxyz
[34m^[[m'ajgR0[34m^D[m 1
A
BCDEFGHIJ[17;9HKL
MNO
PQR[34m^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^[[m:$
iab cdefghi jkl[34m^[[m0gRAB......CDEFGHI.J[34m^[[mo[34m^[[m:
iabcdefghijklmnopqrst[34m^[[m0gRAB IJKLMNO QR[34m^[[m:wq! test.out
ENDTEST
[?12l[?25h[?25l[1;23r[1;1H[12L[1;24r[2;1HTest Virtual replace mode.
STARTTEST
:so small.vim
:" make sure that backspace works, no matter what termcap is used
:set t_kD=[34m^V[mx7f t_kb=[34m^V[mx08
ggdGa
abcdefghi
jk lmn
opq rst
[34m^D[muvwxyz[1;1H[?12l[?25h[?25l
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l
abcdefghi[2;10H[K[3;1Hjk lmn[3;12H[K[4;1H opq rst[4;12H[K[5;1Huvwxyz[5;7H[K[6;1H[K[6;1H[?12l[?25h[1;1H[?25l[24;1H[K[24;1H:[?12l[?25hset ai
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bs=2
[?25l[1;1H[?12l[?25h[?25l 1
A[2;3H[K[3;1H BCDEFGHIJ[3;11H[K[4;5H KL[4;11H[K[5;1H MNO[6;9HPQR[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hka
[?25l[6;9H[?12l[?25h[?25l[7;1H[K[8;1Habcdefghi[8;10H[K[9;1Hjk lmn[9;12H[K[10;1H opq rst[10;12H[K[11;1Huvwxyz[11;7H[K[12;1H[K[12;1H[?12l[?25h[6;9H
[?25l 1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$
[?25l[12;1H[?12l[?25h[?25lab cdefghi jkl[?12l[?25h
[?25lAB......CDEFGHI.J[?12l[?25h[?25l[13;1H[K[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25labcdefghijklmnopqrst[?12l[?25h
[?25lAB IJKLMNO QR[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test39.in" 118 lines, 2435 characters[2;1HTest Visual block mode commands
And test "U" in Visual mode, also on German sharp S.
#define BO_ALL 0x0001
#define BO_BS[7C0x0002
#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[34m^V[mjj>wll[34m^V[mjlll>
:" Test shift-left of a block
G$hhhh[34m^V[mkk<
:" Test block-insert
Gkl[34m^V[mkkkIxyz[34m^[[m
:" Test block-replace
Gllll[34m^V[mkkklllrq
:" Test block-change[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotegcc -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
st
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 75 lines, 2061 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[10;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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!
ENDTEST[14;17Hline1[15;17Hline2[16;17Hline3
aaaaaa
bbbbbb
cccccc
dddddd
xaaa[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" This only works when 'encoding' is "latin1", don't depend on the environment
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=latin1
[?25l[27m[23m[m[H[2J[1;1H: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!
ENDTEST[14;17Hline1[15;17Hline2[16;17Hline3
aaaaaa
bbbbbb
cccccc
dddddd
xaaa[13;1H[?12l[?25h[?25l[24;1H/[?12l[?25h^abcde
[?25l[1;23r[1;1H[18M[1;24r[6;1Hbbbb
cccc
dddd
yaaa
bbb
A23
4567
B23
4567
C23
4567
abcdefghijklm[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" Test shift-right of a block
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Habcdefghijklm[24;1H[K[23;1H[?12l[?25habcd[?25l[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5H[7me[m
abcdefghijklm
abcd[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5H[7me[m
abcdefghijklm
abcd[?12l[?25h[?25l
3 lines >ed 1 time[21;5H efghijklm
abcd efghijklm
abcd efghijklm[21;8H[?12l[?25h ef[?25l[?12l[?25h[?25l[7mg[22;15H[?12l[?25h[?25l[21;16Hh[22;15Hg[?12l[?25h[?25l[21;17Hi[22;16Hh[?12l[?25h[?25l[21;18Hj[22;17Hi[?12l[?25h[?25l[m[21;15H ghijklm[22;15H ghijklm[21;16H[?12l[?25h[22;16H[?25l[24;1H[K[24;1H:[?12l[?25h" Test shift-left of a block
[?25l[22;16H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Habcdefghijklm[24;1H[K[23;1H[?12l[?25h[12C[?25l[?12l[?25h[?25l[7mi[22;9H[?12l[?25h[?25l [21;9H[?12l[?25h[?25l[m
3 lines <ed 1 time[21;9Hef [22;9Hefghijklm[22;18H[K[23;9Hi[21;9H[?12l[?25h[22;9H[?25l[24;1H[K[24;1H:[?12l[?25h" Test block-insert
[?25l[22;9H[?12l[?25h
[22;1Ha[?25l[?12l[?25h[?25l[7mb[21;2H[?12l[?25h[?25lb[20;2H[?12l[?25h[?25lb[19;2H[?12l[?25h[?25l[m
ab
ab
ab[19;2Hxyzbcdefghijklm
axyzbcd
axyzbcd
axyzbcd[19;2H[?12l[?25h
a[?25l[24;1H[K[24;1H:[?12l[?25h" Test block-replace
[?25l[20;2H[?12l[?25h
abcd[?25l[?12l[?25h[?25l[7me[22;5H[?12l[?25h[?25lb[21;5H[?12l[?25h[?25lb[20;5H[?12l[?25h[?25lb[21;6Hc[22;6Hc[23;6Hf[20;6H[?12l[?25h[?25lc[21;7Hd[22;7Hd[23;7Hg[20;7H[?12l[?25h[?25ld[21;8H [22;8H [23;8Hh[20;8H[?12l[?25h[?25l[mqqqq
axyzqqqq
axyzqqqq
abcdqqqq[20;5H[?12l[?25h
axyz[?25l[24;1H[K[24;1H:[?12l[?25h" Test block-change
[?25l[21;5H[?12l[?25h
[12C[22;17H[?25l[?12l[?25h[?25l[7mj[?12l[?25h[?25li[?12l[?25h[?25l[21;12H [22;11Hghijkl[21;11H[?12l[?25h[?25l[20;13Hef[m[21;15H [22;11Hg[3Ckl[20;12H[?12l[?25h[?25lmno[21;12Hmno[22;12Hmno[20;14H[?12l[?25h[21;14H[?25l[24;1H[K[24;1H:[?12l[?25h$-4,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 5 lines, 108 characters written[21;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test block-insert using cursor keys for movement
[?25l[21;14H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^aaaa/
[?25l[24;7H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[1;23r[m[1;1H[5L[1;24r[1;1Haaaaaa
bbbbbb
cccccc
dddddd[24;1H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexe ":norm! l\<C-V>jjjlllI\<Right>\<Right> \<Esc>"
[?25l[1;4H aaa
bbb bbb
ccc ccc
ddd ddd[1;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^aa/,/^$/w >> test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H5 lines, 37 characters appended[1;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hxaaa$/
[?25l[24;7H[K[24;1H[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! \<C-V>jjjI<>\<Left>p\<Esc>"
[?25l[6;1H<p>xaaa
<p>bbbb
<p>cccc
<p>dddd[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/xaaa$/,/^$/w >> test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H5 lines, 33 characters appended[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block was created with the last <C-v>$
[?25l[6;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^A23$/
[?25l[24;7H[K[24;1H[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! l\<C-V>j$Aab\<Esc>"
[?25l[15;4Hab
4567ab[15;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" [24;13H[K[24;12H3 lines, 14 characters appended[15;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block was created with the middle <C-v>$ (1)
[?25l[15;2H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^B23$/
[?25l[24;7H[K[24;1H[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! l\<C-V>j$hAab\<Esc>"
[?25l[18;5Hab
4567ab[18;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" [24;13H[K[24;12H3 lines, 15 characters appended[18;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block was created with the middle <C-v>$ (2)
[?25l[18;2H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^C23$/
[?25l[24;7H[K[24;1H[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! l\<C-V>j$hhAab\<Esc>"
[?25l[21;4Hab
456ab7[21;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" [24;13H[K[24;12H3 lines, 14 characters appended[21;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block insert when virtualedit=all and utf-8 encoding
[?25l[21;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=all enc=utf-8
[?25l[27m[23m[m[H[2J[1;1Haaa aaa
bbb bbb
ccc ccc
ddd ddd
<p>xaaa
<p>bbbb
<p>cccc
<p>dddd
yaaa
[34m<bf><bf><bf>[m
bbb
A23ab
4567ab
B23 ab
4567ab
C23ab
456ab7[21;2H[?12l[?25h[?25l
:[?12l[?25h/\t\tline
[?25l[31msearch hit BOTTOM, continuing at TOP[1;23r[m[1;1H[4L[1;24r[1;17Hline1[2;17Hline2[3;17Hline3[24;1H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[1;17H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexe ":norm! 07l\<C-V>jjIx\<Esc>"
[?25l[1;8Hx[2;8Hx[3;8Hx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" [24;13H[K[24;12H4 lines, 49 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block append when virtualedit=all
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! 012l\<C-v>jjAx\<Esc>"
[?25l[1;14Hx line1[2;14Hx line2[3;14Hx line3[1;10H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve= enc=latin1
[?25l[27m[23m[m[H[2J[1;8Hx x line1[2;8Hx x line2[3;8Hx x line3
aaa aaa
bbb bbb
ccc ccc
ddd ddd
<p>xaaa
<p>bbbb
<p>cccc
<p>dddd
yaaa
bbb
A23ab
4567ab
B23 ab
456ab7
axyzbcdefghijklm
axyzqqqq mno[8Cghijklm
axyzqqqqef mno[8Cghijklm
axyzqqqqefgmnoklm
abcdqqqqijklm[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
the [?25l
:[?12l[?25h" VU must uppercase a whole line
[?25l[23;4H[?12l[?25h[?25l[1;23r[23;1H
[?25l
:[?12l[?25h" same, when it's the last line in the buffer
[?25l[23;1H[?12l[?25h[?25l[?12l[?25h[?25l[1;23r[23;1H
[?25l
:[?12l[?25h" Uppercase two lines
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1Hblah di[22;8H[K[23;1Hdoh dut[24;1H[K[23;7H[?12l[?25h[?25l
[7mdoh du[mt[7m [?12l[?25h[?25l[22;1Hblah d[mi[7m [23;7Ht[22;7H[?12l[?25h[?25l[m
BLAH DI[22;8H[K[23;1HDOH DUT[23;8H[K[22;7H[?12l[?25h[23;7H[?25l[1;23r[23;1H
:[?12l[?25h" Uppercase part of two lines
[?25l[23;7H[?12l[?25h[?25l
[1m[34m~ [22;1H[?12l[?25h[?25l[m
333the yo[?12l[?25h[?25lut[?12l[?25h[?25l[m[22;10HUTUSSEUU END
333THE YOUTU[22;10H[?12l[?25h[21;7H[22;10H[?25l
:[?12l[?25h" visual replace using Enter or NL
[?25l[22;10H[?12l[?25h
[?25l[1;23r[1;1H[3M[1;24r[21;1H123456789
123456789
123456789[24;1H[K[23;9H[?12l[?25h[21;9H
12345[?25l[?12l[?25h[?25l[7m6[22;6H6[23;6H[?12l[?25h[?25l[m[21;6H[K[22;1H789[22;4H[K[23;6H[K[21;5H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1H789
12345
789
[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1H98765
98765
98765[?12l[?25h[21;5H
98[?25l[?12l[?25h[?25l[7m7
[m98[7m7
[m98[?12l[?25h[?25l[21;3H[34m^M[m65
98[34m^M[m65
98[34m^M[m65[21;3H[?12l[?25h
98
[?25l[1;23r[1;1H[3M[1;24r[21;1H123456789
123456789
123456789[?12l[?25h[21;9H
12345[?25l[?12l[?25h[?25l[7m6[22;6H6[23;6H[?12l[?25h[?25l[m[21;6H[K[22;1H789[22;4H[K[23;6H[K[21;5H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1H789
12345
789
[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1H98765
98765
98765[?12l[?25h[21;5H
98[?25l[?12l[?25h[?25l[7m7
[m98[7m7
[m98[?12l[?25h[?25l[21;3H[34m^@[m65
98[34m^@[m65
98[34m^@[m65[21;3H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test cursor position. When ve=block and Visual block mode and $gj
[?25l[21;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=block
[?25l[21;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! 2k\<C-V>$gj\<Esc>"
[?25l[20;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet cpos=getpos("'>")
[?25l[20;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='col:'.cpos[2].' off:'.cpos[3]
[?25l[1;23r[23;1H
[1;24r[23;1Hcol:4 off:0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" block_insert when replacing spaces in front of the block with tabs
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ts=8 sts=4 sw=4
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h4,7y
[?25l4 lines yanked[23;1H[?12l[?25h[?25l
4 more lines[24;13H[K[1;23r[23;1H
[1;24r[24;1H[K[24;1H4 more lines[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H#define BO_ALL 0x0001[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hexe ":norm! f0\<C-V>2jI\<tab>\<esc>"
[?25l[1;23r[1;1H[2M[1;24r[21;21H 0x0001
#define BO_BS[11C0x0002
#define BO_CRSR[9C0x0004[24;1H[K[21;24H[?12l[?25h[?25l
:[?12l[?25h/^the/,$w >> test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H31 lines, 322 characters appended[21;24H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test40.in" 63 lines, 1536 characters[1;1HTest for "*Cmd" autocommands
STARTTEST
:so small.vim
:/^start/,$w! Xxx[15C" write lines below to Xxx
:au BufReadCmd XtestA 0r Xxx|$del
:e XtestA[23C" will read text of Xxd instead
:au BufWriteCmd XtestA call append(line("$"), "write")
:w[30C" will append a line to the file
:r XtestA[23C" should not read anything
:[31C" now we have:
:[31C" 1 start of Xxx
:[31C" 2[13Ctest40
:[31C" 3 end of Xxx
:[31C" 4 write
:au FileReadCmd XtestB '[r Xxx
:2r XtestB[22C" will read Xxx below line 2 instead
:[31C" 1 start of Xxx
:[31C" 2[13Ctest40
:[31C" 3 start of Xxx
:[31C" 4[13Ctest40
:[31C" 5 end of Xxx
:[31C" 6 end of Xxx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for "*Cmd" autocommands[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 55 lines, 1455 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$w >>test.out[18C" append "end of Xxx" to test.out
:au BufReadCmd XtestE 0r test.out|$del
:sp XtestE[22C" split window with test.out
5Goasdf[34m^[^W^W[m:"
:au BufWriteCmd XtestE w! test.out
:wall[27C" will write other window to test.out
:[31C" 1 start of Xxx
:[31C" 2[13Ctest40
:[31C" 3 start of Xxx
:[31C" 4[13Ctest401
:[31C" 5 end of Xxx
:[31C" 6 asdf
:[31C" 7 end of Xxx
:[31C" 8 write
:[31C" 9[13Ctest401
:[31C" 10 end of Xxx
:[31C" 11 end of Xxx
:qa!
ENDTEST
start of Xxx[22;9Htest40
end of Xxx[19;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start/,$w! Xxx[34m^I^I[m" write lines below to Xxx
[?25l"Xxx" [24;7H[K[24;7H[New File] 3 lines, 32 characters written[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadCmd XtestA 0r Xxx|$del
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he XtestA[34m^I^I^I[m" will read text of Xxd instead
[?25l"Xxx" [24;7H[K[24;7H3 lines, 32 characters[1;1Hstart of Xxx[1;13H[K[2;1H test40[2;16H[K[3;1Hend of Xxx[3;33H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau BufWriteCmd XtestA call append(line("$"), "write")
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw[34m^I^I^I^I[m" will append a line to the file
[?25l[4;1Hwrite[4;6H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hr XtestA[34m^I^I^I[m" should not read anything
[?25l[1m[37m[41mE484: Can't open file XtestA[m[24;29H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" now we have:
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 1[34m^I[mstart of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 2[34m^I^I[mtest40
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 3[34m^I[mend of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 4[34m^I[mwrite
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileReadCmd XtestB '[r Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h2r XtestB[34m^I^I^I[m" will read Xxx below line 2 instead
[?25l"Xxx" [24;7H[K[24;7H3 lines, 32 characters[3;23r[3;1H[3L[1;24r[3;1Hstart of Xxx[4;9Htest40
end of Xxx[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[34m^I^I^I^I[m" 1[34m^I[mstart of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 2[34m^I^I[mtest40
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 3[34m^I[mstart of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 4[34m^I^I[mtest40
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 5[34m^I[mend of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 6[34m^I[mend of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 7[34m^I[mwrite
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileWriteCmd XtestC '[,']copy $
[?25l[3;1H[?12l[?25h[4;9H[?25ltest401[?12l[?25h[5;10H[?25l[24;1H[K[24;1H:[?12l[?25h4,5w XtestC[34m^I^I^I[m" will copy lines 4 and 5 to the end
[?25l[8;1H test401[8;16H[K[9;1Hend of Xxx[9;11H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hr XtestC[34m^I^I^I[m" should not read anything
[?25l[1m[37m[41mE484: Can't open file XtestC[m[24;29H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 1[34m^I[mstart of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 2[34m^I^I[mtest40
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 3[34m^I[mstart of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 4[34m^I^I[mtest401
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 5[34m^I[mend of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 6[34m^I[mend of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 7[34m^I[mwrite
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 8[34m^I^I[mtest401
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 9[34m^I[mend of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FILEAppendCmd XtestD '[,']w! test.out
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XtestD[34m^I^I^I[m" will write all lines to test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 9 lines, 91 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XtestD[34m^I^I^I[m" should not read anything
[?25l[1m[37m[41mE484: Can't open file XtestD[m[24;30H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w >>test.out[34m^I^I^I[m" append "end of Xxx" to test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadCmd XtestE 0r test.out|$del
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp XtestE[34m^I^I^I[m" split window with test.out
[?25l"test.out" [24;12H[K[24;12H10 lines, 102 characters[10;1Hend of Xxx[10;11H[K[12;1H[1m[7mXtestE [m[13;1Hend of Xxx[13;11H[K[14;1Hwrite[14;6H[K[15;1H test401[15;16H[K[16;1Hend of Xxx[16;11H[K[23;1H[7mXtestA [10;1H[?12l[?25h[5;1H[?25l[6;11r[m[6;1H[L[1;24r[6;1Hasdf[12;8H[1m[7m[+][m[24;1H[K[6;4H[?12l[?25h[12;1H[7mXtestE [+][m[1m[7m [m[7m [m[23;1H[1m[7mXtestA [16;1H[?25l[24;1H[m:[?12l[?25h"
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufWriteCmd XtestE w! test.out
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwall[34m^I^I^I^I[m" will write other window to test.out
[?25l"test.out" [24;12H[K[24;12H11 lines, 107 characters written[12;8H[7m [16;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 1[34m^I[mstart of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 2[34m^I^I[mtest40
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 3[34m^I[mstart of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 4[34m^I^I[mtest401
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 5[34m^I[mend of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 6[34m^I[masdf
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 7[34m^I[mend of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 8[34m^I[mwrite
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 9[34m^I^I[mtest401
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 10[34m^I[mend of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 11[34m^I[mend of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test41.in" 24 lines, 421 characters[1;1HTest 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[34m^[[mkY3000p2GY3000p
:w! Xtest
:%d
:e! Xtest
:.w! test.out
3003G:.w >>test.out
6005G:.w >>test.out
:qa!
ENDTEST[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for writing and reading a file of over 100 Kbyte[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 13 lines, 196 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[10;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%d
[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25lThis is the start
This is the leader[2;19H[K[3;1HThis is the middle[3;19H[K[4;1HThis is the trailer[4;20H[K[5;1HThis is the end[5;16H[K[5;15H[?12l[?25h[4;15H[?25l[24;1H3000 more lines[24;16H[K[5;13Htrailer
This is the trailer[6;20H[K[7;1HThis is the trailer[7;20H[K[8;1HThis is the trailer[8;20H[K[9;1HThis is the trailer[9;20H[K[10;1HThis is the trailer[10;20H[K[11;1HThis is the trailer[11;20H[K[12;1HThis is the trailer[12;20H[K[13;1HThis is the trailer[13;20H[K[14;1HThis is the trailer[14;20H[K[15;1HThis is the trailer[15;20H[K[16;1HThis is the trailer[16;20H[K[17;1HThis is the trailer[17;20H[K[18;1HThis is the trailer[18;20H[K[19;1HThis is the trailer[19;20H[K[20;1HThis is the trailer[20;20H[K[21;1HThis is the trailer[21;20H[K[22;1HThis is the trailer[22;20H[K[23;1HThis is the trailer[23;20H[K[5;1H[?12l[?25h[2;1H[?25l[3;13Hleader[4;13Hleader[4;19H[K[5;13Hleader[5;19H[K[6;13Hleader[6;19H[K[7;13Hleader[7;19H[K[8;13Hleader[8;19H[K[9;13Hleader[9;19H[K[10;13Hleader[10;19H[K[11;13Hleader[11;19H[K[12;13Hleader[12;19H[K[13;13Hleader[13;19H[K[14;13Hleader[14;19H[K[15;13Hleader[15;19H[K[16;13Hleader[16;19H[K[17;13Hleader[17;19H[K[18;13Hleader[18;19H[K[19;13Hleader[19;19H[K[20;13Hleader[20;19H[K[21;13Hleader[21;19H[K[22;13Hleader[22;19H[K[23;13Hleader[23;19H[K[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest
[?25l"Xtest" [24;9H[K[24;9H[New File] 6005 lines, 117092 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%d
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest
[?25l"Xtest" [24;9H[K[24;9H6005 lines, 117092 characters[1;1HThis is the start
This is the leader[2;19H[K[3;1HThis is the leader[3;19H[K[4;1HThis is the leader[4;19H[K[5;1HThis is the leader[5;19H[K[6;1HThis is the leader[6;19H[K[7;1HThis is the leader[7;19H[K[8;1HThis is the leader[8;19H[K[9;1HThis is the leader[9;19H[K[10;1HThis is the leader[10;19H[K[11;1HThis is the leader[11;19H[K[12;1HThis is the leader[12;19H[K[13;1HThis is the leader[13;19H[K[14;1HThis is the leader[14;19H[K[15;1HThis is the leader[15;19H[K[16;1HThis is the leader[16;19H[K[17;1HThis is the leader[17;19H[K[18;1HThis is the leader[18;19H[K[19;1HThis is the leader[19;19H[K[20;1HThis is the leader[20;19H[K[21;1HThis is the leader[21;19H[K[22;1HThis is the leader[22;19H[K[23;1HThis is the leader[23;19H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 18 characters written[1;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HThis 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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 19 characters appended[12;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HThis 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" [24;12H[K[24;12H1 line, 16 characters appended[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test42.in" 130 lines, 2368 characters[1;1HTest 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[11C" 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[22C" Ignore change from setting 'ff'
o[34m^V^@^[[m:set noeol
:w
:set ffs& nobinary[14C" Allow default test42.in format
:e #
:set ff=unix[20C" Format for files to write
:/^ucs-4$/+1w! Xtest5
:/^ucs-4le$/+1w! Xtest6[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for writing and reading a file starting with a BOM[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 111 lines, 2116 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:e! test.out
:$r Xtest0x
:$r Xtest1x
:$r Xtest2x
:$r Xtest3x
:$r Xtest4x
:$r Xtest5x
:$r Xtest6x
:set nobin ff&[15C" Write the file in default format
:w! test.out
:qa!
ENDTEST
latin-1
utf-8
utf-8
utf-8-err
utf-8[34m~@[merr
ucs-2
ucs-2le
[?25l[24;1H[m:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1H:e! test.out
:$r Xtest0x
:$r Xtest1x
:$r Xtest2x
:$r Xtest3x
:$r Xtest4x
:$r Xtest5x
:$r Xtest6x
:set nobin ff&[15C" Write the file in default format
:w! test.out
:qa!
ENDTEST
latin-1
[34m<fe><fe>[mlatin-1
utf-8
[34m<feff>[mutf-8
utf-8-err
[34m<feff>[mutf-8[34m<80>[merr
ucs-2
[34m<fe><ff>^@[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[m
ucs-2le
[34m<ff><fe>[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[13;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hset fileencodings=ucs-bom,latin-1
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff=unix ffs=unix " This changes the file for DOS and MAC
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Write the test files
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^latin-1$/+1w! Xtest0
[?25l"Xtest0" [24;10H[K[24;10H[New File] 1 line, 10 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^utf-8$/+1w! Xtest1
[?25l"Xtest1" [24;10H[K[24;10H[New File] 1 line, 9 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^utf-8-err$/+1w! Xtest2
[?25l"Xtest2" [24;10H[K[24;10H[New File] 1 line, 13 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^ucs-2$/+1w! Xtest3
[?25l"Xtest3" [24;10H[K[24;10H[New File] 1 line, 14 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^ucs-2le$/+1w! Xtest4
[?25l"Xtest4" [24;10H[K[24;10H[New File] 1 line, 17 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Need to add a NUL byte after the NL byte
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest4 " Ignore change from setting 'ff'
[?25l"Xtest4" [24;10H[K[24;10H1 line, 17 characters[1;1H[34m<ff><fe>[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[m
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h
[?25l[m[34m^@[m[2;3H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noeol
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xtest4" [Incomplete last line] 2 lines, 18 characters written[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ffs& nobinary " Allow default test42.in format
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he #
[?25l"test42.in" [converted] 130 lines, 2385 characters[1;1H:$r Xtest0x[1;12H[K[2;1H:$r Xtest1x
:$r Xtest2x[3;12H[K[4;1H:$r Xtest3x[4;12H[K[5;1H:$r Xtest4x[5;12H[K[6;1H:$r Xtest5x[6;12H[K[7;1H:$r Xtest6x[7;12H[K[8;1H:set nobin ff& " Write the file in default format[8;64H[K[9;1H:w! test.out[9;13H[K[10;1H:qa![10;5H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1Hlatin-1[13;8H[K[14;1Hþ[14;2Hþ[14;3Hlatin-1[14;10H[K[15;1Hutf-8[15;6H[K[16;1H[16;4Hutf-8[16;9H[K[17;1Hutf-8-err[17;10H[K[18;1H[18;4Hutf-8[34m<80>[merr[18;16H[K[19;1Hucs-2[19;6H[K[20;1Hþ[20;2Hÿ[34m^@[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[m[20;20H[K[21;1Hucs-2le[21;8H[K[22;1Hÿþ[22;3Hu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[m[22;24H[K[23;1Hucs-4[23;6H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff=unix " Format for files to write
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^ucs-4$/+1w! Xtest5
[?25l"Xtest5" [24;10H[K[24;10H[converted][New File] 1 line, 30 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^ucs-4le$/+1w! Xtest6
[?25l"Xtest6" [24;10H[K[24;10H[converted][New File] 1 line, 35 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Need to add three NUL bytes after the NL byte
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest6 " ! for when setting 'ff' is a change
[?25l"Xtest6" [24;10H[K[24;10H1 line, 33 characters[1;1H[34m<ff><fe>^@^@[mu[34m^@^@^@[mc[34m^@^@^@[ms[34m^@^@^@[m-[34m^@^@^@[m4[34m^@^@^@[ml[34m^@^@^@[me[34m^@^@^@[m
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h
~ [?25l[m
[34m^@^@^@[m[2;7H[K[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noeol
[?25l[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xtest6" [Incomplete last line] 2 lines, 36 characters written[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nobin
[?25l[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he #
[?25l"test42.in" [converted] 130 lines, 2385 characters[1;1H:$r Xtest0x[1;12H[K[2;1H:$r Xtest1x
:$r Xtest2x[3;12H[K[4;1H:$r Xtest3x[4;12H[K[5;1H:$r Xtest4x[5;12H[K[6;1H:$r Xtest5x[6;12H[K[7;1H:$r Xtest6x[7;12H[K[8;1H:set nobin ff& " Write the file in default format[8;64H[K[9;1H:w! test.out[9;13H[K[10;1H:qa![10;5H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1Hlatin-1[13;8H[K[14;1Hþ[14;2Hþ[14;3Hlatin-1[14;10H[K[15;1Hutf-8[15;6H[K[16;1H[16;4Hutf-8[16;9H[K[17;1Hutf-8-err[17;10H[K[18;1H[18;4Hutf-8[34m<80>[merr[18;16H[K[19;1Hucs-2[19;6H[K[20;1Hþ[20;2Hÿ[34m^@[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[m[20;20H[K[21;1Hucs-2le[21;8H[K[22;1Hÿþ[22;3Hu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[m[22;24H[K[23;1Hucs-4[23;6H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check that editing a latin-1 file doesn't see a BOM
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest0
[?25l"Xtest0" [24;10H[K[24;10H[converted] 1 line, 12 characters[1;1Hþ[1;2Hþ[1;3Hlatin-1[1;10H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir! >test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=latin1
nobomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hþ[1;2Hþ[1;3Hlatin-1
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 12 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bomb fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest0x
[?25l"Xtest0x" [24;11H[K[24;11H[converted][New File] 1 line, 12 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check utf-8
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest1
[?25l"Xtest1" [24;10H[K[24;10H1 line, 9 characters[1;1Hutf-8[1;6H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=utf-8
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hutf-8
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 6 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=utf-8
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest1x
[?25l"Xtest1x" [24;11H[K[24;11H[New File] 1 line, 9 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check utf-8 with an error (will fall back to latin-1)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest2
[?25l"Xtest2" [24;10H[K[24;10H[converted] 1 line, 17 characters[1;1H[1;4Hutf-8[34m<80>[merr
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=latin1
nobomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1H[1;4Hutf-8[34m<80>[merr
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 17 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=utf-8
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest2x
[?25l"Xtest2x" [24;11H[K[24;11H[New File] 1 line, 17 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check ucs-2
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest3
[?25l"Xtest3" [24;10H[K[24;10H[converted] 1 line, 8 characters[1;1Hucs-2[1;6H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=utf-16
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hucs-2
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 6 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=ucs-2
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest3x
[?25l"Xtest3x" [24;11H[K[24;11H[converted][New File] 1 line, 8 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check ucs-2le
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest4
[?25l"Xtest4" [24;10H[K[24;10H[converted] 1 line, 10 characters[1;6Hle
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=utf-16le
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hucs-2le
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 8 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=ucs-2le
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest4x
[?25l"Xtest4x" [24;11H[K[24;11H[converted][New File] 1 line, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check ucs-4
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest5
[?25l"Xtest5" [24;10H[K[24;10H[converted] 1 line, 10 characters[1;5H4[1;6H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=ucs-4
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hucs-4
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 6 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=ucs-4
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest5x
[?25l"Xtest5x" [24;11H[K[24;11H[converted][New File] 1 line, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check ucs-4le
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest6
[?25l"Xtest6" [24;10H[K[24;10H[converted] 1 line, 12 characters[1;6Hle
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=ucs-4le
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hucs-4le
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 8 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=ucs-4le
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest6x
[?25l"Xtest6x" [24;11H[K[24;11H[converted][New File] 1 line, 12 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check the files written with BOM
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H35 lines, 275 characters[1;1H[K[2;1H[K[3;1H fileencoding=latin1[3;22H[K[4;1Hnobomb[4;7H[K[5;1H[34m<fe><fe>[mlatin-1[5;16H[K[6;1H[K[7;1H[K[8;1H fileencoding=utf-8[8;21H[K[9;1H bomb[9;7H[K[10;1Hutf-8[10;6H[K[11;1H[K[12;1H[K[13;1H fileencoding=latin1[13;22H[K[14;1Hnobomb[14;7H[K[15;1H[34m<feff>[mutf-8[34m<80>[merr[15;19H[K[16;1H[K[17;1H[K[18;1H fileencoding=utf-16[18;22H[K[19;1H bomb[19;7H[K[20;1Hucs-2[20;6H[K[21;1H[K[22;1H[K[23;1H fileencoding=utf-16le[23;24H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r Xtest0x
[?25l"Xtest0x" [24;11H[K[24;11H1 line, 10 characters[1;23r[1;1H[13M[1;24r[11;3Hbomb
ucs-2le[15;3Hfileencoding=ucs-4
bomb
ucs-4[20;3Hfileencoding=ucs-4le
bomb
ucs-4le
[34m<fe><fe>[mlatin-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest1x
[?25l"Xtest1x" [24;11H[K[24;11H1 line, 9 characters[1;23r[23;1H
[1;24r[23;1H[34m<feff>[mutf-8[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest2x
[?25l"Xtest2x" [24;11H[K[24;11H1 line, 17 characters[1;23r[23;1H
[1;24r[23;1H[23;4Hutf-8[34m<80>[merr[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest3x
[?25l"Xtest3x" [24;11H[K[24;11H1 line, 14 characters[1;23r[23;1H
[1;24r[23;1H[34m<fe><ff>^@[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest4x
[?25l"Xtest4x" [24;11H[K[24;11H[Incomplete last line] 2 lines, 18 characters[1;23r[23;1H
[1;24r[23;1H[34m<ff><fe>[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest5x
[?25l"Xtest5x" [24;11H[K[24;11H1 line, 28 characters[1;23r[1;1H[2M[1;24r[22;1H[34m^@
^@^@<fe><ff>^@^@^@[mu[34m^@^@^@[mc[34m^@^@^@[ms[34m^@^@^@[m-[34m^@^@^@[m4[34m^@^@^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest6x
[?25l"Xtest6x" [24;11H[K[24;11H[Incomplete last line] 2 lines, 36 characters[1;23r[23;1H
[1;24r[23;1H[34m<ff><fe>^@^@[mu[34m^@^@^@[mc[34m^@^@^@[ms[34m^@^@^@[m-[34m^@^@^@[m4[34m^@^@^@[ml[34m^@^@^@[me[34m^@^@^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset nobin ff& " Write the file in default format
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H44 lines, 409 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test43.in" 34 lines, 473 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with various magic settings.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 19 lines, 268 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^1
[?25l[1;23r[23;1H
[1;24r[23;1H1 a aa abb abbccc[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25ha*b\{2}c\+/e
[?25l[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\Md\*e\{2}f\+/e
[?25l[1;23r[23;1H
[1;24r[23;1H2 d dd dee deefff[24;1H[K[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l
:[?12l[?25hset nomagic
[?25l[23;16H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hg\*h\{2}i\+/e
[?25l[1;23r[23;1H
[1;24r[23;1H3 g gg ghh ghhiii[24;1H[K[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l
/[?12l[?25h\mj*k\{2}l\+/e
[?25l[1;23r[23;1H
[1;24r[23;1H4 j jj jkk jkklll[24;1H[K[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l
/[?12l[?25h\vm*n{2}o+/e
[?25l[1;23r[23;1H
[1;24r[23;1H5 m mm mnn mnnooo[24;1H[K[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l
/[?12l[?25h\V^aa$
[?25l[1;23r[23;1H
[1;24r[23;1H6 x ^aa$ x[24;1H[K[23;5H[?12l[?25h[?25laa$ x[23;10H[K[23;5H[?12l[?25h[?25l
:[?12l[?25hset magic
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\v(a)(b)\2\1\1/e
[?25l[1;23r[23;1H
[1;24r[23;1H7 (a)(b) abbaa[24;1H[K[23;14H[?12l[?25h[?25l[23;14H[K[23;13H[?12l[?25h[?25l
/[?12l[?25h\V[ab]\(\[xy]\)\1
[?25l[1;23r[23;1H
[1;24r[23;1H8 axx [ab]xx[24;1H[K[23;7H[?12l[?25h[?25lab]x[23;12H[K[23;7H[?12l[?25h[?25l
:[?12l[?25h$
[?25l[1;23r[1;1H[2M[1;24r[22;1H9 foobar[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset undolevels=100
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H?[?12l[?25hbar?
[?25l[24;5H[K[24;1H[22;6H[K[23;1H[1m[34m~ [22;5H[?12l[?25h[?25l[m
1 more line; before #2 0 seconds ago[22;6Hbar[23;1H[K[22;6H[?12l[?25h[?25l
9 foo
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?^1?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 11L, 137C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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/tag.o tag.c
VIMRUNTIME=../../runtime; export VIMRUNTIME; ../vim -f -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test44.in
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test44.in" 81 lines, 1492 characters[1;1HTests 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
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with multi-byte encoding and various magic settings.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
: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
: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
:[?12l[?25h" Test \%u, [\u] and friends
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" c
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%u20ac
[?25l[1;23r[23;1H
:[?12l[?25h" d
[?25l[23;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\u4f7f\u5929]\+
[?25l[1;23r[23;1H
:[?12l[?25h" e
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%U12345678
[?25l[1;23r[23;1H
:[?12l[?25h" f
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\U1234abcd\u1234\uabcd]
[?25l[1;23r[23;1H
:[?12l[?25h" g
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%d21879b
[?25l[1;23r[23;1H
:[?12l[?25h" j Test backwards search from a multi-byte char
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hx
[?25l[1;23r[23;1H
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" l Test what 7.3.192 fixed
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^l
[?25l[1;23r[23;1H
2 d dd dee deeff
3 g gg ghh ghhii
4 j jj jkk jkkll
5 m mm mnn mnnoo
g abb
[7mtest.out [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =['dog(a', 'cat(']
[?25l[2;1Hdog(a[2;6H[K[3;1Hcat([3;5H[K[12;11H[1m[7m[+][3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25h(/e+
[?25l/(/e+1
[3;4H[?12l[?25h[?25l[24;1H[31msearch hit BOTTOM, continuing at TOP[2;5H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbd!
[?25l[1;1H1 a aa abb abbcc
2 d dd dee deeff
3 g gg ghh ghhii
e y
[1;24r[24;1H[K[23;1H[?12l[?25h[?25la[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hcat(
[?12l[?25h[?25l
:[?12l[?25hw!
[?25l"test.out" 25L, 271C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test45.in" 90 lines, 1953 characters[1;1HTests 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{{ [34m^[[mr{jj:call append("$", foldlevel("."))
kYpj:call append("$", foldlevel("."))[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for folding. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 73 lines, 1820 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:new
iTest fdm=indent and :move bug END
line2[4;9HTest fdm=indent START[5;9Hline3[6;9Hline4[34m^[[m
: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" We also need the +syntax feature here.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has("syntax")
[?25l
: [?12l[?25h e! test.ok
[?25l: [?12l[?25h w! test.out
[?25l: [?12l[?25h qa!
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:new
iTest fdm=indent and :move bug END
line2[4;9HTest fdm=indent START[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" basic test if a fold can be created, opened, moving to the end and closed
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^1
[?25l[14;1H[?12l[?25h[?25l[34m[47m+-- 3 lines: 1 aa--------------------------------------------------------------[m[15;1H4 dd {{{
5 ee {{{ }}}
6 ff }}}
7 gg[18;6H[K[19;1H8 hh[19;6H[K[20;1H9 ii
a jj
b kk
last[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", "manual " . getline(foldclosed(".")))
[?25l[14;1H[?12l[?25h[?25l1 aa[14;5H[K[15;1H2 bb[15;6H[K[16;1H3 cc[16;6H[K[17;1H4 dd {{{
5 ee {{{ }}}
6 ff }}}
7 gg
8 hh
9 ii
a jj[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldclosed("."))
[?25l[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", getline("."))
[?25l[16;1H[?12l[?25h[?25l[14;1H[34m[47m+-- 3 lines: 1 aa--------------------------------------------------------------[m[15;1H4 dd {{{
5 ee {{{ }}}
6 ff }}}
7 gg[18;6H[K[19;1H8 hh[19;6H[K[20;1H9 ii
a jj
b kk
last[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", getline(foldclosed(".")))
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test folding with markers.
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fdm=marker fdl=1 fdc=3
[?25l[1;1H[34m[47m [m:new
[34m[47m [miTest fdm=indent and :move bug END
[34m[47m [mline2
[34m[47m [m Test fdm=indent START
[34m[47m [m line3
[34m[47m [m line4[34m^[[m
[34m[47m [m:set fdm=indent
[34m[47m [m:1m1
[34m[47m [m2jzc:m0
[34m[47m [m:%w >> test.out
[34m[47m [m:qa!
[34m[47m [mENDTEST
[34m[47m
[m1 aa[14;8H[K[15;1H[34m[47m [m2 bb[15;8H[K[16;1H[34m[47m [m3 cc[16;8H[K[17;1H[34m[47m- [m4 dd {{{
[34m[47m|- [m5 ee {{{ }}}
[34m[47m| [m6 ff }}}
[34m[47m [m7 gg
[34m[47m [m8 hh
[34m[47m [m9 ii
[34m[47m [ma jj[16;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^5
[?25l[18;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", "marker " . foldlevel("."))
[?25l[18;4H[?12l[?25h[17;4H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[17;4H[?12l[?25h[18;4H[?25l[20;23r[20;1H[L[1;24r[19;4H{{ [19;7H[K[20;1H[34m[47m| [m6 ff }}}[24;1H[K[19;6H[?12l[?25h[?25l[19;2H[34m[47m-[m[3C{[20;2H[34m[47m|
|
|
|[19;6H[?12l[?25h[20;6H[21;6H[?25l
[m:[?12l[?25hcall append("$", foldlevel("."))
[?25l[21;6H[?12l[?25h[20;6H[?25l[21;4H6 ff }}}
[34m[47m [m[2C7 gg
[34m[47m [m[2C8 hh[21;4H[?12l[?25h[22;4H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[22;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test folding with indent
[?25l[22;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fdm=indent sw=2
[?25l[4;1H[34m[47m-+[m[1C[34m[47m+--- 3 lines: Test fdm=indent START-----------------------------------------[m[5;4H:set fdm=indent[6;4H:1m1[6;12H[K[7;4H2jzc:m0[7;11H[K[8;5H%w >> test.out[9;4H:qa![9;8H[K[10;4HENDTEST[10;11H[K[11;4H[K[12;4H1 aa[12;8H[K[13;4H2 bb[14;4H3 cc[15;4H4 dd {{{[16;4H5 ee {{{ }}}
[34m[47m [m[2C{{{[17;7H[K[18;1H[34m[47m [m[1C6 ff }}}[18;13H[K[19;1H[34m[47m [m[1C6 ff }}}
[34m[47m [m[1C7 gg[20;9H[K[21;1H[34m[47m [m[2C8 hh[21;9H[K[22;4H9 ii[23;4Ha jj[20;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^2 b
[?25l[31msearch hit BOTTOM, continuing at TOP[13;4H[?12l[?25h[?25l[m
[34m[47m-[m[2C 2 bb[?12l[?25h[14;5H[?25l
[34m[47m|-[m[1C 3 cc[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", "indent " . foldlevel("."))
[?25l[14;7H[?12l[?25h[13;7H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[13;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test syntax folding
[?25l[13;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fdm=syntax fdl=0
[?25l[4;1H[34m[47m [m[1C Test fdm=indent START[4;33H[K[5;4H line3[5;17H[K[6;4H line4[34m^[[m[7;4H:set fdm=indent[8;5H1m1[8;8H[K[9;4H2jzc:m0[10;4H:%w >> test.out[11;4H:qa![12;4HENDTEST
[34m[47m [m[13;6H[K[14;1H[34m[47m [m[1C1 aa[14;8H[K[15;4H 2 bb[15;10H[K[16;4H 3 cc[16;13H[K[17;4H4 dd {{{[18;4H5 ee {{{ }}}[19;4H{{{[19;7H[K[20;4H6 ff }}}[21;4H6 ff }}}[22;4H7 gg[23;4H8 hh[15;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn region Hup start="dd" end="ii" fold contains=Fd1,Fd2,Fd3
[?25l[17;1H[34m[47m+[m[2C[34m[47m+-- 8 lines: 4 dd ----------------------------------------------------------[m[18;4Ha jj[18;9H[K[19;4Hb kk[20;4Hlast[20;9H[K[21;4Hmanual 1 aa[22;4H-1[22;6H[K[23;4H3 cc[15;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn region Fd1 start="ee" end="ff" fold contained
[?25l[15;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn region Fd2 start="gg" end="hh" fold contained
[?25l[15;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn region Fd3 start="commentstart" end="commentend" fold contained
[?25l[15;7H[?12l[?25h[?25l[1;23r[1;1H[7M[1;24r[17;1H[34m[47m [m1 aa
[34m[47m [mmarker 2
[34m[47m [m1
[34m[47m [m1
[34m[47m [m0
[34m[47m [mindent 2
[34m[47m [m1[24;1H[K[23;4H[?12l[?25h[10;4H[?25l[24;1H:[?12l[?25hcall append("$", "folding " . getline("."))
[?25l[10;4H[?12l[?25h[9;4H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", getline("."))
[?25l[9;4H[?12l[?25h[10;4H[?25l
[34m[47m--[m[1C4 dd {{{commentstart [10;26H[K[11;1H[34m[47m||[m[1C5 ee {{{ }}}
[34m[47m||[m[1C{{{[12;7H[K[13;1H[34m[47m||[m[1C6 ff }}}
[34m[47m||[m[1C6 ff }}}[14;13H[K[15;1H[34m[47m||[m[1C7 gg
[34m[47m||[m[1C8 hh
[34m[47m||[m[1C9 ii
[34m[47m||[m[1Ca jj[18;8H[K[19;1H[34m[47m||[m[1Cb kk
[34m[47m||[m[1Clast
[34m[47m||[m[1Cmanual 1 aa
[34m[47m||[m[1C-1[22;6H[K[23;1H[34m[47m||[m[1C3 cc[10;25H[?12l[?25h[?25l[10;2H[34m[47m [m[23Ccommentend[11;2H[34m[47m-[14;2H
|-
|
[10;35H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fdl=1
[?25l[11;2H[34m[47m+[m[1C[34m[47m+--- 3 lines: 5 ee ---------------------------------------------------------[m[12;2H[34m[47m [m[1C6 ff }}}[13;2H[34m[47m+[m[1C[34m[47m+--- 2 lines: 7 gg----------------------------------------------------------[m[14;4H9 ii[14;9H[K[15;1H[34m[47m [m[1Ca jj
[34m[47m [m[1Cb kk
[34m[47m [m[2Clast[18;4Hmanual 1 aa[19;4H-1[19;6H[K[20;4H3 cc[21;4H1 aa[21;8H[K[22;4Hmarker 2[23;4H1[23;6H[K[10;35H[?12l[?25h[13;4H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", getline("."))
[?25l[13;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fdl=0
[?25l[10;1H[34m[47m+[m[2C[34m[47m+-- 8 lines: 4 dd commentstart commentend----------------------------------[m[11;1H[34m[47m [m[1Ca jj[11;8H[K[12;1H[34m[47m [m[2Cb kk[12;9H[K[13;1H[34m[47m [m[1Clast[13;8H[K[14;1H[34m[47m [m[2Cmanual 1 aa[15;4H-1[15;6H[K[16;4H3 cc[17;4H1 aa[18;6Hrker 2[18;13H[K[19;4H1[19;5H[K[20;4H1[20;6H[K[21;4H0[21;6H[K[22;4Hindent[10;4H[?12l[?25h[?25l
[34m[47m-[m[2C4 dd {{{commentstart commentend[10;36H[K[11;1H[34m[47m|-[m[1C5 ee {{{ }}}
[34m[47m||[m[1C{{{[12;7H[K[13;1H[34m[47m||[m[1C6 ff }}}
[34m[47m|[m[2C6 ff }}}[14;13H[K[15;1H[34m[47m|-[m[1C7 gg
[34m[47m||[m[1C8 hh
[34m[47m|[m[2C9 ii[18;4Ha jj[18;8H[K[19;4Hb kk[20;4Hlast[21;4Hmanual 1 aa[22;4H-1[22;6H[K[23;4H3 cc[15;7H[?12l[?25h[27m[23m[m[H[2J[?25l[1;1H[34m[47m [m:1m1
[34m[47m [m2jzc:m0
[34m[47m [m:%w >> test.out
[34m[47m [m:qa!
[34m[47m [mENDTEST
[34m[47m
[m1 aa
[34m[47m [m 2 bb
[34m[47m [m 3 cc
[34m[47m- [m4 dd {{{commentstart commentend
[34m[47m|- [m5 ee {{{ }}}
[34m[47m|| [m{{{
[34m[47m|| [m6 ff }}}
[34m[47m| [m6 ff }}}
[34m[47m|- [m7 gg
[34m[47m|| [m8 hh
[34m[47m| [m9 ii
[34m[47m [ma jj
[34m[47m [mb kk
[34m[47m [mlast
[34m[47m [mmanual 1 aa
[34m[47m [m-1
[34m[47m [m3 cc[15;7H[?12l[?25h[16;4H[?25l[24;1H:[?12l[?25hcall append("$", getline("."))
[?25l[16;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test expression folding
[?25l[16;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[12L[?25l[1;1H[34m[47m [m:1m1
[34m[47m [m2jzc:m0
[34m[47m [m:%w >> test.out
[34m[47m [m:qa!
[34m[47m [mENDTEST
[34m[47m
[m1 aa
[34m[47m [m 2 bb
[34m[47m [m 3 cc
[34m[47m- [m4 dd {{{commentstart commentend
[34m[47m|- [m5 ee {{{ }}}
[34m[47m|| [m{{{[24;1H[K[16;4H[?12l[?25h[?25l[24;1H:[?12l[?25hset fdm=expr fde=Flvl()
[?25l[8;1H[34m[47m+[m[2C[34m[47m+-- 11 lines: 2 bb-----------------------------------------------------------[m[9;4Hb kk[9;8H[K[10;1H[34m[47m [m[2Clast[10;9H[K[11;1H[34m[47m [m[1Cmanual 1 aa[11;15H[K[12;1H[34m[47m [m[1C-1[12;6H[K[13;1H[34m[47m [m[1C3 cc[13;9H[K[14;1H[34m[47m [m[2C1 aa[14;9H[K[15;1H[34m[47m [m[1Cmarker 2
[34m[47m [m[1C1[16;6H[K[17;1H[34m[47m [m[2C1[17;6H[K[18;4H0[18;6H[K[19;4Hindent 2[20;4H1[20;5H[K[21;1H[34m[47m+[m[2C[34m[47m+-- 4 lines: folding 9 ii---------------------------------------------------[m[22;4H[1m[34m~ [23;4H~ [8;4H[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25hbb$
[?25l[31msearch hit BOTTOM, continuing at TOP[m[8;1H[34m[47m--[m[1C 2 bb[8;10H[K[9;1H[34m[47m||[m[1C 3 cc
[34m[47m||[m[1C4 dd {{{commentstart commentend
[34m[47m||[m[1C5 ee {{{ }}}
[34m[47m||[m[1C{{{
[34m[47m||[m[1C6 ff }}}
[34m[47m||[m[1C6 ff }}}
[34m[47m||[m[1C7 gg[15;8H[K[16;1H[34m[47m|[m[2C8 hh
[34m[47m|+[m[1C[34m[47m+--- 2 lines: 9 ii----------------------------------------------------------[m[18;4Hb kk[19;4Hlast[19;8H[K[20;4Hmanual 1 aa
[34m[47m [m[2C-1[21;6H[K[22;4H3 cc[22;8H[K[23;4H1 aa[23;8H[K[8;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", "expr " . foldlevel("."))
[?25l[8;8H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hhh$
[?25l[16;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[16;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hii$
[?25l[17;2H[34m[47m-[m[1C9 ii[17;8H[K[18;1H[34m[47m||[m[1Ca jj[19;4Hb kk[20;4Hlast[20;8H[K[21;4Hmanual 1 aa[22;4H-1[22;6H[K[23;4H3 cc[17;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[17;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hkk$
[?25l[19;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[19;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^last/+1,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 18 lines, 96 characters written[19;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfun Flvl
[?25l[19;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;4H[K[8;1H[34m[47m
[m[2;4H[1m[34m~ [3;4H~ [4;4H~ [5;4H~ [6;4H~ [7;4H~ [8;4H~ [9;4H~ [10;4H~ [11;4H~ [m[12;1H[1m[7m[No Name] [m[13;4H5 ee {{{ }}}[14;4H{{{[14;7H[K[15;4H6 ff }}}[16;2H[34m[47m|[m[1C6 ff }}}[17;2H[34m[47m|[m[1C7 gg[18;2H[34m[47m [m[1C8 hh
[34m[47m|-[m[1C9 ii
[34m[47m||[m[1Ca jj[21;4Hb kk[21;8H[K[22;4Hlast
[7mtest45.in [+] [1;4H[?12l[?25h[?25l[mTest fdm=indent and :move bug END[2;4Hline2[2;9H[K[3;4H Test fdm=indent START[3;33H[K[4;4H line3[4;17H[K[5;4H line4[5;17H[K[12;11H[1m[7m[+][5;16H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fdm=indent
[?25l[3;1H[34m[47m+[m[2C[34m[47m+-- 3 lines: Test fdm=indent START------------------------------------------[m[4;4H[1m[34m~ [5;4H~ [3;4H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h1m1
[?25l[1;4H[?12l[?25h[3;4H[?25l[24;1H[K[24;1H:[?12l[?25hm0
[?25l3 lines moved[1;1H[34m[47m+[m[2C[34m[47m+-- 3 lines: Test fdm=indent START------------------------------------------[m[2;4HTest fdm=indent and :move bug END
[34m[47m [m[2Cline2[3;9H[K[1;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%w >> test.out
[?25l"test.out" [24;12H[K[24;12H5 lines, 77 characters appended[12;1H[1m[7mtest.out [+]] [1;4H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test48.in" 83 lines, 1658 characters[1;1HThis 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[34m^N^[[m
:"
:" Using "C" then then <CR> moves the last remaining character to the next
:" line. (Mary Ellen Foster)
j^/are
C[34m^M[mare belong to vim[34m^[[m
:"
:" When past the end of a line that ends in a single character "b" skips
:" that word.
^$15lbC7[34m^[[m
:"
:" Make sure 'i' works[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HThis is a test of 'virtualedit'.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 61 lines, 1442 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:set display=
:"
:" Test for ^Y/^E due to bad w_virtcol value, reported by
:" Roy <royl@netropolis.net>.
^O[34m^[[m3li[34m^E^[[m4li[34m^E^[[m4li[34m^E[m <-- should show the name of a noted text editor[34m^[[m
^o[34m^[[m4li[34m^Y^[[m4li[34m^Y^[[m4li[34m^Y[m <-- and its version number[34m^[[m-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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noswf
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=all
[?25l[13;1H[?12l[?25h[12;1H[?25l[24;1H65 fewer lines[1;23r[1;1H[12M[1;24r[12;1Hthis is a test
"r"
"r"
a[34m^V[mb[34m^M[msd
abcv6efi.him0kl
[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[24;1H65 fewer lines[1;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Insert "keyword keyw", ESC, C CTRL-N, shows "keyword ykeyword".
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Repeating CTRL-N fixes it. (Mary Ellen Foster)
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hw
[?25l[2;12H[?12l[?25h[?25l$[24;1H[32mScanning tags.[m
The only match[2;16H[24;1H[K[2;12Hword[?12l[?25h[3;15H[?25l[24;1H:[?12l[?25h"
[?25l[3;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Using "C" then then <CR> moves the last remaining character to the next
[?25l[3;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" line. (Mary Ellen Foster)
[?25l[3;15H[?12l[?25h[4;15H
[?25l[24;1H[K[24;1H/[?12l[?25hare
[?25l[31msearch hit BOTTOM, continuing at TOP[3;15H[?12l[?25h[?25l[m[15C$[3;15H[K[4;1Hare belong to vim
1 2 3 4 5 6
'i
'C
'a
'A
'D'[10;4H[K[13;1Hthis is a test
"r"
a[34m^V[mb[34m^M[msd[16;9H[K[17;1Habcv6efi.him0kl[19;1H[K[4;17H[?12l[?25h[5;17H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[5;17H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When past the end of a line that ends in a single character "b" skips
[?25l[5;17H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" that word.
[?25l[5;17H[?12l[?25h
[10C[15C[5;11H[?25l$7[?12l[?25h[6;11H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[6;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'i' works
[?25l[6;11H[?12l[?25h
'i' [?25l<-- should be 3 ' '[?12l[?25h[7;25H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[7;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'C' works
[?25l[7;25H[?12l[?25h
'C' [?25l$<-- should be 3 ' '[?12l[?25h[8;25H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[8;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'a' works
[?25l[8;25H[?12l[?25h
'a' [?25l <-- should be 4 ' '[?12l[?25h[9;26H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'A' works
[?25l[9;26H[?12l[?25h
'A' [?25l<-- should be 0 ' '[?12l[?25h[10;22H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[10;22H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'D' works
[?25l[10;22H[?12l[?25h
'D' [?25l<-- 'D' should be intact[?12l[?25h[11;30H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[11;30H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for yank bug reported by Mark Waggoner.
[?25l[11;30H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=block
[?25l[11;14H[?12l[?25h
[8C[?25l[?12l[?25h[?25l[7ma[12;9Ha[13;9Ha[14;9H[?12l[?25h[?25l[m[11;9Ha[12;9Ha[13;9Ha[24;1Hblock of 4 lines yanked[11;9H[?12l[?25h[19;1H[?25l[24;1H3 more lines[24;13H[K[19;1Ha
a[20;2H[K[21;1Ha[21;2H[K[22;1H [22;2H[K[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test "r" beyond the end of the line
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=all
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^"r"
[?25l[31msearch hit BOTTOM, continuing at TOP[14;1H[?12l[?25h[m"r" [?25lx[?12l[?25h[?25lx<-- should be 'x'[?12l[?25h[15;25H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[15;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test "r" on a tab
[?25l[15;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Note that for this test, 'ts' must be 8 (the default).
[?25l[15;25H[?12l[?25h
"r" [?25lx[?12l[?25h[?25lx <-- should be ' x '[?12l[?25h[16;29H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[16;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test to make sure 'x' can delete control characters
[?25l[16;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset display=uhex
[?25l[16;2H[34m<16>[mb[34m<0d>[msd[20C[?12l[?25h
[?25l[34m<16>[mb[34m<0d>[msd[16;12H[K[16;1H[?12l[?25h[?25lb[34m<0d>[msd[16;8H[K[16;1H[?12l[?25h[?25l[34m<0d>[msd[16;7H[K[16;1H[?12l[?25h[?25lsd[16;3H[K[16;1H[?12l[?25h[?25ld[16;2H[K[16;1H[?12l[?25h[?25l[16;1H[K[16;1H[?12l[?25h[?25l[This line should contain only the text between the brackets.][?12l[?25h[17;62H[?25l[24;1H[K[24;1H:[?12l[?25hset display=
[?25l[17;62H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[17;62H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for ^Y/^E due to bad w_virtcol value, reported by
[?25l[17;62H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Roy <royl@netropolis.net>.
[?25l[17;62H[?12l[?25h
[?25l[17;23r[17;1H[L[1;24r[24;1H[K[17;1H[?12l[?25h [?25lv[?12l[?25hv [?25li[?12l[?25hi [?25lm <-- should show the name of a noted text editor[?12l[?25h[18;62H
[?25l[19;23r[19;1H[L[1;24r[19;1H[?12l[?25h [?25l6[?12l[?25h6 [?25l.[?12l[?25h. [?25l0 <-- and its version number[?12l[?25h[18;1H[?25l[18;23r[23;1H
[1;24r[18;5H[?12l[?25h
[?25l[24;1H:[?12l[?25h"
[?25l[19;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for yanking and pasting using the small delete register
[?25l[19;5H[?12l[?25h[1;1H[?25l[24;1H[K[24;1H/[?12l[?25h^foo
[?25l[31msearch hit BOTTOM, continuing at TOP[1;1H[?12l[?25h[?25l[m, bar[1;6H[K[1;1H[?12l[?25h, [?25l[?12l[?25h[?25l[7mba[?12l[?25h[?25l[?12l[?25h[?25l[mfoo[?12l[?25h
keyw[?25l[24;1H[K[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test51.in" 36 lines, 809 characters[1;1HTests 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=#000[11;1Hff00 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for ":highlight". vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 31 lines, 747 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[13M[1;24r[11;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" basic test if ":highlight" doesn't crash
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhighlight
[?25l
SpecialKey [34mxxx[m [34mterm=[mbold [34mctermfg=[m4 [34mguifg=[mBlue
EndOfBuffer [1m[34mxxx[m [34mlinks to[m NonText
NonText[8C[1m[34mxxx[m [34mterm=[mbold [34mcterm=[mbold [34mctermfg=[m4 [34mgui=[mbold [34mguifg=[mBlue
Directory [34mxxx[m [34mterm=[mbold [34mctermfg=[m4 [34mguifg=[mBlue
ErrorMsg[7C[1m[37m[41mxxx[m [34mterm=[mstandout [34mcterm=[mbold [34mctermfg=[m7 [34mctermbg=[m1 [34mguifg=[mWhite
[19C[34mguibg=[mRed
IncSearch [7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mgui=[mreverse
Search[9C[30m[43mxxx[m [34mterm=[mreverse [34mctermfg=[m0 [34mctermbg=[m3 [34mguibg=[mYellow
MoreMsg[8C[32mxxx[m [34mterm=[mbold [34mctermfg=[m2 [34mgui=[mbold [34mguifg=[mSeaGreen
ModeMsg[8C[1mxxx[m [34mterm=[mbold [34mcterm=[mbold [34mgui=[mbold
LineNr[9C[33mxxx[m [34mterm=[munderline [34mctermfg=[m3 [34mguifg=[mBrown
CursorLineNr [33mxxx[m [34mterm=[mbold [34mctermfg=[m3 [34mgui=[mbold [34mguifg=[mBrown
Question[7C[32mxxx[m [34mterm=[mstandout [34mctermfg=[m2 [34mgui=[mbold [34mguifg=[mSeaGreen
StatusLine [1m[7mxxx[m [34mterm=[mbold,reverse [34mcterm=[mbold,reverse [34mgui=[mbold,reverse
StatusLineNC [7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mgui=[mreverse
VertSplit [7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mgui=[mreverse
Title[10C[35mxxx[m [34mterm=[mbold [34mctermfg=[m5 [34mgui=[mbold [34mguifg=[mMagenta
Visual[9C[7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mguibg=[mLightGrey
VisualNOS [1m[4mxxx[m [34mterm=[mbold,underline [34mcterm=[mbold,underline [34mgui=[mbold,underline
WarningMsg [31mxxx[m [34mterm=[mstandout [34mctermfg=[m1 [34mguifg=[mRed
WildMenu[7C[30m[43mxxx[m [34mterm=[mstandout [34mctermfg=[m0 [34mctermbg=[m3 [34mguifg=[mBlack [34mguibg=[mYellow
Folded[9C[34m[47mxxx[m [34mterm=[mstandout [34mctermfg=[m4 [34mctermbg=[m7 [34mguifg=[mDarkBlue
[19C[34mguibg=[mLightGrey
FoldColumn [34m[47mxxx[m [34mterm=[mstandout [34mctermfg=[m4 [34mctermbg=[m7 [34mguifg=[mDarkBlue [34mguibg=[mGrey
DiffAdd[8C[44mxxx[m [34mterm=[mbold [34mctermbg=[m4 [34mguibg=[mLightBlue
DiffChange [45mxxx[m [34mterm=[mbold [34mctermbg=[m5 [34mguibg=[mLightMagenta
DiffDelete [1m[34m[46mxxx[m [34mterm=[mbold [34mcterm=[mbold [34mctermfg=[m4 [34mctermbg=[m6 [34mgui=[mbold [34mguifg=[mBlue
[19C[34mguibg=[mLightCyan
DiffText[7C[1m[41mxxx[m [34mterm=[mreverse [34mcterm=[mbold [34mctermbg=[m1 [34mgui=[mbold [34mguibg=[mRed
SignColumn [34m[47mxxx[m [34mterm=[mstandout [34mctermfg=[m4 [34mctermbg=[m7 [34mguifg=[mDarkBlue [34mguibg=[mGrey
Conceal[8C[37m[40mxxx[m [34mctermfg=[m7 [34mctermbg=[m0 [34mguifg=[mLightGrey [34mguibg=[mDarkGrey
SpellBad[7C[41mxxx[m [34mterm=[mreverse [34mctermbg=[m1 [34mgui=[mundercurl [34mguisp=[mRed
SpellCap[7C[44mxxx[m [34mterm=[mreverse [34mctermbg=[m4 [34mgui=[mundercurl [34mguisp=[mBlue
SpellRare [45mxxx[m [34mterm=[mreverse [34mctermbg=[m5 [34mgui=[mundercurl [34mguisp=[mMagenta
SpellLocal [46mxxx[m [34mterm=[munderline [34mctermbg=[m6 [34mgui=[mundercurl [34mguisp=[mDarkCyan
Pmenu[10C[30m[45mxxx[m [34mctermfg=[m0 [34mctermbg=[m5 [34mguibg=[mLightMagenta
PmenuSel[7C[30m[47mxxx[m [34mctermfg=[m0 [34mctermbg=[m7 [34mguibg=[mGrey
PmenuSbar [47mxxx[m [34mctermbg=[m7 [34mguibg=[mGrey
PmenuThumb [40mxxx[m [34mctermbg=[m0 [34mguibg=[mBlack
TabLine[8C[4m[30m[47mxxx[m [34mterm=[munderline [34mcterm=[munderline [34mctermfg=[m0 [34mctermbg=[m7
[19C[34mgui=[munderline [34mguibg=[mLightGrey
TabLineSel [1mxxx[m [34mterm=[mbold [34mcterm=[mbold [34mgui=[mbold
TabLineFill [7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mgui=[mreverse
CursorColumn [47mxxx[m [34mterm=[mreverse [34mctermbg=[m7 [34mguibg=[mGrey90
CursorLine [4mxxx[m [34mterm=[munderline [34mcterm=[munderline [34mguibg=[mGrey90
ColorColumn [41mxxx[m [34mterm=[mreverse [34mctermbg=[m1 [34mguibg=[mLightRed
Cursor[9Cxxx [34mguifg=[mbg [34mguibg=[mfg
lCursor[8Cxxx [34mguifg=[mbg [34mguibg=[mfg
MatchParen [46mxxx[m [34mterm=[mreverse [34mctermbg=[m6 [34mguibg=[mCyan
Normal[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Search
[?25l
Search[9C[30m[43mxxx[m [34mterm=[mreverse [34mctermfg=[m0 [34mctermbg=[m3 [34mguibg=[mYellow
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" test setting colors.
[?25l[27m[23m[m[H[2J[1;1H: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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi NewGroup term=bold cterm=italic ctermfg=DarkBlue ctermbg=Grey gui= guifg=#0
[23;80H0[24;1Hff00 guibg=Cyan
[?25l[23;1H[1m[37m[41mE418: Illegal value: guifg=#00ff00[m[23;35H[K[24;1H[K[24;1H[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group2 term= cterm=
[?25l[1m[37m[41mE418: Illegal value: cterm=[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group3 term=underline cterm=bold
[?25l[1;1H[2L[1;1H:hi NewGroup
:hi Group2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hredir! >test.out
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi NewGroup
[?25l
NewGroup[7C[3m[34m[47mxxx[23m[m [34mterm=[mbold [34mcterm=[mitalic [34mctermfg=[m4 [34mctermbg=[m7
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group2
[?25l
Group2[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group3
[?25l
Group3[9C[1mxxx[m [34mterm=[munderline [34mcterm=[mbold
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi clear NewGroup
[?25l[1;1H[6L[1;1H:hi NewGroup
:hi Group2
:hi Group3
:hi clear NewGroup
:hi NewGroup
:hi Group2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hhi NewGroup
[?25l
NewGroup[7Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group2
[?25l
Group2[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group2 NONE
[?25l[1;1H[4L[1;1H:hi NewGroup
:hi Group2
:hi Group3
:hi clear NewGroup[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hhi Group2
[?25l
Group2[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi clear
[?25l[27m[23m[m[H[2J[1;1H: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
Group3[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Crash term='asdf
[?25l[1m[37m[41mE475: Invalid argument: term='asdf[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[3L[1;1H:hi NewGroup
:hi Group2
:hi Group3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" filter ctermfg and ctermbg, the numbers depend on the terminal
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H20 lines, 289 characters[1;1H[K[2;1H[K[3;1HNewGroup xxx term=bold cterm=italic ctermfg=4 ctermbg=7[4;1H[K[5;1HGroup2 xxx cleared[6;1H[K[7;1HGroup3 xxx term=underline cterm=bold[8;1H[K[9;1H[K[10;1HNewGroup xxx cleared[11;1H[K[12;1HGroup2 xxx cleared[13;1H[K[14;1H[K[15;1HGroup2 xxx cleared[16;1H[K[17;1H[K[18;1HGroup3 xxx cleared[19;1H[K[20;1HE475: Invalid argument: term='asdf
[1m[34m~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h%s/ctermfg=\d*/ctermfg=2/
[?25l[3;51H2
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%s/ctermbg=\d*/ctermbg=3/
[?25l[3;61H3
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" filter out possibly translated error message
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%s/E475: [^:]*:/E475:/
[?25l[20;7Hterm='asdf[20;17H[K[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" fix the fileformat
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff&
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test53.in" 75 lines, 1763 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for string and html text objects. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 47 lines, 1237 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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>-[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start:/
[?25l[24;9H[K[24;1H[14;1H[?12l[?25h[?25l[7Cfo[14;11H[K[14;8H[?12l[?25h[15;8H
[?25l[?12l[?25h[?25l[7m'foo'[?12l[?25h[?25l 'bar'[?12l[?25h[?25l[m
xxxxxxxxxxxx
[?12l[?25h
[14C[?25lblah[16;13H[K[16;9H[?12l[?25h[17;9H
[12C[?25l"[17;12H[K[17;11H[?12l[?25h[18;11H
[9C[?25l[?12l[?25h[?25l'[7m rep[?12l[?25h[?25l[myyyyy[?12l[?25h[19;11H[?25l[24;1H[K[24;1H:[?12l[?25hset quoteescape=+*-
[?25l[19;11H[?12l[?25h[?25l` b`la[19;12H[K[19;6H[?12l[?25h[20;6H[29C[?25l[?12l[?25h[?25l[7m" sdf"[?12l[?25h[?25l[m"[5C[7m [20;27H[?12l[?25h[?25l"[?12l[?25h[?25l[20;16H asdf" sdf [20;15H[?12l[?25h[?25l[20;7Hah" sdf "
[mvoo "[?12l[?25h[?25lzzzzzzzzzzzzzzzzzzzzzzzzzzzz
voo "[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^<begin
[?25l[22;1H[?12l[?25h
[11C[?25l</i>asdf</b>-[23;25H[K[23;12H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-<b>asdX<i>a<i />sdf</i>asdf</b>-[24;1H[K[23;12H[?12l[?25h
[7C[?25l</b>-[23;10H[K[23;5H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-<b>asdf<i>Xasdf</i>asdf</b>-
-<b>[?12l[?25h[7C[?25lasdf</b>-[23;18H[K[23;9H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-<b>asdX<i>as<b />df</i>asdf</b>-[23;9H[?12l[?25h
[7C[?25l
--[23;3H[K[23;2H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-<b>
-[?12l[?25h[?25l<b></b>[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H</begin>[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hput =matchstr(\"abcd\", \".\", 0, 2) " b
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =matchstr(\"abcd\", \"..\", 0, 2) " bc
[?25l[1;23r[23;1H
[1;24r[23;1Hbc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =matchstr(\"abcd\", \".\", 2, 0) " c (zero and negative -> first match)
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =matchstr(\"abcd\", \".\", 0, -1) " a
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match(\"abcd\", \".\", 0, 5) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match(\"abcd\", \".\", 0, -1) " 0
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 0, 1) " 0
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 0, 2) " 1
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 0, 3) " 2
[?25l[1;23r[23;1H
[1;24r[23;1H2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 0, 4) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 1, 1) " 1
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 2, 1) " 2
[?25l[1;23r[23;1H
[1;24r[23;1H2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 3, 1) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 0, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 0, 2) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 1, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 2, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 3, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 4, 1) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 1) " 0
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 2) " 1
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 3) " 2
[?25l[1;23r[23;1H
[1;24r[23;1H2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 4) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 5) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 1, 1) " 1
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 2, 1) " 2
[?25l[1;23r[23;1H
[1;24r[23;1H2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 3, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 4, 1) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^start:/,/^end:/wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[Kgcc -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
[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test55.in" 586 lines, 12256 characters[1;1HTests 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])
:"[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for List and Dictionary types. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 580 lines, 12170 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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[34m^R[m=a[34m^M^[[m:"
:lang C
:redir => a
:try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
:redir END
o[34m^R[m=a[34m^M^[[m:"
:"
:/^start:/,$wq! test.out
ENDTEST
start:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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:[8C[?12l[?25h: return "a:". a:a
[?25l:[8C[?12l[?25h:endfunc
[?25l:[8C[?12l[?25h:$put =d.func(string(remove(d, 'func')))
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Nasty: deepcopy() dict that refers to itself (fails when noref used
[23;80H)[24;1H
[?25l:[8C[?12l[?25h:let d = {1:1, 2:2}
[?25l:[8C[?12l[?25h:let l = [4, d, 6]
[?25l:[8C[?12l[?25h:let d[3] = l
[?25l:[8C[?12l[?25h:let dc = deepcopy(d)
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: let dc = deepcopy(d, 1)
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:14]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:let l2 = [0, l, l, 3]
[?25l:[8C[?12l[?25h:let l[1] = l2
[?25l:[8C[?12l[?25h:let l3 = deepcopy(l2)
[?25l:[8C[?12l[?25h:$put ='same list: ' . (l3[1] is l3[2])
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Locked variables
[?25l:[8C[?12l[?25h:for depth in range(5)
[?25l:[10C[?12l[?25h: $put ='depth is ' . depth
[?25l:[10C[?12l[?25h: for u in range(3)
[?25l:[12C[?12l[?25h: unlet l
[?25l:[12C[?12l[?25h: let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]
[?25l:[12C[?12l[?25h: exe "lockvar " . depth . " l"
[?25l:[12C[?12l[?25h: if u == 1
[?25l:[14C[?12l[?25h: exe "unlockvar l"
[?25l:[14C[?12l[?25h: elseif u == 2
[?25l:[14C[?12l[?25h: exe "unlockvar " . depth . " l"
[?25l:[14C[?12l[?25h: endif
[?25l:[12C[?12l[?25h: let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").i
[23;80Hs[24;1Hlocked("l[1][1][0]").'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2][
[23;80H'[24;1H6'][7]")
[?25l:[12C[?12l[?25h: $put =ps
[?25l:[12C[?12l[?25h: let ps = ''
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[1][1][0] = 99
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[1][1] = [99]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[1] = [99]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[2]['6'][7] = 99
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[2][6] = {99: 99}
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[2] = {99: 99}
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l = [99]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: $put =ps
[?25l:[12C[?12l[?25h: endfor
[?25l:[10C[?12l[?25h:endfor
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Unletting locked variables
[?25l:[8C[?12l[?25h:$put ='Unletting:'
[?25l:[8C[?12l[?25h:for depth in range(5)
[?25l:[10C[?12l[?25h: $put ='depth is ' . depth
[?25l:[10C[?12l[?25h: for u in range(3)
[?25l:[12C[?12l[?25h: unlet l
[?25l:[12C[?12l[?25h: let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]
[?25l:[12C[?12l[?25h: exe "lockvar " . depth . " l"
[?25l:[12C[?12l[?25h: if u == 1
[?25l:[14C[?12l[?25h: exe "unlockvar l"
[?25l:[14C[?12l[?25h: elseif u == 2
[?25l:[14C[?12l[?25h: exe "unlockvar " . depth . " l"
[?25l:[14C[?12l[?25h: endif
[?25l:[12C[?12l[?25h: let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").i
[23;80Hs[24;1Hlocked("l[1][1][0]").'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2][
[23;80H'[24;1H6'][7]")
[?25l:[12C[?12l[?25h: $put =ps
[?25l:[12C[?12l[?25h: let ps = ''
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[2]['6'][7]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[2][6]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[2]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[1][1][0]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[1][1]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[1]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: $put =ps
[?25l:[12C[?12l[?25h: endfor
[?25l:[10C[?12l[?25h:endfor
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Locked variables and :unlet or list / dict functions
[?25l:[8C[?12l[?25h:$put ='Locks and commands or functions:'
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='No :unlet after lock on dict:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar 1 d
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: unlet d.a
[?25l:[10C[?12l[?25h: $put ='did :unlet'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:16]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put =':unlet after lock on dict item:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar d.a
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: unlet d.a
[?25l:[10C[?12l[?25h: $put ='did :unlet'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:16]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='filter() after lock on dict item:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar d.a
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: call filter(d, 'v:key != "a"')
[?25l:[10C[?12l[?25h: $put ='did filter()'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:16]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='map() after lock on dict:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar 1 d
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: call map(d, 'v:val + 200')
[?25l:[10C[?12l[?25h: $put ='did map()'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:16]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='No extend() after lock on dict item:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar d.a
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: $put =string(extend(d, {'a': 123}))
[?25l:[10C[?12l[?25h: $put ='did extend()'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:14]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='No remove() of write-protected scope-level variable:'
[?25l:[8C[?12l[?25h:fun! Tfunc(this_is_a_loooooooooong_parameter_name)
[?25l:[10C[?12l[?25h: try
[?25l:[12C[?12l[?25h: $put =string(remove(a:, 'this_is_a_loooooooooong_parameter_na
[23;80Hm[24;1He'))
[?25l:[12C[?12l[?25h: $put ='did remove()'
[?25l:[12C[?12l[?25h: catch
[?25l:[12C[?12l[?25h: $put =v:exception[:14]
[?25l:[12C[?12l[?25h: endtry
[?25l:[10C[?12l[?25h:endfun
[?25l:[10C[?12l[?25h:call Tfunc('testval')
[?25l:[10C[?12l[?25h:"
[?25l:[10C[?12l[?25h:$put ='No extend() of write-protected scope-level variable:'
[?25l:[10C[?12l[?25h:fun! Tfunc(this_is_a_loooooooooong_parameter_name)
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: $put =string(extend(a:, {'this_is_a_loooooooooong_parameter
[23;80H_[24;1Hname': 1234}))
[?25l:[14C[?12l[?25h: $put ='did extend()'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: $put =v:exception[:14]
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h:endfun
[?25l:[12C[?12l[?25h:call Tfunc('testval')
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:$put ='No :unlet of variable in locked scope:'
[?25l:[12C[?12l[?25h:let b:testvar = 123
[?25l:[12C[?12l[?25h:lockvar 1 b:
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: unlet b:testvar
[?25l:[14C[?12l[?25h: $put ='b:testvar was :unlet: '. (!exists('b:testvar'))
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put =v:exception[:16]
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:unlockvar 1 b:
[?25l:[12C[?12l[?25h:unlet! b:testvar
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:$put ='No :let += of locked list variable:'
[?25l:[12C[?12l[?25h:let l = ['a', 'b', 3]
[?25l:[12C[?12l[?25h:lockvar 1 l
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let l += ['x']
[?25l:[14C[?12l[?25h: $put ='did :let +='
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put =v:exception[:14]
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:unlet l
[?25l:[12C[?12l[?25h:let l = [1, 2, 3, 4]
[?25l:[12C[?12l[?25h:lockvar! l
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:unlockvar l[1]
[?25l:[12C[?12l[?25h:unlet l[0:1]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:unlet l[1:2]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:unlockvar l[1]
[?25l:[12C[?12l[?25h:let l[0:1] = [0, 1]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:let l[1:2] = [0, 1]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:unlet l
[?25l:[12C[?12l[?25h:" :lockvar/islocked() triggering script autoloading
[?25l:[12C[?12l[?25h:set rtp+=./sautest
[?25l:[12C[?12l[?25h:lockvar g:footest#x
[?25l:[12C[?12l[?25h:unlockvar g:footest#x
[?25l:[12C[?12l[?25h:$put ='locked g:footest#x:'.islocked('g:footest#x')
[?25l:[12C[?12l[?25h:$put ='exists g:footest#x:'.exists('g:footest#x')
[?25l:[12C[?12l[?25h:$put ='g:footest#x: '.g:footest#x
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" a:000 function argument
[?25l:[12C[?12l[?25h:" first the tests that should fail
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000 = [1, 2]
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught a:000'
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000[0] = 9
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught a:000[0]'
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000[2] = [9, 10]
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught a:000[2]'
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000[3] = {9: 10}
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught a:000[3]'
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:" now the tests that should pass
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000[2][1] = 9
[?25l:[14C[?12l[?25h: call extend(a:000[2], [5, 6])
[?25l:[14C[?12l[?25h: let a:000[3][5] = 8
[?25l:[14C[?12l[?25h: let a:000[3]['a'] = 12
[?25l:[14C[?12l[?25h: $put =string(a:000)
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught ' . v:exception
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" reverse(), sort(), uniq()
[?25l:[12C[?12l[?25h:let l = ['-0', 'A11', 2, 2, 'xaaa', 4, 'foo', 'foo6', 'foo', [0,
[23;80H1[24;1H, 2], 'x8', [0, 1, 2], 1.5]
[?25l:[12C[?12l[?25h:$put =string(uniq(copy(l)))
[?25l:[12C[?12l[?25h:$put =string(reverse(l))
[?25l:[12C[?12l[?25h:$put =string(reverse(reverse(l)))
[?25l:[12C[?12l[?25h:$put =string(sort(l))
[?25l:[12C[?12l[?25h:$put =string(reverse(sort(l)))
[?25l:[12C[?12l[?25h:$put =string(sort(reverse(sort(l))))
[?25l:[12C[?12l[?25h:$put =string(uniq(sort(l)))
[?25l:[12C[?12l[?25h:let l=[7, 9, 'one', 18, 12, 22, 'two', 10.0e-16, -1, 'three', 0xf
[23;80Hf[24;1H, 0.22, 'four']
[?25l:[12C[?12l[?25h:$put =string(sort(copy(l), 'n'))
[?25l:[12C[?12l[?25h:let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0, -0, 0.22, 'bar',
[23;80H'[24;1HBAR', 'Bar', 'Foo', 'FOO', 'foo', 'FOOBAR', {}, []]
[?25l:[12C[?12l[?25h:$put =string(sort(copy(l), 1))
[?25l:[12C[?12l[?25h:$put =string(sort(copy(l), 'i'))
[?25l:[12C[?12l[?25h:$put =string(sort(copy(l)))
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" splitting a string to a List
[?25l:[12C[?12l[?25h:$put =string(split(' aa bb '))
[?25l:[12C[?12l[?25h:$put =string(split(' aa bb ', '\W\+', 0))
[?25l:[12C[?12l[?25h:$put =string(split(' aa bb ', '\W\+', 1))
[?25l:[12C[?12l[?25h:$put =string(split(' aa bb ', '\W', 1))
[?25l:[12C[?12l[?25h:$put =string(split(':aa::bb:', ':', 0))
[?25l:[12C[?12l[?25h:$put =string(split(':aa::bb:', ':', 1))
[?25l:[12C[?12l[?25h:$put =string(split('aa,,bb, cc,', ',\s*', 1))
[?25l:[12C[?12l[?25h:$put =string(split('abc', '\zs'))
[?25l:[12C[?12l[?25h:$put =string(split('abc', '\zs', 1))
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" compare recursively linked list and dict
[?25l:[12C[?12l[?25h:let l = [1, 2, 3, 4]
[?25l:[12C[?12l[?25h:let d = {'1': 1, '2': l, '3': 3}
[?25l:[12C[?12l[?25h:let l[1] = d
[?25l:[12C[?12l[?25h:$put =(l == l)
[?25l:[12C[?12l[?25h:$put =(d == d)
[?25l:[12C[?12l[?25h:$put =(l != deepcopy(l))
[?25l:[12C[?12l[?25h:$put =(d != deepcopy(d))
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" compare complex recursively linked list and dict
[?25l:[12C[?12l[?25h:let l = []
[?25l:[12C[?12l[?25h:call add(l, l)
[?25l:[12C[?12l[?25h:let dict4 = {"l": l}
[?25l:[12C[?12l[?25h:call add(dict4.l, dict4)
[?25l:[12C[?12l[?25h:let lcopy = deepcopy(l)
[?25l:[12C[?12l[?25h:let dict4copy = deepcopy(dict4)
[?25l:[12C[?12l[?25h:$put =(l == lcopy)
[?25l:[12C[?12l[?25h:$put =(dict4 == dict4copy)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" Pass the same List to extend()
[?25l:[12C[?12l[?25h:let l = [1, 2, 3, 4, 5]
[?25l:[12C[?12l[?25h:call extend(l, l)
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" Pass the same Dict to extend()
[?25l:[12C[?12l[?25h:let d = { 'a': {'b': 'B'}}
[?25l:[12C[?12l[?25h:call extend(d, d)
[?25l:[12C[?12l[?25h:$put =string(d)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" Pass the same Dict to extend() with "error"
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: call extend(d, d, "error")
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put =v:exception[:15] . v:exception[-1:-1]
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:$put =string(d)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" test for range assign
[?25l:[12C[?12l[?25h:let l = [0]
[?25l:[12C[?12l[?25h:let l[:] = [1, 2]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:endfun
[27m[23m[m[H[2J[?25l[1;1H:$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[34m^R[m=a[34m^M^[[m:"
:lang C
:redir => a
:try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
:redir END
o[34m^R[m=a[34m^M^[[m:"
:"
:/^start:/,$wq! test.out
ENDTEST
start:[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Test(1, 2, [3, 4], {5: 6}) " This may take a while
[?25l[1m[37m[41mError detected while processing function Test:[m[24;47H[K[24;1H
[33mline 76:[m
[1m[37m[41mE684: list index out of range: 1[m
[33mline 91:[m
[1m[37m[41mE684: list index out of range: 2[m
[33mline 271:[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[33mline 441:[m
[1m[37m[41mE741: Value is locked: l[0:1][m
[33mline 443:[m
[1m[37m[41mE741: Value is locked: l[1:2][m
[33mline 446:[m
[1m[37m[41mE741: Value is locked: l[0:1] = [0, 1][m
[33mline 448:[m
[1m[37m[41mE741: Value is locked: l[1:2] = [0, 1][m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[1;1H['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 122[2;1H, 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]
[1m[34m~ [22;1H[?12l[?25h[?25l
[m:[?12l[?25hdelfunc Test
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hunlet dict
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for patch 7.3.637
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet a = 'No error caught'
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htry|foldopen|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H=[?12l[?25ha
[?25l[23;1HVim(foldopen):E490:[23;20H[K[23;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang C
[?25l[23;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir => a
[?25l[23;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htry|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
[?25l[1m[37m[41mError detected while processing :[m[24;34H[K[24;1H
[1m[37m[41mE492: Not an editor command: foobar|catch|let a = matchstr(v:exception,'^[^ ]*'[m
[23;80H[1m[37m[41m)[24;1H|endtry[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[3L[1;1H['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 122[2;1H, 18, 22, 255, 7, 9, [], {}]
['aa', 'bb'][24;1H[K[23;19H[?12l[?25h[?25l
=[?12l[?25ha
[?25l[1;23r[1;1H[5M[1;24r[21;1HError detected while processing :
E492: Not an editor command: foobar|catch|let a = matchstr(v:exception,'^[^ ]*'))[23;1H|endtry[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test56.in" 21 lines, 457 characters[1;1HTest 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>delfunn[21;1Hc <SID>DoNothing<bar>delfunc <SID>DoLast<cr>
end:
[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for script-local function. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 7 lines, 120 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/+1,/^end:/-1w! Xtest.vim
[?25l"Xtest.vim" [24;13H[K[24;13H[New] 7L, 251C written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsource Xtest.vim
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:call <SNR>4_DoNothing()|call <SNR>4_DoLast()|delfunc <SNR>4_DoNothing|delfunc
[23;80H<[24;1HSNR>4_DoLast
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[L[?25l[1;1HTest for script-local function. vim: set ft=vim :[23;1Hnothing line[23;13H[K[24;1H[K[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h$-1,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test57.in" 545 lines, 4110 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :sort command. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 33 lines, 920 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:/^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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^t01:/+1,/^t02/-1sort
[?25l[15;1H[K[16;1H[K[17;1H 123b[18;2H[K[19;4H2
a123
a
ab[22;3H[K[23;1Habc[23;4H[K[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^t02:/+1,/^t03/-1sort n
[?25l[1;23r[1;1H[9M[1;24r[15;1Hb123
b321
b321
b321b
b322b
c123d
c321d
t02: numeric
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t03:/+1,/^t04/-1sort x
[?25l[27m[23m[m[H[2J[1;1Ha123
b123
c123d
123b
a321
b321
c321d
b321
b321b
b322b
t03: hexadecimal
a
ab
abc
123b
a122
a123
a321
b123
b321
b321[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t04:/+1,/^t05/-1sort u
[?25l[1;23r[1;1H[6M[1;24r[18;1Hb321b
b322b
c123d
c321d
t04: alpha, unique[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t05:/+1,/^t06/-1sort!
[?25l[27m[23m[m[H[2J[1;1Ha123
a321
ab
abc
b123
b321
b321b
b322b
c123d
c321d
t05: alpha, reverse
c321d
c123d
b322b
b321b
b321
b321
b123
abc
ab
a321
a123
a122[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t06:/+1,/^t07/-1sort! n
[?25l[1;23r[1;1H[6M[1;24r[18;1Ha
123b
t06: numeric, reverse
b322b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t07:/+1,/^t08/-1sort! u
[?25l[27m[23m[m[H[2J[1;2H123b
c123d
b123
a123
a122
a
ab
abc
t07: unique, reverse
c321d
c123d
b322b
b321b
b321
b123
abc
ab
a321
a123
a122
a[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t08:/+1,/^t09/-1sort o
[?25l[1;23r[1;1H[4M[1;24r[20;2H123b
t08: octal
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t09:/+1,/^t10/-1sort! x
[?25l[27m[23m[m[H[2J[1;1Ha123
b123
c123d
123b
a321
b321
c321d
b321
b321b
b322b
t09: reverse, hexadecimal
c321d
c123d
b322b
b321b
b321
b321
b123
a321
a123
a122
123b
abc[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t10:/+1,/^t11/-1sort/./
[?25l[1;23r[1;1H[6M[1;24r[18;1Hab
a
t10: alpha, skip first character
a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t11:/+1,/^t12/-1sort/../
[?25l[27m[23m[m[H[2J[1;2H123b
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t12:/+1,/^t13/-1sort/../u
[?25l[1;23r[1;1H[6M[1;24r[18;1Hb123
123b
c123d
abc
t12: alpha, unique, skip first 2 characters
ab[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t13:/+1,/^t14/-1sort/./n
[?25l[27m[23m[m[H[2J[1;1Hb321
b321b
c321d
a122
b322b
a123
b123
123b
c123d
abc
t13: numeric, skip first character
abc
ab
a
a122
a123
b123
c123d
123b
a321
b321[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t14:/+1,/^t15/-1sort/./r
[?25l[1;23r[1;1H[6M[1;24r[18;1Hc321d
b321
b321b
b322b
t14: alpha, sort on first character[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t15:/+1,/^t16/-1sort/../r
[?25l[27m[23m[m[H[2J[1;1Ha321
a123
a122
b321
b123
b322b
b321
b321b
c123d
c321d
t15: alpha, sort on first 2 characters
a[15;2H123b
a123
a122
a321
abc
ab
b123
b321
b322b[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t16:/+1,/^t17/-1sort/./rn
[?25l[1;23r[1;1H[6M[1;24r[18;1Hb321
b321b
c123d
c321d
t16: numeric, sort on first character
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t17:/+1,/^t18/-1sort/\d/
[?25l[27m[23m[m[H[2J[1;1Hb321
b123
c123d
123b
c321d
b322b
b321
b321b
t17: alpha, skip past first digit
abc
ab
a
a321
b321
b321
b321b
c321d
a122
b322b[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t18:/+1,/^t19/-1sort/\d/r
[?25l[1;23r[1;1H[6M[1;24r[18;1Ha123
b123
123b
c123d
t18: alpha, sort on first digit
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t19:/+1,/^t20/-1sort/\d/n
[?25l[27m[23m[m[H[2J[1;1Ha122
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t20:/+1,/^t21/-1sort/\d/rn
[?25l[1;23r[1;1H[6M[1;24r[18;1Ha123
b123
c123d
123b
t20: numeric, sort on first digit
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t21:/+1,/^t22/-1sort/\d\d/
[?25l[27m[23m[m[H[2J[1;1Ha122
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t22:/+1,/^t23/-1sort/\d\d/n
[?25l[1;23r[1;1H[6M[1;24r[18;1Ha123
b123
123b
c123d
t22: numeric, skip past first 2 digits
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t23:/+1,/^t24/-1sort/\d\d/x
[?25l[27m[23m[m[H[2J[1;1Hb321
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t24:/+1,/^t25/-1sort/\d\d/r
[?25l[1;23r[1;1H[6M[1;24r[18;1Hc321d
b322b
123b
c123d
t24: alpha, sort on first 2 digits
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t25:/+1,/^t26/-1sort/\d\d/rn
[?25l[27m[23m[m[H[2J[1;1Ha122
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t26:/+1,/^t27/-1sort/\d\d/rx
[?25l[1;23r[1;1H[6M[1;24r[18;1Hc321d
b322b
b321
b321b
t26: hexadecimal, sort on first 2 digits
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t27:/+1,/^t28/-1sort no
[?25l[1m[37m[41mE474: Invalid argument[m[24;23H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^t28:/+1,/^t29/-1sort b
[?25l[27m[23m[m[H[2J[1;1Hb321
b123
c123d
123b
c321d
b322b
b321
b321b
t28: binary
0b000000
0b001000
0b010000
0b100000
0b100010
0b100010
0b100100
0b101000
0b101000
0b101001[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t29:/+1,/^t30/-1sort b
[?25l[1;23r[1;1H[6M[1;24r[18;1H0b101001
0b101010
0b101100
0b111000
t29: binary with leading characters[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t30:/+1,/^t31/-1sort f
[?25l[27m[23m[m[H[2J[1;1Ha0b001000
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[15;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t01:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test60.in" 601 lines, 13116 characters[1;1HTests 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:result[7;9Hecho "OK"
else[9;9Hecho "FAILED: Checking for " . a:str
endif
endfunction
:function! TestExists()
augroup myagroup[14;9Hautocmd! BufEnter[7C*.my echo "myfile edited"[15;9Hautocmd! FuncUndefined UndefFun exec "fu UndefFun()\nendfu"
augroup END
set rtp+=./sautest[19;5Hlet test_cases = [][21;5H" valid autocmd group
let test_cases += [['#myagroup', 1]]
" valid autocmd group with garbage[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for the exists() and has() functions. vim: set ft=vim ts=8 sw=2 :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 596 lines, 13023 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;9Hendif
endfunction[4;5Hcall TestFuncArg("arg1", "arg2")[6;5Hecho ' g:footest#x =' g:footest#x
echo ' footest#F()' footest#F()
echo 'UndefFun()' UndefFun()[10;5Hredir 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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! RunTest(str, result)
[?25l
: [?12l[?25h if exists(a:str) == a:result
[?25l: [?12l[?25h[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "FAILED: Checking for " . a:str
[?25l: [?12l[?25h endif
[?25l: [?12l[?25hendfunction
[1;1H[6L[?25l[1;9Hendif
endfunction[4;5Hcall TestFuncArg("arg1", "arg2")[6;5Hecho ' g:footest#x =' g:footest#x[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hfunction! TestExists()
[?25l
: [?12l[?25h augroup myagroup
[?25l: [?12l[?25h[34m^I[mautocmd! BufEnter *.my echo "myfile edited"
[?25l: [?12l[?25h[34m^I[mautocmd! 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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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
[27m[23m[m[H[2J[?25l[1;9Hendif
endfunction[4;5Hcall TestFuncArg("arg1", "arg2")[6;5Hecho ' g:footest#x =' g:footest#x
echo ' footest#F()' footest#F()
echo 'UndefFun()' UndefFun()[10;5Hredir 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[24;13H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[1;9Hendif
endfunction[4;5Hcall TestFuncArg("arg1", "arg2")[6;5Hecho ' g:footest#x =' g:footest#x
echo ' footest#F()' footest#F()
echo 'UndefFun()' UndefFun()[10;5Hredir 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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc RunTest
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc TestFuncArg
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit! test.out
[?25l"test.out" [24;12H[K[24;12H[Incomplete last line] 206 lines, 1940 characters[1;9H[K[2;1H#myagroup: 1[2;13H[K[3;1HOK
#myagroup+b: 0[4;15H[K[5;1HOK
#myagroup#BufEnter: 1[6;22H[K[7;1HOK[7;5H[K[8;1H#myagroup#BufEnter#*.my: 1[8;27H[K[9;1HOK
#BufEnter: 1[10;13H[K[11;1HOK[11;3H[K[12;1H#BufEnter#*.my: 1[12;18H[K[13;1HOK
#xyzagroup: 0[14;14H[K[15;1HOK[15;3H[K[16;1H#xyzagroup#BufEnter: 0
OK[17;3H[K[18;1H#myagroup#CmdwinEnter: 0
OK
#myagroup#xyzacmd: 0
OK[21;3H[K[22;1H#myagroup#BufEnter#xyzpat: 0
OK[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff=unix
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" 206 lines, 1941 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test64.in" 654 lines, 27565 characters[1;1HTest 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 """"""""""""""""""""""""""""""""
:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
:"[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for regexp patterns without multi-byte support.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 621 lines, 27090 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" tl is a List of Lists with:
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" regexp engine
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" regexp pattern
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" text to test the pattern on
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected match (optional)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected submatch 1 (optional)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected submatch 2 (optional)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" etc.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When there is no match use only the first two items.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tl = []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Previously written tests """"""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'ab', 'aab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'b', 'abcdef', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc*', 'abccccdef', 'bcccc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\{-}', 'abccccdef', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\{-}\(d\)', 'abccccdef', 'bccccd', 'd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc*', 'abbdef', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'c*', 'ccc', 'ccc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc*', 'abdef', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'c*', 'abdef', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\+', 'abccccdef', 'bcccc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\+', 'abdef']) "no match
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"operator \|
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\|ab', 'cabd', 'a']) "alternation is ordered
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'c\?', 'ccb', 'c'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\?', 'abd', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\?', 'abccd', 'bc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{1}', 'ab', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'caad', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'aba'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'abaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'aaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vb{1}', 'abca', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vba{2}', 'abaa', 'baa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vba{3}', 'aabaac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'dabc', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'acb'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){0,2}', 'acb', "", ""])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){0,2}', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1,2}', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1,2}', 'ababc', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2,4}', 'ababcab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2,4}', 'abcababa', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'cdababe', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abacabab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab){2}){2}', 'abababab', 'abababab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab){2}){2}', 'abacabababab', 'abababab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){1}', 'a', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aa', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aaac', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'daaac', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'daaac', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'aaa', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2})+', 'adaac', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2})+', 'aa', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aa', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'aa', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){1}', 'a', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){2}', 'aaaa', 'aaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){2}', 'aaabaaaa', 'aaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+){2}', 'dadaac', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{3}){2}', 'aaaaaaa', 'aaaaaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){2}', 'daaac', 'aaa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){2}', 'daaaac', 'aaaa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){2}', 'daaaaac', 'aaaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){3}', 'daac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){2}', 'dac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+)+', 'daac', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+)+', 'aaa', 'aaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+){1,2}', 'aaa', 'aaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+)(a+)', 'aaa', 'aaa', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{3})+', 'daaaac', 'aaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a|b|c)+', 'aacb', 'aacb', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a|b|c){2}', 'abcb', 'ab', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(abc){2}', 'abcabd', ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(abc){2}', 'abdabcabc','abcabc', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a*', 'cc', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a*)+', 'cc', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)+)+', 'ab', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(((ab)+)+)+', 'ab', 'ab', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(((ab)+)+)+', 'dababc', 'abab', 'abab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{0,2})+', 'cc', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a*)+', '', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((a*)+)+', '', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)*)+', '', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{1,3}', 'aab', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2,3}', 'abaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)+|c*)+', 'abcccaba', 'abcccab', '', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2})|(b{3})', 'bbabbbb', 'bbb', '', 'bbb'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}|b{2}', 'abab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a)+|(c)+', 'bbacbaacbbb', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vab{2,3}c', 'aabbccccccccccccc', 'abbc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vab{2,3}c', 'aabbbccccccccccccc', 'abbbc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vab{2,3}cd{2,3}e', 'aabbbcddee', 'abbbcdde'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va(bc){2}d', 'aabcbfbc' ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'a', ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'aa', 'aa' ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'aaa', 'aaa' ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'bbbabcc', ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*b*|a*c*', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{1}b{1}|a{1}b{1}', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"submatches
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a)', 'ab', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a)(b)', 'ab', 'ab', 'a', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab)(b)(c)', 'abbc', 'abbc', 'ab', 'b', 'c'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((a)(b))', 'ab', 'ab', 'ab', 'a', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a)|(b)', 'ab', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a*)+', 'aaaa', 'aaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x', 'abcdef'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""" Simple tests """""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Search single groups
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'ab', 'aab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'ab', 'baced'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'ab', ' ab ', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Search multi-modifiers
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x*', 'xcd', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x*', 'xxxxxxxxxxxxxxxxsofijiojgf', 'xxxxxxxxxxxxxxxx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" empty match is good
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x*', 'abcdoij', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" no match here
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\+', 'abcdoin'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\+', 'abcdeoijdfxxiuhfij', 'xx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\+', 'xxxxx', 'xxxxx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\+', 'abc x siufhiush xxxxxxxxx', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\=', 'x sdfoij', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\=', 'abc sfoij', '']) " empty match is good
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\=', 'xxxxxxxxx c', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\?', 'x sdfoij', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" empty match is good
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\?', 'abc sfoij', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\?', 'xxxxxxxxxx c', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0,0}', 'abcdfdoij', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" same thing as 'a?'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0,1}', 'asiubid axxxaaa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" same thing as 'a\{0,1}'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{1,0}', 'asiubid axxxaaa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aa siofuh'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aaaaa asfoij afaa', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aaaaaaaa', 'aaaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0}', 'asoiuj', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2}', 'aaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2}', 'iuash fiusahfliusah fiushfilushfi uhsaifuh askfj na
[23;80Hs[24;1Hfvius afg aaaa sfiuhuhiushf', 'aa'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2}', 'abcdefghijklmnopqrestuvwxyz1234567890'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" same thing as 'a*'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0,}', 'oij sdigfusnf', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0,}', 'aaaaa aa', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2,}', 'sdfiougjdsafg'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2,}', 'aaaaasfoij ', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{5,}', 'xxaaaaxxx '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{5,}', 'xxaaaaaxxx ', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{,0}', 'oidfguih iuhi hiu aaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{,5}', 'abcd', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{,5}', 'aaaaaaaaaa', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" leading star as normal char when \{} follows
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '***'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '****', '****'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '*****', '*****'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" same thing as 'a*'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{}', 'bbbcddiuhfcd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{}', 'aaaaioudfh coisf jda', 'aaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0,0}', 'abcdfdoij', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" anti-greedy version of 'a?'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0,1}', 'asiubid axxxaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aa siofuh'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aaaaa asfoij afaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aaaaaaaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0}', 'asoiuj', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2}', 'aaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2}', 'abcdefghijklmnopqrestuvwxyz1234567890'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0,}', 'oij sdigfusnf', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0,}', 'aaaaa aa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2,}', 'sdfiougjdsafg'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2,}', 'aaaaasfoij ', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-,0}', 'oidfguih iuhi hiu aaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-,5}', 'abcd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-,5}', 'aaaaaaaaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" anti-greedy version of 'a*'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-}', 'bbbcddiuhfcd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-}', 'aaaaioudfh coisf jda', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test groups of characters and submatches
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(abc\)*', 'abcabcabc', 'abcabcabc', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(ab\)\+', 'abababaaaaa', 'ababab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(abaaaaa\)*cd', 'cd', 'cd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(test1\)\? \(test2\)\?', 'test1 test3', 'test1 ', 'test1',
[23;80H'[24;1H'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(test1\)\= \(test2\) \(test4443\)\=', ' test2 test4443 yupi
[23;80Hi[24;1Hiiiiiiiii', ' test2 test4443', '', 'test2', 'test4443'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(\(sub1\) hello \(sub 2\)\)', 'asterix sub1 hello sub 2 obe
[23;80Hl[24;1Hix', 'sub1 hello sub 2', 'sub1 hello sub 2', 'sub1', 'sub 2'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(\(\(yyxxzz\)\)\)', 'abcdddsfiusfyyzzxxyyxxzz', 'yyxxzz', '
[23;80Hy[24;1Hyxxzz', 'yyxxzz', 'yyxxzz'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)+|c+)+', 'abcccaba', 'abcccab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)|c*)+', 'abcccaba', 'abcccab', '', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a(c*)+b)+', 'acbababaaa', 'acbabab', 'ab', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a|b*)+', 'aaaa', 'aaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\p*', 'aá [34m^I[m', 'aá '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test greedy-ness and lazy-ness
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2,7}','aaaaaaaaaaaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2,7}x','aaaaaaaaax', 'aaaaaaax'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2,7}','aaaaaaaaaaaaaaaaaaaa', 'aaaaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2,7}x','aaaaaaaaax', 'aaaaaaax'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vx(.{-,8})yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz','ayxa
[23;80H'[24;1H,'xayzxayz'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\vx(.*)yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz', 'ayxayzx
[23;80Ha[24;1Hyzxa',''])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){-2,3}','aaaaaaa','aaaa','aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{-1,3})+', 'aa', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\s\{-}\zs\( x\|x$\)', ' x', ' x', ' x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\s\{-}\zs\(x\| x$\)', ' x', ' x', ' x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\s\{-}\ze\(x\| x$\)', ' x', '', ' x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\(\s\{-}\)\(x\| x$\)', ' x', ' x', '', ' x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test Character classes
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\d\+e\d\d','test 10e23 fd','10e23'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test collections and character range []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v[a]', 'abcd', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a[bcd]', 'abcd', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a[b-d]', 'acbd', 'ac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-d][e-f][x-x]d', 'cexdxx', 'cexd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v[[:alpha:]]+', 'abcdefghijklmnopqrstuvwxyz6','abcdefghijkl
[23;80Hm[24;1Hnopqrstuvwxyz'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '[[:alpha:]\+]', '6x8','x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^abc]\+','abcabcabc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^abc]','defghiasijvoinasoiunbvb','d'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^abc]\+','ddddddda','ddddddd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-d]\+','aaaAAAZIHFNCddd','AAAZIHFNC'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-f]*','iiiiiiii',''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-f]*','abcdefgh','abcdef'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-f]\+','abcdefgh','gh'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-c]\{-3,6}','abcabc','abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^[:alpha:]]\+','abcccadfoij7787ysf287yrnccdu','7787'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[-a]', '-', '-'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-]', '-', '-'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-f]*\c','ABCDEFGH','ABCDEF'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[abc][xyz]\c','-af-AF-BY--','BY'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" filename regexp
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[-./[:alnum:]_~]\+', 'log13.file', 'log13.file'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" special chars
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[\]\^\-\\]\+', '\^\\\-\---^', '\^\\\-\---^'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" collation elem
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[[.a.]]\+', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" middle of regexp
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc[0-9]*ddd', 'siuhabc ii'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc[0-9]*ddd', 'adf abc44482ddd oijs', 'abc44482ddd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_[0-9]\+', 'asfi9888u', '9888'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-9\n]\+', 'asfi9888u', '9888'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_[0-9]\+', "asfi\n9888u", "\n9888"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_f', " \na ", "\n"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_f\+', " \na ", "\na"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-9A-Za-z-_.]\+', " @0_a.A-{ ", "0_a.A-"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Test start/end of line, start/end of file
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^a.', "a_\nb ", "a_"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^a.', "b a \na_"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.a$', " a\n "])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.a$', " a b\n_a", "_a"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%^a.', "a a\na", "a "])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%^a', " a \na "])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.a\%$', " a\n "])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.a\%$', " a\n_a", "_a"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Test recognition of character classes
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-7]\+', 'x0123456789x', '01234567'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^0-7]\+', '0a;X+% 897', 'a;X+% 89'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-9]\+', 'x0123456789x', '0123456789'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^0-9]\+', '0a;X+% 9', 'a;X+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-9a-fA-F]\+', 'x0189abcdefg', '0189abcdef'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^0-9A-Fa-f]\+', '0189g;X+% ab', 'g;X+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z_A-Z0-9]\+', ';+aso_SfOij ', 'aso_SfOij'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-z_A-Z0-9]\+', 'aSo_;+% sfOij', ';+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z_A-Z]\+', '0abyz_ABYZ;', 'abyz_ABYZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-z_A-Z]\+', 'abAB_09;+% yzYZ', '09;+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z]\+', '0abcxyz1', 'abcxyz'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z]\+', 'AabxyzZ', 'abxyz'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-z]\+', 'a;X09+% x', ';X09+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-z]\+', 'abX0;%yz', 'X0;%'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-zA-Z]\+', '0abABxzXZ9', 'abABxzXZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-zA-Z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[A-Z]\+', 'aABXYZz', 'ABXYZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^A-Z]\+', 'ABx0;%YZ', 'x0;%'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z]\+\c', '0abxyzABXYZ;', 'abxyzABXYZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[A-Z]\+\c', '0abABxzXZ9', 'abABxzXZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\c[^a-z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\c[^A-Z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Tests for \z features
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" match ends at \ze
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'xx \ze test', 'xx '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\zeend', 'oij abcend', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaxx', ' aabb ', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaxx', ' aaxx ', 'aaxx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aabb\|aa\zebb', ' aabb ', 'aabb'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaebb', ' aabb ', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" match starts at \zs
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\zsdd', 'ddabcddxyzt', 'dd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aa \zsax', ' ax'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc \zsmatch\ze abc', 'abc abc abc match abc abc', 'match'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a \zsif .*){2}', 'a if then a if last', 'if last', 'a if
[23;80Hl[24;1Hast'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\>\zs.', 'aword. ', '.'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\s\+\ze\[/\|\s\zs\s\+', 'is [a t', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Tests for \@= and \& features
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\@=', 'abc', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\@=cd', 'abcd', 'abcd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\@=', 'ababc', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" will never match, no matter the input text
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abcd\@=e', 'abcd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" will never match
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abcd\@=e', 'any text in here ... '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(abc)@=..', 'xabcd', 'ab', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(.*John\)\@=.*Bob', 'here is John, and here is B'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(John.*\)\@=.*Bob', 'John is Bobs friend', 'John is Bob', '
[23;80HJ[24;1Hohn is Bobs friend'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\<\S\+\())\)\@=', '$((i=i+1))', 'i=i+1', '))'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.*John\&.*Bob', 'here is John, and here is B'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.*John\&.*Bob', 'John is Bobs friend', 'John is Bob'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(test1)@=.*yep', 'this is a test1, yep it is', 'test1, yep
[23;80H'[24;1H, 'test1'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, 'foo\(bar\)\@!', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\(bar\)\@!', 'foo bar', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'if \(\(then\)\@!.\)*$', ' if then else'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'if \(\(then\)\@!.\)*$', ' if else ', 'if else ', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@!bar', 'foobar', 'bar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@!...bar', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' bar foo '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' foo bar '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' foo xxx ', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[ ]\@!\p\%([ ]\@!\p\)*:', 'implicit mappings:', 'mappings:']
[23;80H)[24;1H[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '[ ]\@!\p\([ ]\@!\p\)*:', 'implicit mappings:', 'mappings:',
[23;80H'[24;1Hs'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, 'm\k\+_\@=\%(_\@!\k\)\@<=\k\+e', 'mx__xe', 'mx__xe'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%(\U\@<=S\k*\|S\l\)R', 'SuR', 'SuR'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Combining different tests and features
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[[:alpha:]]\{-2,6}', '787abcdiuhsasiuhb4', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '', 'abcd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(())', 'any possible text', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v%(ab(xyz)c)', ' abxyzc ', 'abxyzc', 'xyz'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(test|)empty', 'tesempty', 'empty', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a|aa)(a|aa)', 'aaa', 'aa', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" \%u and friends
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%d32', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%o40', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%x20', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%u0020', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%U00000020', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%d0', "yes\x0ano", "\x0a"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""" \%[abc]
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'fobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobar', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'fooxx', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobxx', 'foob'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobaxx', 'fooba'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobarxx', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]x', 'foobxx', 'foobx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]x', 'foobarxx', 'foobarx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'barxx', 'barx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'bxx', 'bx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'xxx', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'b\%[[ao]r]', 'bar bor', 'bar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'b\%[[]]r]', 'b]r bor', 'b]r'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '@\%[\w\-]*', '<http://john.net/pandoc/>[@pandoc]', '@pandoc'
[23;80H][24;1H)[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Alternatives, must use first longest match
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'goo\|go', 'google', 'goo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\<goo\|\<go', 'google', 'goo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\<goo\|go', 'google', 'goo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Back references
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(\i\+\) \1', ' abc abc', 'abc abc', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(\i\+\) \1', 'xgoo goox', 'goo goo', 'goo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(a\)\(b\)\(c\)\(dd\)\(e\)\(f\)\(g\)\(h\)\(i\)\1\2\3\4\5\6\7
[23;80H\[24;1H8\9', 'xabcddefghiabcddefghix', 'abcddefghiabcddefghi', 'a', 'b', 'c', 'dd', 'e
[23;80H'[24;1H, 'f', 'g', 'h', 'i'])
[?25l[1;1H[2L[1;1H:for pat in [' \ze*', ' \zs*']
: try[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(\d*\)a \1b', ' a b ', 'a b', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^.\(.\).\_..\1.', "aaa\naaa\nb", "aaa\naaa", 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.com', 'foo.bat/foo
[23;80H.[24;1Hcom', 'bat'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.bat'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<=$', 'foo.bat/foo.bat', 'foo.bat/foo
[23;80H.[24;1Hbat', 'bat', 'bat'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\\\@<!\${\(\d\+\%(:.\{-}\)\?\\\@<!\)}', '2013-06-27${0}', '$
[23;80H{[24;1H0}', '0'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '^\(a*\)\1$', 'aaaaaaaa', 'aaaaaaaa', 'aaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\(a\{-2,}\)\1\+$', 'aaaaaaaaa', 'aaaaaaaaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Look-behind with limit
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '<\@<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '<\@1<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '<\@2<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(<<\)\@<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<<
[23;80H'[24;1H])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(<<\)\@1<=span.', 'xxspanxxxx<spanxx<<spanyyy'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(<<\)\@2<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<
[23;80H<[24;1H'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@<!bar.', 'xx foobar1 xbar2 xx', 'bar2'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" look-behind match in front of a zero-width item
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v\C%(<Last Changed:\s+)@<=.*$', '" test header'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v\C%(<Last Changed:\s+)@<=.*$', '" Last Changed: 1970', '19
[23;80H7[24;1H0'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=\>', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=\>', 'barfoo', '', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=.*', 'foobar', 'bar', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" complicated look-behind match
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(r\@<=\|\w\@<!\)\/', 'x = /word/;', '/'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^[a-z]\+\ze \&\(asdf\)\@<!', 'foo bar', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""" \@>
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(a*\)\@>a', 'aaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\(.\{-}b\)\@>.', ' abcbd', ' abc', ' ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(.\{-}\)\(\)\@>$', 'abc', 'abc', 'abc', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TODO: BT engine does not restore submatch after failure
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" "\_" prepended negated collection matches EOL
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_[^8-9]\+', "asfi\n9888", "asfi\n"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_[^a]\+', "asfi\n9888", "sfi\n9888"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Requiring lots of states.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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[1;1H[2L[1;1H:for pat in [' \ze*', ' \zs*']
: try[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Skip adding state twice
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=', "#if FOO",
[23;80H"[24;1H#if", ' FOO'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""" Test \%V atom
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%>70vGesamt', 'Jean-Michel Charlier & Victor Hubinon\Gesamt
[23;80Ha[24;1Husgabe [Salleck] Buck Danny {Jean-Michel Charlier & Victor Hubinon}\Gesamtau
[23;80Hs[24;1Hgabe', 'Gesamt'])
[?25l[1;1H[2L[1;1H:for pat in [' \ze*', ' \zs*']
: try[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Run the tests
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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 ®expengine = 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
[23;80Hx[24;1Ht . '\", 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
[23;80Hx[24;1Ht . '\", 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
[23;80Hx[24;1Ht . '\", 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:[8C[?12l[?25h: if len(t) <= matchidx + i
[?25l:[10C[?12l[?25h: let e = ''
[?25l:[10C[?12l[?25h: else
[?25l:[10C[?12l[?25h: let e = t[matchidx + i]
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: if l[i] != e
[?25l:[10C[?12l[?25h: $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text:
"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: endfor
[?25l: [?12l[?25h: unlet i
[?25l: [?12l[?25h: endif
[?25l: [?12l[?25h: endfor
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[1;1HOK 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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""""" multi-line tests """"""""""""""""""""
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tl = []
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" back references
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^.\(.\).\_..\1.', ['aaa', 'aaa', 'b'], ['XX', 'b']])
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v.*\/(.*)\n.*\/\1$', ['./Dir1/Dir2/zyxwvuts.txt', './Dir1/D
[23;80Hi[24;1Hr2/abcdefgh.bat', '', './Dir1/Dir2/file1.txt', './OtherDir1/OtherDir2/file1.txt
[23;80H'[24;1H], ['./Dir1/Dir2/zyxwvuts.txt', './Dir1/Dir2/abcdefgh.bat', '', 'XX']])
[?25l[1;1H[2L[1;1HOK 0 - ^\(.\{-}b\)\@>.
OK 1 - ^\(.\{-}b\)\@>.[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" line breaks
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\S.*\nx', ['abc', 'def', 'ghi', 'xjk', 'lmn'], ['abc', 'def'
[23;80H,[24;1H 'XXjk', 'lmn']])
[?25l[1;1H[L[1;1HOK 0 - ^\(.\{-}b\)\@>.[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check that \_[0-9] matching EOL does not break a following \>
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)
[23;80H\[24;1H.\)\{3\}\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>', ['', 'loca
[23;80Hl[24;1Hnet/192.168.0.1', ''], ['', 'localnet/XX', '']])
[?25l[1;1H[2L[1;1HOK 0 - ^\(.\{-}b\)\@>.
OK 1 - ^\(.\{-}b\)\@>.[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check a pattern with a line break and ^ and $
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\n^b$\n^c', ['a', 'b', 'c'], ['XX']])
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(^.\+\n\)\1', [' dog', ' dog', 'asdf'], ['XXasdf']])
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Run the multi-line tests
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='multi-line tests'
[?25l[1;23r[23;1H
[1;24r[23;1Hmulti-line tests[24;1H[K[23;1H[?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 ®expengine = 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) .
[23;80H'[24;1H\", 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
[27m[23m[m[H[2J[?25l[1;1HOK 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[13;1H\_[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[15;1H\_[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[17;1H\_[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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check that using a pattern on two lines doesn't get messed up by using
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" matchstr() with \ze in between.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset re=0
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Substitute here
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: 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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.+1,.+2s/""/\='"'.matchstr(getline("."), '\d\+\ze<').'"'
[?25l[13;5H5">Ta 5</Title>
<T="7">Ac 7</Title>
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Substitute here
[?25l[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.+1,.+2yank
[?25l[12;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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[13;1H\_[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[15;1H\_[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[17;1H\_[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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H<T="5">Ta 5</Title>
[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check a pattern with a look beind crossing a line boundary
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Behind:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: 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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25h\(<\_[xy]\+\)\@3<=start
[?25l[18;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.yank
[?25l[18;3H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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[10;1H\_[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[12;1H\_[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[14;1H\_[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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxxstart3
[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check matching Visual area
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Visual:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H<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:
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[mthe[?25l[?12l[?25h[?25l[7mxe the the[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[?12l[?25hs/\%Ve/E/g
[?25l3 substitutions on 1 line[13;4HxE thE thE
[?12l[?25h
[?25la[7mndaxand andaxand
[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[?12l[?25hs/\%Va/A/g
[?25l6 substitutions on 1 line[14;1HAndAxAnd AndAxAnd[14;18H[K[14;1H[?12l[?25h
ooo[?25l[?12l[?25h[?25l[7mxofor foro[?12l[?25h[?25lx
[mooo[7mxofor foro[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[?12l[?25hs/\%Vo/O/g
[?25l8 substitutions on 2 lines[15;4HxOfOr fOrOx
oooxOfOr fOrO
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^Visual/+1,/^Visual/+4yank
[?25l[31msearch hit BOTTOM, continuing at TOP[m
4 lines yanked[24;15H[K[16;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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[8;1H\_[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[10;1H\_[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[12;1H\_[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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
4 more lines[1;23r[23;1H
[1;24r[23;1HthexE thE thExethe[24;1H[K[24;1H4 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check matching marks
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Marks:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1Hasdfasd<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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[masdf[9C[?25l[24;1H[K[24;1H:[?12l[?25h.-4,.+6s/.\%>'s.*\%<'e../here/
[?25l[13;5Hhereasdf[13;13H[K[13;1H[?12l[?25h
asdf
dfsa
dfsadf[?25l[24;1H[K[24;1H:[?12l[?25h.-4,.+6s/.\%>'s\_.*\%<'e../again/
[?25l[14;23r[23;1H
[1;24r[14;1Hasdfagainasdf[23;1HOK 0 - bc*[24;1H[K[14;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^Marks:/+1,/^Marks:/+3yank
[?25l[31msearch hit BOTTOM, continuing at TOP[m
3 lines yanked[24;15H[K[14;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 2 - \S.*\nx
OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255[3;1H\_[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[5;1H\_[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[7;1H\_[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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
3 more lines[1;23r[1;1H[2M[1;24r[22;1Hasdfhereasdf
asdfagainasdf[24;1H[K[24;1H3 more lines[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check patterns matching cursor 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
position.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunc! Postest()
[?25l
: [?12l[?25h new
[?25l: [?12l[?25h call setline(1, ['ffooooo', 'boboooo', 'zoooooo', 'koooooo', 'moooooo', "\t
[23;80H\[24;1Ht\tfoo", 'abababababababfoo', 'bababababababafoo', '********_', ' xxxxxx
[23;80Hx[24;1Hxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxx xx xxxx
xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxx xxxxxxxxxx
[23;80Hx[24;1Hxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxx xxxxxxxxxxx
[23;80Hx[24;1H xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx xxxxxxxxx xxxx
[23;80Hx[24;1Hxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxx xxx xxx xx
[23;80Hx[24;1Hxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx xxxxxxxxxxxx x
[23;80Hx[24;1Hxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxxxxx
[23;80Hx[24;1Hxxx 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
[27m[23m[m[H[2J[?25l[1;1HOK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255[2;1H\_[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[4;1H\_[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[22;1H[?12l[?25h[?25l[1;4H2[75C55[2;1H\
OK 0 - a\n^b$\n^c[3;18H[K[4;1HOK 1 - a\n^b$\n^c[4;18H[K[5;4H2
OK 0 - \(^.\+\n\)\1
OK 1 - \(^.\+\n\)\1
OK 2[9;1H[K[10;1H<T="5">Ta 5</Title>
<T="7">Ac 7</Title>[12;1H[K[13;1Hxxstart3[13;9H[K[15;1HthexE thE thExethe
AndAxAnd AndAxAnd
oooxOfOr fOrOxooo[17;18H[K[18;1HoooxOfOr fOrOxooo[19;1H[K[20;1Hasdfhereasdf[20;13H[K[21;1Hasdfagainasdf[22;1H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[m
-0-[23;4H[K[23;3H[?12l[?25h[?25l
:[?12l[?25hset re=0
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines
10 lines yanked
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput
[?25l10 more lines
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[3L[?25l[1;1HoooxOfOr fOrOxooo
asdfhereasdf
asdfagainasdf[4;14H[K[5;1H[K[6;1H-0-[6;4H[K[7;1Hffo[7;4H[K[8;1Hbob[8;4H[K[9;1H__ooooo
koooo__[10;8H[K[11;1Hmoooooo[11;8H[K[12;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_[15;11H[K[16;1H ! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[17;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[18;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[19;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [20;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[21;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [22;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[23;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx[24;1H[K[16;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-1-[?12l[?25h[?25l
:[?12l[?25hset re=1
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines
10 lines yanked
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput
[?25l10 more lines
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[3L[?25l[1;1H-1-
ffo
bob
__ooooo
koooo__
moooooo
[21Cf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxx[8C xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxx[8Cxxxxxxxxxxxxx xxxx[18;1Hxxxxxx [7Cxxx xxxx xx xxxxxxxx xxx xxxxxx[9Cx[18;58H[K[19;1H[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[11;3H[?12l[?25h[?25l[19;1H-2-[19;4H[K[19;3H[?12l[?25h[?25l[24;1H:[?12l[?25hset re=2
[?25l[19;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines
10 lines yanked
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput
[?25l10 more lines
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[3L[1;1H-2-
ffo
bob[19;1H[1m[34m~ [m[24;1H[K[11;3H[?12l[?25h[?25l[24;1H:[?12l[?25h" start and end of buffer
[?25l[11;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%^
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1HTest 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 """"""""""""""""""""""""""""""""
:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
:"
[31msearch hit BOTTOM, continuing at TOP[1;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H-2-
ffo
bob
__ooooo
koooo__
moooooo[7;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[18;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx
[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [11;3H[?12l[?25h[?25l[m[19;1H[K[19;1H[?12l[?25h[?25lTest[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[19;4H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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}[12;1H[?12l[?25h[?25l[24;1H/[?12l[?25h\%^..
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1HTest 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 """"""""""""""""""""""""""""""""
:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
:"
[31msearch hit BOTTOM, continuing at TOP[1;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H-2-
ffo
bob
__ooooo
koooo__
moooooo[7;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[18;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx
Test
[1m[34m~ [21;1H~ [22;1H~ [23;1H~ [19;1H[?12l[?25h[?25l[m[20;1H[K[20;1H[?12l[?25h[?25lTest[?12l[?25h[?25lt END[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[20;8H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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}[12;1H[?12l[?25h[?25l[24;1H/[?12l[?25h\%$
[?25l[27m[23m[m[H[2J[1;1H-2-
ffo
bob
__ooooo
koooo__
moooooo[7;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[18;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx
Test
Test END
[1m[34m~ [22;1H~ [23;1H~ [20;8H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H:" 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'])[12;1H[?12l[?25h[?25l[24;1H/[?12l[?25h..\%$
[?25l[27m[23m[m[H[2J[1;1H-2-
ffo
bob
__ooooo
koooo__
moooooo[7;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[18;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx
Test
Test END
[1m[34m~ [22;1H~ [23;1H~ [20;7H[?12l[?25h
[?25l[m[21;1H[K[21;1H[?12l[?25h[?25lEN[?12l[?25h[?25l[22;1H[K[22;1H[?12l[?25h[?25lE[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check for detecting error
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset regexpengine=2
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[7L[?25l[1;1Hffo
bob
__ooooo
koooo__
moooooo[6;25Hf__
ab!babababababfoo
ba!ab##abab?ba
**!*****_[9;10H[K[10;1H ! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[11;1Hxxxxxx xx xxxx xxxxxxxx[12Cxxxxx xxx xxxxxxx xxxxxxxxx [12C xxxxx[12;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxx[11Cxx xxxx xxx xxxx xxx xxx xxxx[13;1Hxx x[11C [15Cxxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [14;1Hxxxxxxxxx xxxxxxx x x[8C xx xxxxxx xxxxxxx xxxxxxx[8Cxxx xxxx[7Cxx[15;1Hxxx xxx xxx xxxxxxxx [7C xxxx xxx xxxxxx xxxxx xxxxx xx [18C [16;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xx[8Cxxx xxxxx [9Cxx xxxxxxxx[7Cx xxxx[17;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxx[17;58H[K[18;1HTest[18;5H[K[19;6HEND
EN[20;3H[K[21;2H[K[22;2H888 detected for \ze*
E888 detected for \zs*[23;24H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""" Write the results """""""""""""
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/\%#=1^Results/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test65.in" 95 lines, 2153 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for floating point and logical operators.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 89 lines, 2067 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has("float")
[?25l
: [?12l[?25h: e! test.ok
[?25l: [?12l[?25h: wq! test.out
[?25l: [?12l[?25h:endif
[1;1H[3L[?25l[1;1H:$put =float2nr(123.456)
:$put =float2nr(-123.456)
:$put ='AND'[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =printf('%f', 123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H123.456000[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%e', 123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H1.234560e+02[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H123.456[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" check we don't crash on division by zero
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hecho 1.0 / 0.0
[?25linf[24;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='+='
[?25l[1;23r[23;1H
[1;24r[23;1H+=[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet v = 1.234
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v += 6.543
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =printf('%g', v)
[?25l[1;23r[23;1H
[1;24r[23;1H7.777[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet v = 1.234
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v += 5
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =printf('%g', v)
[?25l[1;23r[23;1H
[1;24r[23;1H6.234[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet a = 5
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet a += 3.333
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(a)
[?25l[1;23r[23;1H
[1;24r[23;1H8.333[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='=='
[?25l[1;23r[23;1H
[1;24r[23;1H==[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet v = 1.234
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =v == 1.234
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =v == 1.2341
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='add-subtract'
[?25l[1;23r[23;1H
[1;24r[23;1Hadd-subtract[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 4 + 1.234)
[?25l[1;23r[23;1H
[1;24r[23;1H5.234[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 1.234 - 8)
[?25l[1;23r[23;1H
[1;24r[23;1H-6.766[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='mult-div'
[?25l[1;23r[23;1H
[1;24r[23;1Hmult-div[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 4 * 1.234)
[?25l[1;23r[23;1H
[1;24r[23;1H4.936[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 4.0 / 1234)
[?25l[1;23r[23;1H
[1;24r[23;1H0.003241[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='dict'
[?25l[1;23r[23;1H
[1;24r[23;1Hdict[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string({'x': 1.234, 'y': -2.0e20})
[?25l[1;23r[23;1H
[1;24r[23;1H{'x': 1.234, 'y': -2.0e20}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='list'
[?25l[1;23r[23;1H
[1;24r[23;1Hlist[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string([-123.4, 2.0e-20])
[?25l[1;23r[23;1H
[1;24r[23;1H[-123.4, 2.0e-20][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='abs'
[?25l[1;23r[23;1H
[1;24r[23;1Habs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%d', abs(1456))
[?25l[1;23r[23;1H
[1;24r[23;1H1456[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%d', abs(-4))
[?25l[1;23r[23;1H
[1;24r[23;1H4[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%d', abs([1, 2, 3]))
[?25l[1m[37m[41mE745: Using a List as a Number[m[24;32H[K[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', abs(14.56))
[?25l[1;23r[23;1H
[1;24r[23;1H14.56[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g',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
abs(-54.32))
[?25l[1;23r[23;1H
[1;24r[23;1H54.32[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ceil'
[?25l[1;23r[23;1H
[1;24r[23;1Hceil[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', ceil(1.456))
[?25l[1;23r[23;1H
[1;24r[23;1H2.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', ceil(-5.456))
[?25l[1;23r[23;1H
[1;24r[23;1H-5.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', ceil(-4.000))
[?25l[1;23r[23;1H
[1;24r[23;1H-4.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='floor'
[?25l[1;23r[23;1H
[1;24r[23;1Hfloor[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', floor(1.856))
[?25l[1;23r[23;1H
[1;24r[23;1H1.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', floor(-5.456))
[?25l[1;23r[23;1H
[1;24r[23;1H-6.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', floor(4.0))
[?25l[1;23r[23;1H
[1;24r[23;1H4.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='log10'
[?25l[1;23r[23;1H
[1;24r[23;1Hlog10[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', log10(1000))
[?25l[1;23r[23;1H
[1;24r[23;1H3.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', log10(0.01000))
[?25l[1;23r[23;1H
[1;24r[23;1H-2.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='pow'
[?25l[1;23r[23;1H
[1;24r[23;1Hpow[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', pow(3, 3.0))
[?25l[1;23r[23;1H
[1;24r[23;1H27.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', pow(2, 16))
[?25l[1;23r[23;1H
[1;24r[23;1H65536.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='round'
[?25l[1;23r[23;1H
[1;24r[23;1Hround[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', round(0.456))
[?25l[1;23r[23;1H
[1;24r[23;1H0.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', round(4.5))
[?25l[1;23r[23;1H
[1;24r[23;1H5.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', round(-4.50))
[?25l[1;23r[23;1H
[1;24r[23;1H-5.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='sqrt'
[?25l[1;23r[23;1H
[1;24r[23;1Hsqrt[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', sqrt(100))
[?25l[1;23r[23;1H
[1;24r[23;1H10.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hecho sqrt(-4.01)
[?25lnan[24;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='str2float'
[?25l[1;23r[23;1H
[1;24r[23;1Hstr2float[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', str2float('1e40'))
[?25l[1;23r[23;1H
[1;24r[23;1H1.0e40[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='trunc'
[?25l[1;23r[23;1H
[1;24r[23;1Htrunc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', trunc(1.456))
[?25l[1;23r[23;1H
[1;24r[23;1H1.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', trunc(-5.456))
[?25l[1;23r[23;1H
[1;24r[23;1H-5.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', trunc(4.000))
[?25l[1;23r[23;1H
[1;24r[23;1H4.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='float2nr'
[?25l[1;23r[23;1H
[1;24r[23;1Hfloat2nr[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =float2nr(123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H123[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =float2nr(-123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H-123[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='AND'
[?25l[1;23r[23;1H
[1;24r[23;1HAND[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(127, 127)
[?25l[1;23r[23;1H
[1;24r[23;1H127[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(127, 16)
[?25l[1;23r[23;1H
[1;24r[23;1H16[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(127, 128)
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='OR'
[?25l[1;23r[23;1H
[1;24r[23;1HOR[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =or(16, 7)
[?25l[1;23r[23;1H
[1;24r[23;1H23[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =or(8, 7)
[?25l[1;23r[23;1H
[1;24r[23;1H15[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =or(0, 123)
[?25l[1;23r[23;1H
[1;24r[23;1H123[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='XOR'
[?25l[1;23r[23;1H
[1;24r[23;1HXOR[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =xor(127, 127)
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =xor(127, 16)
[?25l[1;23r[23;1H
[1;24r[23;1H111[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =xor(127, 128)
[?25l[1;23r[23;1H
[1;24r[23;1H255[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='invert'
[?25l[1;23r[23;1H
[1;24r[23;1Hinvert[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(invert(127), 65535)
[?25l[1;23r[23;1H
[1;24r[23;1H65408[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(invert(16), 65535)
[?25l[1;23r[23;1H
[1;24r[23;1H65519[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(invert(128), 65535)
[?25l[1;23r[23;1H
[1;24r[23;1H65407[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =invert(1.0)
[?25l[1m[37m[41mE805: Using a Float as a Number[1;23r[m[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^Results/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test66.in" 33 lines, 509 characters[2;1HTest for visual block shift and tab characters.
STARTTEST
:so small.vim
/^one
fe[34m^V[m4jR[34m^[[mugvr1:'<,'>w! test.out
/^abcdefgh
[34m^V[m4jI [34m^[[mj<<11|D
7|a[13C[34m^[[m
7|a[16C[34m^[[m
7|a[13C[34m^[[m4k13|[34m^V[m4j<
:$-5,$w >> test.out
:$-4,$s/\s\+//g
[34m^V[m4kI [34m^[[mj<<
7|a[13C[34m^[[m
7|a[37C[34m^[[m
7|a[21C[34m^[[m4k13|[34m^V[m4j3<
:$-4,$w >> test.out
:qa!
ENDTEST
one two three[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 16 lines, 234 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^one
[?25l[23;1H[?12l[?25hon[?25l[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[19;3H[7me[m
on[7me[m two three
on[7me[m two three
on[7me[m two three
one two three[24;1H[K[23;3H[?12l[?25h[?25l
4 fewer lines[19;1H[K[20;1H[K[21;1Habcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz[19;1H[?12l[?25h[?25l[24;3Hmore lines; before #1 0 seconds ago[19;1Hone two three
one two three
one two three[21;14H[K[22;1Hone two three[22;14H[K[23;1Hone two three[23;14H[K[20;1H[?12l[?25h[?25l[19;3H[7me
[mon[7me
[mon[7me
[mon[7me
[mon[?12l[?25h[?25l[19;3H1
on1
on1
on1
on1[19;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h'<,'>w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 5 lines, 70 characters written[19;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^abcdefgh
[?25l[1;23r[1;1H[2M[1;24r[23;1Habcdefghijklmnopqrstuvwxyz[24;1H[K[23;1H[?12l[?25h[?25l[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[19;1H[7ma
a[mbcdefghijklmnopqrstuvwxyz
[7ma[mbcdefghijklmnopqrstuvwxyz
[7ma[mbcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
[?12l[?25h[?25l[19;1Ha
a
a
a[19;1H abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz[19;1H[?12l[?25h
[?25labcdefghijklmnopqrstuvwxyz[20;27H[K[20;1H[?12l[?25h[10C[?25l[20;11H[K[20;10H[?12l[?25h[21;10H[?25lc defghijklmnopqrstuvwxyz[21;16H[?12l[?25h[22;16H[22;7H[?25lc defghijklmnopqrstuvwxyz[22;19H[?12l[?25h[23;19H[23;7H[?25lc defghijklmnopqrstuvwxyz[23;16H[?12l[?25h[19;16H[?25l[?12l[?25h[?25l[7mi[21;13H [22;13H [23;13H[?12l[?25h[?25l[m
5 lines <ed 1 time[19;13Hi[21;13Hdefghijklmnopqrstuvwxyz[21;36H[K[22;13Hdefghijklmnopqrstuvwxyz[22;36H[K[23;13Hdefghijklmnopqrstuvwxyz[23;36H[K[19;13H[?12l[?25h[20;10H[?25l[24;1H[K[24;1H:[?12l[?25h$-5,$w >> test.out
[?25l"test.out"[24;12H[K[24;12H6 lines, 151 characters appended[20;10H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$-4,$s/\s\+//g
[?25l7 substitutions on 4 lines[19;1Habcdefghijklmnopqrstuvwxyz[19;27H[K[21;1Habcdefghijklmnopqrstuvwxyz[21;27H[K[22;1Habcdefghijklmnopqrstuvwxyz[22;27H[K[23;1Habcdefghijklmnopqrstuvwxyz[23;27H[K[23;1H[?12l[?25h[?25l[?12l[?25h[?25l[20;1H[7ma
a
a
a[19;1H[?12l[?25h[?25l[m
a
a
a
a[19;1H abcdefghijklmnopqrstuvwxyz
abcdefghij
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz[19;1H[?12l[?25h
[?25labcdefghij[20;11H[K[20;1H[?12l[?25h
ab[?25lc defghijklmnopqrstuvwxyz[21;16H[?12l[?25h[22;16H[22;7H[?25lc [10Cdefghijklmnopqrstuvwxyz[22;40H[?12l[?25h[23;30H[23;7H[?25lc defghijklmnopqrstuvwxyz[23;24H[?12l[?25h[19;24H[19;13H[?25l[?12l[?25h[?25l[7mi[21;13H [22;13H [23;13H[?12l[?25h[?25l[m
5 lines <ed 3 times[24;20H[K[19;13Hi[21;13Hdefghijklmnopqrstuvwxyz[21;36H[K[22;13H defghijklmnopqrstuvwxyz[22;41H[K[23;13Hdefghijklmnopqrstuvwxyz[23;36H[K[19;13H[?12l[?25h[20;10H[?25l[24;1H[K[24;1H:[?12l[?25h$-4,$w >> test.out
[?25l"test.out"[24;12H[K[24;12H5 lines, 147 characters appended[20;10H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test67.in" 33 lines, 1110 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest that groups and patterns are tested correctly when calling exists() for[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 27 lines, 999 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[9M[1;24r[15;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet results=[]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haugroup auexists
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haugroup END
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "##BufEnter: " . exists("##BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter: " . exists("#BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter * let g:entered=1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter: " . exists("#BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haugroup auexists
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter * let g:entered=1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haugroup END
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter *.test let g:entered=1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit testfile.test
[?25l"testfile.test" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter <buffer> let g:entered=1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit testfile2.test
[?25l"testfile2.test" [New File][1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [New File][1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(0, results)
[?25l[1;23r[1;1H[10L[1;24r[1;1H##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[24;1H[K[11;1H[?12l[?25h[?25l[24;1H:[?12l[?25h$d
[?25l[11;1H[1m[34m~ [10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" [New File] 10 lines, 190 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test68.in" 131 lines, 1004 characters[1;1HTest for text formatting.
Results of test68:
STARTTEST
:so small.vim
/^{/+1
:set noai tw=2 fo=t
gRa b[34m^[[m
ENDTEST
{
}
STARTTEST
/^{/+1
:set ai tw=2 fo=tw
gqgqjjllab[34m^[[m
ENDTEST
{[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for text formatting.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 4 lines, 48 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noai tw=2 fo=t
[?25l[13;1H[?12l[?25h[?25la
b[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 38 characters written[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[18;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[23;1H
[1;24r[23;1Ha b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset ai tw=2 fo=tw
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4H[K[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Ha[?12l[?25ha [?25l[1;23r[23;1H
[1;24r[23;1Hb[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H4 lines, 34 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H:set tw=3 fo=t
gqgqo
a [34m^V^A^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
a [34m^A[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=3 fo=t
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3H[K[23;1H[34m^A[m[24;1H[K[23;1H[?12l[?25h[2C[?25l[1;23r[1;1H[3M[1;24r[22;1Ha
[34m^A
[?12l[?25h[?25l[1;23r[m[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 58 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H:set tw=2 fo=tcq1 comments=:#
gqgqjgqgqo
a b
#a b[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
a b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=2 fo=tcq1 comments=:#
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H#a b[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Ha b
#a b[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 46 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=5 fo=tcn comments=:#
A b[34m^[[mjA b[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
1 a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=5 fo=tcn comments=:#
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hb[24;1H[K[23;5H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# 1 a[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# b[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+3
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 35 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=5 fo=t2a si
i [34m^[[mA_[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+3
[?25l[1;23r[1;1H[4M[1;24r[20;1H{
x a
b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=5 fo=t2a si
[?25l[23;1H[?12l[?25h[?25l b[?12l[?25h[?25l b_[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc[24;1H[K[23;5H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[4M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 40 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=5 fo=qn comments=:#
gwap
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
# 1 a b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=5 fo=qn comments=:#
[?25l[23;1H[?12l[?25h[?25l[23;7H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# b[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 40 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=5 fo=q2 comments=:#
gwap
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
# x[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=5 fo=q2 comments=:#
[?25l[23;1H[?12l[?25h[?25l# x a
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# b[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+2
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 26 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw& fo=a
I^^[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+2
[?25l[1;23r[1;1H[3M[1;24r[21;1H{
1aa
2bb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw& fo=a
[?25l[23;1H[?12l[?25h[?25l[21;3H1aa ^^2bb }[22;4H[K[23;1HSTARTTEST[21;8H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/mno pqr/[24;1H[K[23;1H[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 69 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:setl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/
A vwx yz[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hmno pqr/
[?25l[24;9H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/* abc def ghi jkl
* mno pqr stu[24;1H[K[23;7H[?12l[?25h[?25l
:[?12l[?25hsetl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/
[?25l[23;7H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H* vwx yz[24;1H[K[23;12H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H*/[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^#/
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 47 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:setl tw=12 fo=tqnc comments=:#
A foobar[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^#/
[?25l[24;4H[K[24;1H[1;23r[23;1H
[1;24r[23;1H# 1 xxxxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hsetl tw=12 fo=tqnc comments=:#
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# foobar[24;1H[K[23;10H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2 lines, 56 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[23;19H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:1;/^Results/,$wq! test.out[24;1H[K[23;19H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l63 fewer lines[24;15H[K[1;1H# 1 a[1;6H[K[2;1H# b[2;6H[K[3;1H}[3;2H[K[4;1H[K[5;1H[K[6;1H{
# x a[7;6H[K[8;1H# b[8;7H[K[9;1H}[9;2H[K[10;2H[K[12;1H{ 1aa ^^2bb }[13;1H[K[14;1H[K[15;1H/* abc def ghi jkl
* mno pqr stu
* vwx yz
*/[18;5H[K[19;1H[K[21;1H# 1 xxxxx
# foobar[22;11H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test69.in" 192 lines, 2185 characters[1;1HTest 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[34m^[[m
ENDTEST
{
XYZ
abc XYZ[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for multi-byte text formatting.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 2 lines, 34 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1HTest 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[34m^[[m
ENDTEST
{
XYZ
abc XYZ[10;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 58 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=2 fo=t
[?25l[22;1H[?12l[?25h
[?25l[1;23r[23;1H
[1;24r[22;5H[K[23;1HXYZ[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5HZ
abc [?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HX[?12l[?25h[?25lY[?12l[?25h[?25lZ[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H8 lines, 80 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[8M[1;24r[16;1H:set tw=1 fo=tm
gqgqjgqgqjgqgqjgqgqjgqgqo
X
Xa
X a
XY
X Y[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
X[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=1 fo=tm
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3H[K[23;1Ha[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HX a
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4H[K[23;1Ha[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3H[K[23;1HY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HX Y
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4H[K[23;1HY
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HX
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;1HX
a
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;1HX
a
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HY
[?12l[?25h[?25lX [?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H13 lines, 140 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo
X
Xa
X a
XY
X Y
aX
abX
abcX
abX c
abXY[34m^[[m
ENDTEST
{
X
Xa
X a
XY
X Y
aX
abX
abcX
abX c[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=2 fo=tm
[?25l[15;1H[?12l[?25h
[?25l[17;23r[17;1H[L[1;24r[16;3H[K[17;1Ha[24;1H[K[17;1H[?12l[?25h
[?25l[19;23r[19;1H[L[1;24r[18;4H[K[19;1Ha[?12l[?25h
[?25l[21;23r[21;1H[L[1;24r[20;3H[K[21;1HY
[?12l[?25h
[?25l[22;4H[K[23;1HY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HaX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HabX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3H[K[23;1HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HabcX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4H[K[23;1HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HabX c
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;3H[K[22;1HX
c[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HabXY
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;3H[K[22;1HX
Y
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HX
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;1HX
a
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;1HX
a
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HY
[?12l[?25h[?25lX [?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HY
a[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HX
ab[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HX
abc[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HX
ab[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1HX
c
ab[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HX[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 47 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H:set ai tw=2 fo=tm
gqgqjgqgqo
X
Xa[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
X[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset ai tw=2 fo=tm
[?25l[23;1H[?12l[?25h [?25l[1;23r[23;1H
[1;24r[23;3HXa[24;1H[K[23;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5H[K[23;3Ha[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
a[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 53 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H:set noai tw=2 fo=tm
gqgqjgqgqo
X
Xa[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
X[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset noai tw=2 fo=tm
[?25l[23;1H[?12l[?25h [?25l[1;23r[23;1H
[1;24r[23;3HXa[24;1H[K[23;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5H[K[23;1Ha[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
a[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H13 lines, 169 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo
X
Xa
XaY
XY
XYZ
X Y
X YZ
XX
XXa
XXY[34m^[[m
ENDTEST
{
X
Xa
XaY
XY
XYZ
X Y
X YZ
XX
XXa[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=2 fo=cqm comments=n:X
[?25l[15;1H[?12l[?25h
[?25l[18;23r[18;1H[L[1;24r[17;4H[K[18;1HXY[24;1H[K[18;1H[?12l[?25h
[?25l[21;23r[21;1H[L[1;24r[20;5H[K[21;1HXZ
[?12l[?25h
[?25l[1;23r[23;1H
[1;24r[22;6H[K[23;1HX Z
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXXa
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXXY
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HXa
[?12l[?25h[?25lXa[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HXY
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HY
[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HXZ
[?12l[?25h[?25lX [?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4HY
[?12l[?25h[?25lX [?12l[?25h[?25lY[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HX Z
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HXa
[?12l[?25h[?25lX[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 30 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=2 fo=tm
RXa[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=2 fo=tm
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HX
a[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 34 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set mps+=[34m^V[mu2018:[34m^V[mu2019
d%
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
‘[23;3Htwo three ’[23;15Hfour[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset mps+=^‘[24;12H:^’[24;14H
[?25l[23;1H[?12l[?25h[?25l four[23;7H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^ra test
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2 lines, 16 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1HjVjra
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^ra test
[?25l[1;23r[23;1H
[1;24r[23;1Hra test[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Habba
[?12l[?25h[?25l[2C[7mbba
[?12l[?25h[?25l[1;23r[m[23;1H
[1;24r[22;1H[7ma[m
a[7mab
[?12l[?25h[?25l[m[22;1Haaaa[22;5H[K[23;1Haaa[7m [m[23;4H[K[22;1H[?12l[?25h
[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set whichwrap+=h
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H4 lines, 43 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H/^x
dh
:set whichwrap-=h
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset whichwrap+=h
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^x
[?25l[1;23r[1;1H[2M[1;24r[22;1Há[23;1Hx[24;1H[K[23;1H[?12l[?25h[?25l[22;2Hx[23;1H[K[22;2H[?12l[?25h
[?25l
:[?12l[?25hset whichwrap-=h
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:let a = '.é[23;13H.' " one char of two bytes
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H9 lines, 548 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[13M[1;24r[11;1H:let b = '.é.' " normal e with composing char
/^byteidx
:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[14;1Hx(a, 4)])
:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[16;1Hx(b, 4)])
/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[19;1Hmp(a, 3), byteidxcomp(a, 4)])
:let b = '.é.'
:put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[22;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet a = '.é[24;13H.' " one char of two bytes
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b = '.eé.' " normal e with composing char
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^byteidx
[?25l[1;23r[23;1H
[1;24r[23;1Hbyteidx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), bytei
[23;80Hd[24;1Hx(a, 4)])
[?25l[1;1H[L[1;1H:set whichwrap-=h
ENDTEST[2;8H[K[3;1H[K[4;1Há[4;2Hx[5;1H[K[6;1HSTARTTEST
:let a = '.é[7;13H.' " one char of two bytes[8;6Hb = '.é.' " normal e with composing char
/^byteidx[9;10H[K[10;1H:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[11;1Hx(a, 4)])[11;10H[K[12;1H:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[13;1Hx(b, 4)])[13;10H[K[14;1H/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[16;1Hmp(a, 3), byteidxcomp(a, 4)])[16;30H[K[17;1H:let b = '.é.'[17;15H[K[18;2Hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[19;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])[19;49H[K[20;1HENDTEST[20;8H[K[21;1H[K[22;1Hbyteidx
[0, 1, 3, 4, -1][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), bytei
[23;80Hd[24;1Hx(b, 4)])
[?25l[1;1H[L[1;1HENDTEST[2;1H[K[3;1Há[3;2Hx[4;1H[K[5;1HSTARTTEST
:let a = '.é[6;13H.' " one char of two bytes[7;6Hb = '.é.' " normal e with composing char
/^byteidx[8;10H[K[9;1H:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[10;1Hx(a, 4)])[10;10H[K[11;1H:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[12;1Hx(b, 4)])[12;10H[K[13;1H/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[15;1Hmp(a, 3), byteidxcomp(a, 4)])[15;30H[K[16;1H:let b = '.é.'[16;15H[K[17;2Hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[18;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])[18;49H[K[19;1HENDTEST[19;8H[K[20;1H[K[21;1Hbyteidx
[0, 1, 3, 4, -1][23;8H4, 5[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^byteidxcomp
[?25l[1;23r[23;1H
[1;24r[23;1Hbyteidxcomp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxc
[23;80Ho[24;1Hmp(a, 3), byteidxcomp(a, 4)])
[?25l[1;1H[L[1;1Há[1;2Hx[2;1H[K[3;1HSTARTTEST
:let a = '.é[4;13H.' " one char of two bytes[5;6Hb = '.é.' " normal e with composing char
/^byteidx[6;10H[K[7;1H:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[8;1Hx(a, 4)])[8;10H[K[9;1H:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[10;1Hx(b, 4)])[10;10H[K[11;1H/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[13;1Hmp(a, 3), byteidxcomp(a, 4)])[13;30H[K[14;1H:let b = '.é.'[14;15H[K[15;2Hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[16;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])[16;49H[K[17;1HENDTEST[17;8H[K[18;1H[K[19;1Hbyteidx
[0, 1, 3, 4, -1][21;8H4, 5
byteidxcomp[22;12H[K[23;1H[0, 1, 3, 4, -1][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet b = '.eé.'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxc
[23;80Ho[24;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])
[?25l[1;1H[L[2;1HSTARTTEST
:let a = '.é[3;13H.' " one char of two bytes[4;6Hb = '.é.' " normal e with composing char
/^byteidx[5;10H[K[6;1H:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[7;1Hx(a, 4)])[7;10H[K[8;1H:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[9;1Hx(b, 4)])[9;10H[K[10;1H/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[12;1Hmp(a, 3), byteidxcomp(a, 4)])[12;30H[K[13;1H:let b = '.é.'[13;15H[K[14;2Hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[15;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])[15;49H[K[16;1HENDTEST[16;8H[K[17;1H[K[18;1Hbyteidx
[0, 1, 3, 4, -1][20;8H4, 5
byteidxcomp[21;12H[K[22;1H[0, 1, 3, 4, -1][23;8H2, 4, 5, -1][24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^substitute
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2 lines, 75 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H:let y = substitute('123', '\zs', 'a', 'g') | put =y
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1Hsubstitute[22;1H[?12l[?25h[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^substitute
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet y = substitute('123', '\zs', 'a', 'g') | put =y
[?25l[1;23r[1;1H[2M[1;24r[22;1Ha1a2a3a[24;1H[K[22;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1H:g/^STARTTEST/.,/^ENDTEST/d
:1;/^Results/,$wq! test.out[22;1H[?12l[?25h[?25l
:set ff=unix cpo-=A
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2 lines, 56 characters written[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[22;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[22;19H[?12l[?25h[23;19H
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l104 fewer lines[24;16H[K[1;1H{[1;2H[K[2;1H four[2;6H[K[3;1H}[3;2H[K[4;1H[K[5;1Hra test
aaaa[6;5H[K[7;1Haaa[7;5H[K[8;1H[K[9;1H[K[10;1Há[10;2Hx[10;3H[K[11;1H[K[13;1Hbyteidx[13;8H[K[14;1H[0, 1, 3, 4, -1]
[0, 1, 4, 5, -1][15;17H[K[16;1Hbyteidxcomp
[0, 1, 3, 4, -1]
[0, 1, 2, 4, 5, -1][19;1H[K[21;1Hsubstitute
a1a2a3a[22;11H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [24;12H[Kgcc -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
[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test70.in" 63 lines, 1501 characters[1;1HSmoke 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HSmoke test for MzScheme interface and mzeval() function[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 55 lines, 1398 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[19;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mzscheme.vim
[?25l"test.ok" [24;11H[K[24;11H6 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test73.in" 169 lines, 3647 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for find completion.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 164 lines, 3600 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Do all test in a separate window to avoid E211 when we recursively
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" delete the Xfind directory during cleanup
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" This will cause a few errors, do it silently.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset visualbell
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" On windows a stale "Xfind" directory may exist, remove it so that
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" we start from a clean state.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xfind", "rf")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7mtest73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet cwd=getcwd()
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet test_out = cwd . '/test.out'
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xfind')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd Xfind
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind[23;1H[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/test73.in[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind ...[?25l[24;7H[K[24;7H[?5h[?5l[?12l[?25h
[?25l[1m[37m[41mE345: Can't find file "" in path[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w! " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
</vim-tlTJJ2/vim-8.0.0197/src/vim-athena/testdir/test.out" [New] 0L, 0C written[12;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/test73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind ...[?25l[24;7H[K[24;7H[?5h[?5l[?12l[?25h
[?25l[1m[37m[41mE32: No file name[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out" 0L, 0C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/test73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=.,,
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind ...[?25l[24;7H[K[24;7H[?5h[?5l[?12l[?25h
[?25l[1m[37m[41mE32: No file name[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out" 0L, 0C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/test73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=./**
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind ...[?25l[24;7H[K[24;7H[?5h[?5l[?12l[?25h
[?25l[1m[37m[41mE32: No file name[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out" 0L, 0C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/test73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" We shouldn't find any file at this point, test.out must be empty.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('in')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd in
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/in[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('path')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir[23;1H[7mtest73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfind/file.txt
[?25l"Xfind/file.txt" [New File][12;1H[1m[7mXfind/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HHoly Grail[12;16H[1m[7m[+][1;10H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"Xfind/file.txt" [New] 1L, 11C written[12;16H[1m[7m [1;10H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfind/in/file.txt
[?25l"Xfind/in/file.txt" [New File][1;1H[K[12;7H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HJimmy Hoffa[12;19H[1m[7m[+][1;11H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"Xfind/in/file.txt" [New] 1L, 12C written[12;19H[1m[7m [1;11H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfind/in/stuff.txt
[?25l"Xfind/in/stuff.txt" [New File][1;1H[K[12;10H[1m[7mstuff.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HAnother Holy Grail[12;20H[1m[7m[+][1;18H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"Xfind/in/stuff.txt" [New] 1L, 19C written[12;20H[1m[7m [1;18H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfind/in/path/file.txt
[?25l"Xfind/in/path/file.txt" [New File][1;1H[K[12;10H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HE.T.[12;24H[1m[7m[+][1;4H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"Xfind/in/path/file.txt" [New] 1L, 5C written[12;24H[1m[7m [1;4H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=Xfind/**
[?25l[1;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" [24;18H[K[24;18H1L, 11C[1;1HHoly Grail[12;7H[1m[7mfile.txtf [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 11C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;7H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h...[?25l[24;7Hpath/file.txt[24;20H[K[24;20H[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5C[1;1HE.T.[1;5H[K[12;10H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out" 1L, 5C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Rerun the previous three find completions, using fullpath in 'path'
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "set path=" . cwd . "/Xfind/**"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" [24;18H[K[24;18H1L, 11C[1;1HHoly Grail[12;7H[1m[7mfile.txtf [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 11C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;7H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h...[?25l[24;7Hpath/file.txt[24;20H[K[24;20H[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5C[1;1HE.T.[1;5H[K[12;10H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out" 1L, 5C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Same steps again, using relative and fullpath items that point to the same
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" recursive location.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" This is to test that there are no duplicates in the completion list.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "set path+=Xfind/**"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" [24;18H[K[24;18H1L, 11C[1;1HHoly Grail[12;7H[1m[7mfile.txtf [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 11C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;7H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h...[?25l[24;7Hpath/file.txt[24;20H[K[24;20H[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5C[1;1HE.T.[1;5H[K[12;10H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out" 1L, 5C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;10H[1m[7mfile.txte [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" Test find completion for directory of current buffer, which at this point
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" is Xfind/in/file.txt.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset path=.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind st...[?25luff.txt[?12l[?25h
[?25l"Xfind/in/stuff.txt" 1L, 19C[1;1HAnother Holy Grail[12;10H[1m[7mstuff.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 19C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test find completion for empty path item ",," which is the current directory
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd Xfind
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind[12;1H[1m[7min/stuff.txtf [m[23;1H[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/test73.in[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=,,
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind f...[?25lile.txt[?12l[?25h...[?25l[24;15H[K[24;15H[?12l[?25h
[?25l"file.txt" [24;12H[K[24;12H1L, 11C[1;1HHoly Grail[1;11H[K[12;1H[1m[7mfile.txt. [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 11C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test shortening of
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" foo/x/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" foo/y/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When current directory is above foo/ they should be shortened to (in order
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" of appearance):
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" x/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" y/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('foo')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd foo
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foo[12;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall mkdir('x')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('y')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd x
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foo/x[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('bar')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foo[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd y
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foo/y[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('bar')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foo[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind[12;1H[1m[7mfile.txti [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" We should now be in the Xfind directory
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he foo/x/bar/voyager.txt
[?25l"foo/x/bar/voyager.txt" [New File][1;1H[K[12;2H[1m[7moo/x/bar/voyager.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HVoyager 1[12;23H[1m[7m[+][1;9H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"foo/x/bar/voyager.txt" [New] 1L, 10C written[12;23H[1m[7m [1;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he foo/y/bar/voyager.txt
[?25l"foo/y/bar/voyager.txt" [New File][1;1H[K[12;5H[1m[7my/[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HVoyager 2[12;23H[1m[7m[+][1;9H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"foo/y/bar/voyager.txt" [New] 1L, 10C written[12;23H[1m[7m [1;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "set path=" . cwd . "/Xfind/**"
[?25l[1;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7Hx/bar/voyager.txt[?5h[?5l[?12l[?25h
[?25l"foo/x/bar/voyager.txt" 1L, 10C[1;9H1[12;5H[1m[7mx/[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7Hx/bar/voyager.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hy[24;24H[K[24;24H[?12l[?25h
[?25l"foo/y/bar/voyager.txt" 1L, 10C[1;9H2[12;5H[1m[7my/[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When current directory is .../foo/y/bar they should be shortened to (in
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" order of appearance):
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" ./voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" x/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd foo
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foo[12;1H[1m[7my/bar/voyager.txt. [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcd y
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foo/y[12;1H[1m[7mbar/voyager.txt [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcd bar
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foo/y/bar[12;1H[1m[7mvoyager.txt. [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7H./voyager.txt[?5h[?5l[?12l[?25h
[?25l"voyager.txt" [24;15H[K[24;15H1L, 10C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7H./voyager.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hx/bar/voyager.txt[?12l[?25h
[?25l<d/vim-tlTJJ2/vim-8.0.0197/src/vim-athena/testdir/Xfind/foo/x/bar/voyager.txt"
<lTJJ2/vim-8.0.0197/src/vim-athena/testdir/Xfind/foo/x/bar/voyager.txt" 1L, 10C[1;9H1[12;1H[1m[7m<ild/vim-tlTJJ2/vim-8.0.0197/src/vim-athena/testdir/Xfind/foo/x/bar/voyager.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check the opposite too:
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foo/y[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foo[12;1H[1m[7mx/bar/voyager.txti [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcd x
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foo/x[12;1H[1m[7mbar/voyager.txt [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcd bar
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/foo/x/bar[12;1H[1m[7mvoyager.txt. [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7H./voyager.txt[?5h[?5l[?12l[?25h
[?25l"voyager.txt" [24;15H[K[24;15H1L, 10C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7H./voyager.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hy/bar/voyager.txt[?12l[?25h
[?25l<d/vim-tlTJJ2/vim-8.0.0197/src/vim-athena/testdir/Xfind/foo/y/bar/voyager.txt"
<lTJJ2/vim-8.0.0197/src/vim-athena/testdir/Xfind/foo/y/bar/voyager.txt" 1L, 10C[1;9H2[12;1H[1m[7m<ild/vim-tlTJJ2/vim-8.0.0197/src/vim-athena/testdir/Xfind/foo/y/bar/voyager.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check for correct handling of shorten_fname()'s behavior on windows
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "cd " . cwd . "/Xfind/in"
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind/in[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./file.txt[?5h[?5l[?12l[?25h
[?25l"file.txt" [24;12H[K[24;12H1L, 12C[1;1HJimmy Hoffa[12;1H[1m[7mfile.txt- [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for relative to current buffer 'path' item
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "cd " . cwd . "/Xfind/"
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xfind[12;1H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=./path
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Open the file where Jimmy Hoffa is found
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he in/file.txt
[?25l"in/file.txt" 1L, 12C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Find the file containing 'E.T.' in the Xfind/in/path directory
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25ltxt[?12l[?25h
[?25l"in/path/file.txt" 1L, 5C[1;1HE.T.[1;5H[K[12;4H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out" 1L, 5C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test that completion works when path=.,,
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset path=.,,
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Open Jimmy Hoffa file
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he in/file.txt
[?25l"in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;4H[1m[7mfile.txte [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Search for the file containing Holy Grail in same directory as in/path.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind stu...[?25lff.txt[?12l[?25h
[?25l"in/stuff.txt" 1L, 19C[1;1HAnother Holy Grail[12;4H[1m[7mstuff.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test.out"
<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-athena/testdir/test.out" 1L, 19C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xfind", "rf")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test75.in" 41 lines, 1000 characters[1;1HTests 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[34m^[[m:"[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for maparg().[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 34 lines, 919 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[16M[1;24r[8;1H:" 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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo-=<
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf8
[?25l[27m[23m[m[H[2J[1;1H:map abc x<char-114>x
:call append('$', maparg('abc'))
:map abc y<S-char-114>y
:call append('$', maparg('abc'))
:"
Go[34m^[[m:"
:" 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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap foo<C-V> is<F4>foo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hvnoremap <script> <buffer> <expr> <silent> bar isbar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', maparg('foo<C-V>'))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', string(maparg('foo<C-V>', '', 0, 1)))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', string(maparg('bar', '', 0, 1)))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap <buffer> <nowait> foo bar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', string(maparg('foo', '', 0, 1)))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap abc x<char-114>x
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', maparg('abc'))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap abc y<S-char-114>y
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', maparg('abc'))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[10M[1;24r[14;1Heof
is<F4>foo
{'silent': 0, 'noremap': 0, 'lhs': 'foo<C-V>', 'mode': ' ', 'nowait': 0, 'expr'::[17;1H 0, 'sid': 0, 'rhs': 'is<F4>foo', 'buffer': 0}
{'silent': 1, 'noremap': 1, 'lhs': 'bar', 'mode': 'v', 'nowait': 0, 'expr': 1, ''[19;1Hsid': 0, 'rhs': 'isbar', 'buffer': 1}
{'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ', 'nowait': 1, 'expr': 0, ''[21;1Hsid': 0, 'rhs': 'bar', 'buffer': 1}
xrx
yRy[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Outside of the range, minimum
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <Char-0x1040> a
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexecute "normal a\u1040\<Esc>"
[?25l[23;1Ha[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Inside of the range, minimum
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <Char-0x103f> b
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexecute "normal a\u103f\<Esc>"
[?25l[23;2Hb[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Inside of the range, maximum
[?25l[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <Char-0xf03f> c
[?25l[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexecute "normal a\uf03f\<Esc>"
[?25l[23;3Hc[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Outside of the range, maximum
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <Char-0xf040> d
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexecute "normal a\uf040\<Esc>"
[?25l[23;4Hd[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^eof/+1,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 7 lines, 384 characters written[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test77.in" 30 lines, 719 characters[1;1HInserts 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 | endwhile[22;1Hggdd
:w! Xtest[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HInserts 2 million lines with consecutive integers starting from 1[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 288 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[12;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[6M[1;24r[18;1H:r !cksum Xtest
:s/\s/ /g
:set fileformat&
:.w! test.out
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !executable("cksum")
[?25l
: [?12l[?25h: e! test.ok
[?25l: [?12l[?25h: w! test.out
[?25l: [?12l[?25h: qa!
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1Hcksum is part of POSIX and so should be available on most Unixes.
If it isn't available then the test will be skipped.
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset fileformat=unix undolevels=-1
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[7L[1;24r[1;1HInserts 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.[24;1H[K[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet i = 1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwhile i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhil
[23;80He[24;1Hgcc -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
[?25l[1;1H[L[2;1H1[2;2H[K[3;1H2[3;2H[K[4;1H3[4;2H[K[5;1H4[5;2H[K[6;1H5[6;2H[K[7;1H6[7;2H[K[8;1H7[8;2H[K[9;1H8[9;2H[K[10;1H9[10;2H[K[11;1H10[11;3H[K[12;1H11[12;3H[K[13;1H12[13;3H[K[14;1H13[14;3H[K[15;1H14[15;3H[K[16;1H15[16;3H[K[17;1H16[17;3H[K[18;1H17[18;3H[K[19;1H18[19;3H[K[20;1H19[20;3H[K[21;1H20[21;3H[K[22;1H21[22;3H[K[23;1H22[23;3H[K[24;1H[K[1;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H23[1;1H[?12l[?25h
[?25l[24;1H:[?12l[?25hw! Xtest
[?25l"Xtest" [24;9H[K[24;9H[New File] 2000000 lines, 14888896 characters written[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hr !cksum Xtest
[?25l[?12l[?25h[27m[23m[m[H[2J[?25l[1;1H1
2
3678979763 14888896 Xtest
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hs/\s/ /g
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformat&
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 26 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test79.in" 255 lines, 3381 characters[1;1HTest 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/[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for *sub-replace-special* and *sub-replace-expression* on :substitute.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1 line, 14 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[12;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H25 lines, 347 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj:s/L/[34m^V^M[m/
j:s/M/\r/
j:s/N/\[34m^V^M[m/
j:s/O/\n/
j:s/P/\b/
j:s/Q/\t/
j:s/R/\\/
j:s/S/\c/
j:s/T/[34m^V^@[m/
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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/&&/
[?25l[15;2HA
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/\&/
[?25l[16;1H&[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/
[?25l[17;11H987654321
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/D/d/
[?25l[18;1Hd[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/E/~/
[?25l[19;1Hd[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/F/\~/
[?25l[20;1H~[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/G/\ugg/
[?25l[21;2Hg
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/H/\Uh\Eh/
[?25l[22;2Hh
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/I/\lII/
[?25l[23;1HiI
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HJ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/J/\LJ\EJ/
[?25l[23;1HjJ
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HK[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/K/\Uk\ek/
[?25l[23;2Hk
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HlLl[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/L/^[34m^M[m/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hl[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HmMm
[?12l[?25h[?25l
:[?12l[?25hs/M/\r/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hm[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HnNn
[?12l[?25h[?25l
:[?12l[?25hs/N/\^[34m^M[m/
[?25l[23;2H[34m^M[mn
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HoOo[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/O/\n/
[?25l[23;2H[34m^@[mo
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HpPp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/P/\b/
[?25l[23;2H[34m^H[mp
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HqQq[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/Q/\t/
[?25l[23;2H q
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HrRr[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/R/\\/
[?25l[23;2H\
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HsSs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/S/\c/
[?25l[23;2Hc
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HtTt[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/T/^[34m^@[m/
[?25l[23;2H[34m^@[mt
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HU[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/U/\L\uuUu\l\EU/
[?25l[23;2HuuU
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HV[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/V/\U\lVvV\u\Ev/
[?25l[23;1HvVVv
[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set nomagic
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H25 lines, 351 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj:s/L/[34m^V^M[m/
j:s/M/\r/
j:s/N/\[34m^V^M[m/
j:s/O/\n/
j:s/P/\b/
j:s/Q/\t/
j:s/R/\\/
j:s/S/\c/
j:s/T/[34m^V^@[m/
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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nomagic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/&&/
[?25l[15;1H&&
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/\&/
[?25l[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/\mC\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/
[?25l[17;11H987654321
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/D/d/
[?25l[18;1Hd[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/E/~/
[?25l[19;1H~[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/F/\~/
[?25l[20;1H~[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/G/\ugg/
[?25l[21;2Hg
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/H/\Uh\Eh/
[?25l[22;2Hh
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/I/\lII/
[?25l[23;1HiI
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HJ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/J/\LJ\EJ/
[?25l[23;1HjJ
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HK[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/K/\Uk\ek/
[?25l[23;2Hk
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HlLl[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/L/^[34m^M[m/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hl[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HmMm
[?12l[?25h[?25l
:[?12l[?25hs/M/\r/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hm[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HnNn
[?12l[?25h[?25l
:[?12l[?25hs/N/\^[34m^M[m/
[?25l[23;2H[34m^M[mn
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HoOo[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/O/\n/
[?25l[23;2H[34m^@[mo
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HpPp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/P/\b/
[?25l[23;2H[34m^H[mp
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HqQq[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/Q/\t/
[?25l[23;2H q
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HrRr[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/R/\\/
[?25l[23;2H\
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HsSs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/S/\c/
[?25l[23;2Hc
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HtTt[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/T/^[34m^@[m/
[?25l[23;2H[34m^@[mt
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HU[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/U/\L\uuUu\l\EU/
[?25l[23;2HuuU
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HV[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/V/\U\lVvV\u\Ev/
[?25l[23;1HvVVv
[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H15 lines, 203 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj:s/B/\='\\'/
j:s/C/\='[34m^V^M[m'/
j:s/D/\='\[34m^V^M[m'/
j:s/E/\='\\[34m^V^M[m'/
j:s/F/\='\r'/
j:s/G/\='[34m^V^@[m'/
j:s/H/\='\[34m^V^@[m'/
j:s/I/\='\\[34m^V^@[m'/
j:s/J/\='\n'/
j:s/K/\="\r"/
j:s/L/\="\n"/
ENDTEST
TEST_3:
aAa
bBb
cCc
dDd
eEe
fFf
gGg
hHh
iIi[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/\='\'/
[?25l[15;2H\
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/\='\\'/
[?25l[16;2H\\b
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/C/\='^[34m^M[m'/
[?25l[18;23r[18;1H[L[1;24r[17;2H[K[18;1Hc[24;1H[K[18;1H[?12l[?25h
[?25l[24;1H:[?12l[?25hs/D/\='\^[34m^M[m'/
[?25l[20;23r[20;1H[L[1;24r[19;2H\[19;3H[K[20;1Hd[24;1H[K[20;1H[?12l[?25h
[?25l
:[?12l[?25hs/E/\='\\^[34m^M[m'/
[?25l[21;2H\\
e[22;2H[K[23;1HfFf[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/F/\='\r'/
[?25l[23;2H\rf
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HgGg[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/G/\='^[34m^@[m'/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hg[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HhHh
[?12l[?25h[?25l
:[?12l[?25hs/H/\='\^[34m^@[m'/
[?25l[1;23r[23;1H
[1;24r[22;2H\[22;3H[K[23;1Hh[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HiIi
[?12l[?25h[?25l
:[?12l[?25hs/I/\='\\^[34m^@[m'/
[?25l[1;23r[23;1H
[1;24r[22;2H\\
i[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HjJj
[?12l[?25h[?25l
:[?12l[?25hs/J/\='\n'/
[?25l[23;2H\nj
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HkKk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/K/\="\r"/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hk[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HlLl
[?12l[?25h[?25l
:[?12l[?25hs/L/\="\n"/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hl[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H15 lines, 611 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj:s/B/\=substitute(submatch(0), '.', '\\', '')/
j:s/C/\=substitute(submatch(0), '.', '[34m^V^M[m', '')/
j:s/D/\=substitute(submatch(0), '.', '\[34m^V^M[m', '')/
j:s/E/\=substitute(submatch(0), '.', '\\[34m^V^M[m', '')/
j:s/F/\=substitute(submatch(0), '.', '\r', '')/
j:s/G/\=substitute(submatch(0), '.', '[34m^V^@[m', '')/
j:s/H/\=substitute(submatch(0), '.', '\[34m^V^@[m', '')/
j:s/I/\=substitute(submatch(0), '.', '\\[34m^V^@[m', '')/
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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/\=substitute(submatch(0), '.', '\', '')/
[?25l[15;2H\
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/\=substitute(submatch(0), '.', '\\', '')/
[?25l[16;2H\
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/C/\=substitute(submatch(0), '.', '^[34m^M[m', '')/
[?25l[18;23r[18;1H[L[1;24r[17;2H[K[18;1Hc[24;1H[K[18;1H[?12l[?25h
[?25l[24;1H:[?12l[?25hs/D/\=substitute(submatch(0), '.', '\^[34m^M[m', '')/
[?25l[20;23r[20;1H[L[1;24r[19;2H[K[20;1Hd[24;1H[K[20;1H[?12l[?25h
[?25l
:[?12l[?25hs/E/\=substitute(submatch(0), '.', '\\^[34m^M[m', '')/
[?25l[21;2H\[21;3H[K[22;1He[22;2H[K[23;1HfFf[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/F/\=substitute(submatch(0), '.', '\r', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hf[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HgGg
[?12l[?25h[?25l
:[?12l[?25hs/G/\=substitute(submatch(0), '.', '^[34m^@[m', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hg[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HhHh
[?12l[?25h[?25l
:[?12l[?25hs/H/\=substitute(submatch(0), '.', '\^[34m^@[m', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hh[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HiIi
[?12l[?25h[?25l
:[?12l[?25hs/I/\=substitute(submatch(0), '.', '\\^[34m^@[m', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H\[22;3H[K[23;1Hi[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HjJj
[?12l[?25h[?25l
:[?12l[?25hs/J/\=substitute(submatch(0), '.', '\n', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hj[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HkKk
[?12l[?25h[?25l
:[?12l[?25hs/K/\=substitute(submatch(0), '.', "\r", '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hk[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HlLl
[?12l[?25h[?25l
:[?12l[?25hs/L/\=substitute(submatch(0), '.', "\n", '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hl[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 445 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[9M[1;24r[15;1H:set cpo&
/^TEST/
j:s/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) ..[18;1H submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch(([19;1H3) . submatch(2) . submatch(1)/
j:s/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), subb[21;1Hmatch(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), subb[22;1Hmatch(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[1;23r[23;1H
[1;24r[23;1HTEST_5:[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HA123456789
[?12l[?25h[?25l
:[?12l[?25hs/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) .
submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch(
[23;80H3[24;1H) . submatch(2) . submatch(1)/
[?25l[1;1H[2L[1;1Hi\
i[23;11H987654321[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HB123456789
[?12l[?25h[?25l
:[?12l[?25hs/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), sub
[23;80Hm[24;1Hatch(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), sub
[23;80Hm[24;1Hatch(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/
[?25l[1;1H[2L[1;1Hi
j[23;1H[['B123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']][24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H8 lines, 80 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[8M[1;24r[16;1H/^TEST/
:set cpo+=/
j:s/A/a/
j:s/B/%/
:set cpo-=/
j:s/C/c/
j:s/D/%/
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1HTEST_6:
A
B[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hset cpo+=/
[?25l[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/a/
[?25l[22;1Ha[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/%/
[?25l[23;1Ha[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo-=/
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1HC
D[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hs/C/c/
[?25l[21;1Hc[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/D/%/
[?25l[22;1H%[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H11 lines, 303 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[11M[1;24r[13;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST_7/
[?25l[24;9H[K[24;1H[1;23r[23;1H
[1;24r[23;1HTEST_7:[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HA[34m^M[mA
[?12l[?25h[?25l
:[?12l[?25hs/A./\=submatch(0)/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1HA[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HB[34m^@[mB
[?12l[?25h[?25l
:[?12l[?25hs/B./\=submatch(0)/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1HB[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HC[34m^@[mC
[?12l[?25h[?25l
:[?12l[?25hs/C./\=strtrans(string(submatch(0, 1)))/
[?25l[23;1H['C^@']C
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HD[34m^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/D.\nD/\=strtrans(string(submatch(0, 1)))/
[?25l[23;1H['D^@', 'D']
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HE[34m^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/E\_.\{-}E/\=strtrans(string(submatch(0, 1)))/
[?25l[23;1H['E^@', '^@', '^@', '^@', '^@E']
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Q$
[?25l[1;23r[23;1H
[1;24r[23;1HQ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/Q[^\n]Q/\=submatch(0)."foobar"/
[?25l[1m[37m[41mE486: Pattern not found: Q[^\n]Q[m[24;33H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Avoid :s error breaks dotest map on Windows.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1HQ
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:function! TitleString()
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H8 lines, 177 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[8M[1;24r[16;3Hlet check = 'foo' =~ 'bar'
return ""
endfunction
:set titlestring=%{TitleString()}
:/^test_one/s/.*/\="foo\nbar"/
:/^test_two/s/.*/\="foo\nbar"/c
y
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! TitleString()
[?25l
: [?12l[?25h let check = 'foo' =~ 'bar'
[?25l: [?12l[?25h return ""
[?25l: [?12l[?25hendfunction
[1;1H[3L[?25l[2;1HTEST_7:
A[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset titlestring=%{TitleString()}
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^test_one/s/.*/\="foo\nbar"/
[?25l[1;23r[1;1H[2M[1;24r[22;1Hfoo
bar[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^test_two/s/.*/\="foo\nbar"/c
[?25l[1;23r[23;1H
[1;24r[23;1H[7mtest_two[m[24;1H[K[24;1H[32mreplace with \="foo\nbar" (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[1;23r[23;1H
[1;24r[22;1Hfoo[22;4H[K[23;1Hbar
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 72 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[23;19H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:1;/^Results/,$wq! test.out[24;1H[K[23;19H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l136 fewer lines[24;16H[K[1;1Ha[1;2H[K[2;1Ha
c
%[5;1H[K[6;1H[K[7;1HTEST_7:[7;8H[K[8;1HA[8;3H[K[9;1HA[9;2H[K[10;1HB[10;2H[K[11;1HB[11;2H[K[12;1H['C^@']C[12;9H[K[13;1H['D^@', 'D']
['E^@', '^@', '^@', '^@', '^@E']
Q
Q[16;2H[K[17;1H[K[18;1H[K[19;1Hfoo
bar
foo[21;4H[K[22;1Hbar[22;4H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test80.in" 201 lines, 6298 characters[1;1HTest 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\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[18;1H, '\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', '')[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for *sub-replace-special* and *sub-replace-expression* on substitute().[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1 line, 14 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H29 lines, 1142 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[12;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[23;1H, '\0\9\8\7\6\5\4\3\2\1', '')[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_1:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1H:set cpo&
:$put =\"\n\nTEST_10:\"
:let y = substitute('123', '\zs', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\zs.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\zs', 'a', 'g')[12C| $put =y
:let y = substitute('123', '\ze', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\ze.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\ze', 'a', 'g')[12C| $put =y
:let y = substitute('123', '1\|\ze', 'a', 'g')[10C| $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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A', 'A', '&&', '')
[?25l[1;23r[23;1H
[1;24r[23;1HAA[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('B', 'B', '\&', '')
[?25l[1;23r[23;1H
[1;24r[23;1H&[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)
[23;80H'[24;1H, '\0\9\8\7\6\5\4\3\2\1', '')
[?25l[1;1H[L[1;1H:let y = substitute('123', '\zs.', 'a', 'g')[12C| $put =y[2;29H.\zs[3;29H\ze', 'a', 'g') [4;32H.', 'a', 'g')[5;29H.\ze[6;29H1\|\ze', 'a', 'g')[7;31Hzs\|[23]', 'a', 'g')
/^TEST_11[8;10H[K[9;1HENDTEST[9;8H[K[10;1H[K[11;1HTEST_11:[12;1H[K[13;1HSTARTTEST
:/^Results/,$wq! test.out
ENDTEST[15;8H[K[16;1H[K[17;1HResults of test72:[18;1H[K[20;1HTEST_1:
AA[21;3H[K[22;1H&[22;2H[K[23;1HC123456789987654321[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('D', 'D', 'd', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('E', 'E', '~', '')
[?25l[1;23r[23;1H
[1;24r[23;1H~[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('F', 'F', '\~', '')
[?25l[1;23r[23;1H
[1;24r[23;1H~[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('G', 'G', '\ugg', '')
[?25l[1;23r[23;1H
[1;24r[23;1HGg[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('H', 'H', '\Uh\Eh', '')
[?25l[1;23r[23;1H
[1;24r[23;1HHh[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('I', 'I', '\lII', '')
[?25l[1;23r[23;1H
[1;24r[23;1HiI[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('J', 'J', '\LJ\EJ', '')
[?25l[1;23r[23;1H
[1;24r[23;1HjJ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('K', 'K', '\Uk\ek', '')
[?25l[1;23r[23;1H
[1;24r[23;1HKk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('lLl', 'L', '^[34m^M[m', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hl[34m^M[ml[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('mMm', 'M', '\r', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hm[34m^M[mm[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('nNn', 'N', '\^[34m^M[m', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hn[34m^M[mn[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('oOo', 'O', '\n', '')
[?25l[1;23r[1;1H[2M[1;24r[22;1Ho
o[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('pPp', 'P', '\b', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hp[34m^H[mp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('qQq', 'Q', '\t', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hq[7Cq[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('rRr', 'R', '\\', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hr\r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('sSs', 'S', '\c', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hscs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('uUu', 'U', \"\n\", '')
[?25l[1;23r[1;1H[2M[1;24r[22;1Hu
u[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('vVv', 'V', \"\b\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hv[34m^H[mv[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('wWw', 'W', \"\\\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hw\w[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('xXx', 'X', \"\r\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hx[34m^M[mx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('Y', 'Y', '\L\uyYy\l\EY', '')
[?25l[1;23r[23;1H
[1;24r[23;1HYyyY[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('Z', 'Z', '\U\lZzZ\u\Ez', '')
[?25l[1;23r[23;1H
[1;24r[23;1HzZZz[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_2
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:$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\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[21;1H, '\0\9\8\7\6\5\4\3\2\1', '')
:$put =substitute('D', 'D', 'd', '')
:$put =substitute('E', 'E', '~', '')
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H29 lines, 1144 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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', '\="\\"', '')[11C| $put =y
:let y = substitute('bBb', 'B', '\="\\\\"', '')[9C| $put =y
:let y = substitute('cCc', 'C', '\="[34m^V^M[m"', '')[9C| $put =y
:let y = substitute('dDd', 'D', '\="\\[34m^V^M[m"', '')[7C| $put =y[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nomagic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_2:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1HHh
iI
jJ
Kk
l[34m^M[ml
m[34m^M[mm
n[34m^M[mn
o
o
p[34m^H[mp
q[7Cq
r\r
scs
u
u
v[34m^H[mv
w\w
x[34m^M[mx
YyyY
zZZz
TEST_2:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A', 'A', '&&', '')
[?25l[1;23r[23;1H
[1;24r[23;1HAA[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('B', 'B', '\&', '')
[?25l[1;23r[23;1H
[1;24r[23;1H&[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)
[23;80H'[24;1H, '\0\9\8\7\6\5\4\3\2\1', '')
[?25l[1;1H[L[1;1HKk
l[34m^M[ml
m[2Cm
n[2Cn
o[5;2H[K[7;1Hp[34m^H[mp
q q
r\r[9;9H[K[10;1Hscs
u[11;2H[K[13;1Hv[34m^H[mv
w\w[14;4H[K[15;1Hx[34m^M[mx
YyyY
zZZz[18;1H[K[20;1HTEST_2:
AA[21;3H[K[22;1H&[22;2H[K[23;1HC123456789987654321[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('D', 'D', 'd', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('E', 'E', '~', '')
[?25l[1;23r[23;1H
[1;24r[23;1H~[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('F', 'F', '\~', '')
[?25l[1;23r[23;1H
[1;24r[23;1H~[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('G', 'G', '\ugg', '')
[?25l[1;23r[23;1H
[1;24r[23;1HGg[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('H', 'H', '\Uh\Eh', '')
[?25l[1;23r[23;1H
[1;24r[23;1HHh[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('I', 'I', '\lII', '')
[?25l[1;23r[23;1H
[1;24r[23;1HiI[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('J', 'J', '\LJ\EJ', '')
[?25l[1;23r[23;1H
[1;24r[23;1HjJ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('K', 'K', '\Uk\ek', '')
[?25l[1;23r[23;1H
[1;24r[23;1HKk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('lLl', 'L', '^[34m^M[m', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hl[34m^M[ml[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('mMm', 'M', '\r', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hm[34m^M[mm[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('nNn', 'N', '\^[34m^M[m', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hn[34m^M[mn[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('oOo', 'O', '\n', '')
[?25l[1;23r[1;1H[2M[1;24r[22;1Ho
o[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('pPp', 'P', '\b', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hp[34m^H[mp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('qQq', 'Q', '\t', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hq[7Cq[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('rRr', 'R', '\\', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hr\r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('sSs', 'S', '\c', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hscs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('tTt', 'T', \"\r\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Ht[34m^M[mt[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('uUu', 'U', \"\n\", '')
[?25l[1;23r[1;1H[2M[1;24r[22;1Hu
u[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('vVv', 'V', \"\b\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hv[34m^H[mv[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('wWw', 'W', \"\\\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hw\w[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('X', 'X', '\L\uxXx\l\EX', '')
[?25l[1;23r[23;1H
[1;24r[23;1HXxxX[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('Y', 'Y', '\U\lYyY\u\Ey', '')
[?25l[1;23r[23;1H
[1;24r[23;1HyYYy[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_3
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:$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', '\="\\"', '')[11C| $put =y
:let y = substitute('bBb', 'B', '\="\\\\"', '')[9C| $put =y
:let y = substitute('cCc', 'C', '\="[34m^V^M[m"', '')[9C| $put =y
:let y = substitute('dDd', 'D', '\="\\[34m^V^M[m"', '')[7C| $put =y
:let y = substitute('eEe', 'E', '\="\\\\[34m^V^M[m"', '') | $put =y
:let y = substitute('fFf', 'F', '\="\\r"', '')[10C| $put =y
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H13 lines, 642 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H:let y = substitute('jJj', 'J', '\="\\n"', '')[10C| $put =y
:let y = substitute('kKk', 'K', '\="\r"', '')[11C| $put =y
:let y = substitute('lLl', 'L', '\="\n"', '')[11C| $put =y
/^TEST_4
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_3:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1HHh
iI
jJ
Kk
l[34m^M[ml
m[34m^M[mm
n[34m^M[mn
o
o
p[34m^H[mp
q[7Cq
r\r
scs
t[34m^M[mt
u
u
v[34m^H[mv
w\w
XxxX
yYYy
TEST_3:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet y = substitute('aAa', 'A', '\="\\"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Ha\a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('bBb', 'B', '\="\\\\"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hb\\b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('cCc', 'C', '\="^[34m^M[m"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hc[34m^M[mc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('dDd', 'D', '\="\\^[34m^M[m"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hd\[34m^M[md[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('eEe', 'E', '\="\\\\^[34m^M[m"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1He\\[34m^M[me[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('fFf', 'F', '\="\\r"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hf\rf[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('jJj', 'J', '\="\\n"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hj\nj[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('kKk', 'K', '\="\r"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hk[34m^M[mk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('lLl', 'L', '\="\n"', '') | $put =y
[?25l[1;23r[1;1H[2M[1;24r[22;1Hl
l[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_4
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:let y = substitute('bBb', 'B', '\="\\\\"', '')[9C| $put =y
:let y = substitute('cCc', 'C', '\="[34m^V^M[m"', '')[9C| $put =y
:let y = substitute('dDd', 'D', '\="\\[34m^V^M[m"', '')[7C| $put =y
:let y = substitute('eEe', 'E', '\="\\\\[34m^V^M[m"', '') | $put =y
:let y = substitute('fFf', 'F', '\="\\r"', '')[10C| $put =y
:let y = substitute('jJj', 'J', '\="\\n"', '')[10C| $put =y
:let y = substitute('kKk', 'K', '\="\r"', '')[11C| $put =y
:let y = substitute('lLl', 'L', '\="\n"', '')[11C| $put =y
/^TEST_4
ENDTEST
TEST_4:
STARTTEST
:set magic&
:set cpo&
:$put =\"\n\nTEST_4:\"
:let y = substitute('aAa', 'A', '\=substitute(submatch(0), ".", "\\", "")', '') [19;1H | $put =y
:let y = substitute('bBb', 'B', '\=substitute(submatch(0), ".", "\\\\", "")', '''[21;1H) | $put =y
:let y = substitute('cCc', 'C', '\=substitute(submatch(0), ".", "[34m^V^M[m", "")', '''[23;1H) | $put =y
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H13 lines, 912 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[14M[1;24r[10;1H:let y = substitute('dDd', 'D', '\=substitute(submatch(0), ".", "\\[34m^V^M[m", "")', [11;1H'') | $put =y
:let y = substitute('eEe', 'E', '\=substitute(submatch(0), ".", "\\\\[34m^V^M[m", "")''[13;1H, '') | $put =y
:let y = substitute('fFf', 'F', '\=substitute(submatch(0), ".", "\\r", "")', ''))[15;1H | $put =y
:let y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''))[17;1H | $put =y
:let y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '') [19;1H | $put =y
:let y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '') [21;1H | $put =y
/^TEST_5
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_4:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1Ht[34m^M[mt
u
u
v[34m^H[mv
w\w
XxxX
yYYy
TEST_3:
a\a
b\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf
j\nj
k[34m^M[mk
l
l
TEST_4:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet y = substitute('aAa', 'A', '\=substitute(submatch(0), ".", "\\", "")', '')
| $put =y
[?25l[1;1H[L[1;1Hu
v[34m^H[mv
w\w[4;4H[K[5;1HXxxX
yYYy[7;1H[K[9;1HTEST_3:
a\a[10;4H[K[11;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[15;5H[K[16;1Hj\nj
k[34m^M[mk
l[18;2H[K[20;1H[K[22;1HTEST_4:
a\a[23;4H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('bBb', 'B', '\=substitute(submatch(0), ".", "\\\\", "")', '
[23;80H'[24;1H) | $put =y
[?25l[1;1H[L[1;1Hu
v[34m^H[mv
w\w[3;4H[K[4;1HXxxX
yYYy[6;1H[K[8;1HTEST_3:
a\a[9;4H[K[10;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[14;5H[K[15;1Hj\nj
k[34m^M[mk
l[17;2H[K[19;1H[K[21;1HTEST_4:
a\a[22;4H[K[23;1Hb\b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('cCc', 'C', '\=substitute(submatch(0), ".", "^[34m^M[m", "")', '')
| $put =y
[?25l[1;1H[L[1;1Hv[34m^H[mv
w\w[2;4H[K[3;1HXxxX
yYYy[5;1H[K[7;1HTEST_3:
a\a[8;4H[K[9;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[13;5H[K[14;1Hj\nj
k[34m^M[mk
l[16;2H[K[18;1H[K[20;1HTEST_4:
a\a[21;4H[K[22;1Hb\b
c[34m^M[mc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('dDd', 'D', '\=substitute(submatch(0), ".", "\\^[34m^M[m", "")', '
[23;80H'[24;1H) | $put =y
[?25l[1;1H[L[1;1Hw\w
XxxX
yYYy[4;1H[K[6;1HTEST_3:
a\a[7;4H[K[8;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[12;5H[K[13;1Hj\nj
k[34m^M[mk
l[15;2H[K[17;1H[K[19;1HTEST_4:
a\a[20;4H[K[21;1Hb\b
c[34m^M[mc
d[2Cd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('eEe', 'E', '\=substitute(submatch(0), ".", "\\\\^[34m^M[m", "")',
'') | $put =y
[?25l[1;1H[L[1;1HXxxX
yYYy[3;1H[K[5;1HTEST_3:
a\a[6;4H[K[7;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[11;5H[K[12;1Hj\nj
k[34m^M[mk
l[14;2H[K[16;1H[K[18;1HTEST_4:
a\a[19;4H[K[20;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('fFf', 'F', '\=substitute(submatch(0), ".", "\\r", "")', ''
[23;80H)[24;1H | $put =y
[?25l[1;1H[L[1;1HyYYy[2;1H[K[4;1HTEST_3:
a\a[5;4H[K[6;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[10;5H[K[11;1Hj\nj
k[34m^M[mk
l[13;2H[K[15;1H[K[17;1HTEST_4:
a\a[18;4H[K[19;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me
f[34m^M[mf[23;5H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''
[23;80H)[24;1H | $put =y
[?25l[1;1H[L[2;1HTEST_3:
a\a
b\\b[4;5H[K[5;1Hc[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[8;5H[K[9;1Hj\nj[9;5H[K[10;1Hk[34m^M[mk
l[11;2H[K[12;1Hl[12;2H[K[13;1H[K[14;1H[K[15;1HTEST_4:
a\a
b\b[17;4H[K[18;1Hc[34m^M[mc
d[34m^M[md
e\[34m^M[me
f[2Cf
j[22;2H[K[23;1Hj[23;2H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '')
| $put =y
[?25l[1;1H[L[1;1HTEST_3:
a\a[2;4H[K[3;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[7;5H[K[8;1Hj\nj
k[34m^M[mk
l[10;2H[K[12;1H[K[14;1HTEST_4:
a\a[15;4H[K[16;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me
f[34m^M[mf[20;5H[K[21;1Hj[21;2H[K[23;1Hk[34m^M[mk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '')
| $put =y
[?25l[1;1H[L[1;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[5;5H[K[6;1Hj\nj[6;5H[K[7;1Hk[34m^M[mk
l[8;2H[K[9;1Hl[9;2H[K[10;1H[K[11;1H[K[12;1HTEST_4:
a\a
b\b[14;4H[K[15;1Hc[34m^M[mc
d[34m^M[md
e\[34m^M[me
f[2Cf
j[19;2H[K[20;1Hj[20;2H[K[21;1Hk[34m^M[mk
l
l[23;2H[K[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_5
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:let y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''))[2;1H | $put =y
:let y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '') [4;1H | $put =y
:let y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '') [6;1H | $put =y
/^TEST_5
ENDTEST
TEST_5:
STARTTEST
:set magic&
:set cpo&
:$put =\"\n\nTEST_5:\"
:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[17;1H, '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submaa[18;1Htch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')
:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[20;1H, '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), subb[21;1Hmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), subb[22;1Hmatch(1, 1)])', '')
/^TEST_6
[31msearch hit BOTTOM, continuing at TOP[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[12;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H6 lines, 543 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1HENDTEST[24;1H[K[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_5:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1He\\[34m^M[me
f\rf
j\nj
k[34m^M[mk
l
l
TEST_4:
a\a
b\b
c[34m^M[mc
d[34m^M[md
e\[34m^M[me
f[34m^M[mf
j
j
k[34m^M[mk
l
l
TEST_5:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)
[23;80H'[24;1H, '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . subm
[23;80Ha[24;1Htch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')
[?25l[1;1H[2L[1;1Hf\rf
j\nj
k[34m^M[mk
l[4;2H[K[6;1H[K[8;1HTEST_4:
a\a[9;4H[K[10;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me
f[34m^M[mf[14;5H[K[15;1Hj[15;2H[K[17;1Hk[34m^M[mk
l[18;2H[K[20;1H[K[22;1HTEST_5:
A123456789987654321[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)
[23;80H'[24;1H, '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), su
[23;80Hb[24;1Hmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), su
[23;80Hb[24;1Hmatch(1, 1)])', '')
[?25l[1;1H[3L[1;1Hj\nj
k[34m^M[mk
l[5;1H[K[7;1HTEST_4:
a\a[8;4H[K[9;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me
f[34m^M[mf[13;5H[K[14;1Hj[14;2H[K[16;1Hk[34m^M[mk
l[17;2H[K[19;1H[K[21;1HTEST_5:
A123456789987654321
[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']][24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_6
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:$put =\"\n\nTEST_5:\"
:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[3;1H, '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submaa[4;1Htch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')
:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[6;1H, '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), subb[7;1Hmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), subb[8;1Hmatch(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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H9 lines, 216 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[23;1H
[1;24r[23;1HENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1HTEST_7:[21;1H[?12l[?25h[?25l
:so! Xdotest
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_6:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1Hl
TEST_4:
a\a
b\b
c[34m^M[mc
d[34m^M[md
e\[34m^M[me
f[34m^M[mf
j
j
k[34m^M[mk
l
l
TEST_5:
A123456789987654321
[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]
TEST_6:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo+=/
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A', 'A', 'a', '')
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('B', 'B', '%', '')
[?25l[1;23r[23;1H
[1;24r[23;1H%[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset cpo-=/
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('C', 'C', 'c', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('D', 'D', '%', '')
[?25l[1;23r[23;1H
[1;24r[23;1H%[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_7
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: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[34m^V^M[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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H9 lines, 313 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[23;1H
[1;24r[23;1HENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_7:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1Hd[34m^M[md
e\[34m^M[me
f[34m^M[mf
j
j
k[34m^M[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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A^[34m^M[mA', 'A.', '\=submatch(0)', '')
[?25l[1;23r[23;1H
[1;24r[23;1HA[34m^M[mA[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')
[?25l[1;23r[1;1H[2M[1;24r[22;1HB
B[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '')
[?25l[1;23r[1;1H[2M[1;24r[22;1H['B
']B[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('-bb', '\zeb', 'a', 'g')
[?25l[1;23r[23;1H
[1;24r[23;1H-abab[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('-bb', '\ze', 'c', 'g')
[?25l[1;23r[23;1H
[1;24r[23;1Hc-cbcbc[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_8
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:set magic&
:set cpo&
:$put =\"\n\nTEST_7:\"
:$put =substitute('A[34m^V^M[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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[Kgcc -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
[24;11H10 lines, 186 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1Hyy/^TEST_9:
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_8:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1HTEST_5:
A123456789987654321
[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]
TEST_6:
a
%
c
%
TEST_7:
A[34m^M[mA
B
B
['B
']B
-abab
c-cbcbc
TEST_8:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =',,X'
[?25l[1;23r[23;1H
[1;24r[23;1H,,X[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(^\|,\)\ze\(,\|X\)/\1N/g
[?25l[23;1HN,,NX
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =',,Y'
[?25l[1;23r[23;1H
[1;24r[23;1H,,Y[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(^\|,\)\ze\(,\|Y\)/\1N/gc
[?25l[23;1H[7m,[m
[32mreplace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;1HN,,NY
[?12l[?25h[?25l
:[?12l[?25h$put =',,Z'
[?25l[1;23r[23;1H
[1;24r[23;1H,,Z[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(^\|,\)\ze\(,\|Z\)/\1N/gc
[?25l[23;1H[7m,[m
[32mreplace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;1HN,[7m,[mZ
[32mreplace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;3H,NZ
[?12l[?25h[?25l
/[?12l[?25h^TEST_9:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: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:
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H6 lines, 82 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_9:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1Ha
%
c
%
TEST_7:
A[34m^M[mA
B
B
['B
']B
-abab
c-cbcbc
TEST_8:
N,,NX
N,,NY
N,,NZ
TEST_9:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='xxx'
[?25l[1;23r[23;1H
[1;24r[23;1Hxxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/x/X/gc
[?25l[23;1H[7mx[m
[32mreplace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;1HX[7mx[m
[32mreplace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;2HX[7mx[m
[32mreplace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;3Hx[?12l[?25h[?25l
/[?12l[?25h^TEST_10:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1HTEST_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')[13C| $put =y
:let y = substitute('123', '\zs.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\zs', 'a', 'g')[12C| $put =y
:let y = substitute('123', '\ze', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\ze.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\ze', 'a', 'g')[12C| $put =y
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H12 lines, 584 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H:let y = substitute('123', '1\|\ze', 'a', 'g')[10C| $put =y
:let y = substitute('123', '1\zs\|[23]', 'a', 'g') | $put =y
/^TEST_11
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_10:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[3;1HTEST_7:
A[34m^M[mA
B
B
['B
']B
-abab
c-cbcbc
TEST_8:
N,,NX
N,,NY
N,,NZ
TEST_9:
XXx
TEST_10:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet y = substitute('123', '\zs', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Ha1a2a3a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '\zs.', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '.\zs', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1H1a2a3a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '\ze', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Ha1a2a3a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '\ze.', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Ha1a2a3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '.\ze', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '1\|\ze', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Haa2a3a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '1\zs\|[23]', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1H1aaa[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_11
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:let y = substitute('123', '\zs', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\zs.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\zs', 'a', 'g')[12C| $put =y
:let y = substitute('123', '\ze', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\ze.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\ze', 'a', 'g')[12C| $put =y
:let y = substitute('123', '1\|\ze', 'a', 'g')[10C| $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
&
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H1 line, 26 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^Results/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test82.in" 103 lines, 3166 characters[1;1HTests 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[17;1H:b, a:expected))
: else
: let b:passed += 1
: endif
:endfunction
:
:function! Chk(a, b, result)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 97 lines, 3055 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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%.22[4;1HX', n)) | endfor
:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ[6;1H\xc2\x%.2XuVw', n)) | endfor
:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ[8;1H\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[34m^[[mgg0g~ap:let lns = getline(1,3)
:q!
:call append(line('$'), lns)
:"
:wq! test.out
ENDTEST
[1m[34m~ [23;1H~ [20;1H[?12l[?25h
[?25l
[m:so! Xdotest
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1H: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%.22[4;1HX', n)) | endfor[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hset enc=utf8
[?25l[27m[23m[m[H[2J[1;1H: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%.22[4;1HX', n)) | endfor
:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ[6;1H\xc2\x%.2XuVw', n)) | endfor
:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ[8;1H\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[34m^[[mgg0g~ap:let lns = getline(1,3)
:q!
:call append(line('$'), lns)
:"
:wq! test.out
ENDTEST
[1m[34m~ [23;1H~ [21;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HTests 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[17;1H:b, a:expected))
: else
: let b:passed += 1
: endif
:endfunction
:
:function! Chk(a, b, result)[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[23;80H:[24;1Hop, a:b, a:expected))
[?25l: [?12l[?25h: else
[?25l: [?12l[?25h: let b:passed += 1
[?25l: [?12l[?25h: endif
[?25l: [?12l[?25h:endfunction
[1;1H[7L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[3L[?25l[2;1H[1m[34m~ [3;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! LT(a, b)
[?25l
: [?12l[?25h: call Check(a:a, a:b, -1)
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[2;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! GT(a, b)
[?25l
: [?12l[?25h: call Check(a:a, a:b, 1)
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[2;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! EQ(a, b)
[?25l
: [?12l[?25h: call Check(a:a, a:b, 0)
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[2;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b:passed=0
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('', '')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('', 'a')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('abc', 'abc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('Abc', 'abC')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('ab', 'abc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('AB', 'abc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('ab', 'aBc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xd0\xb9\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd', '\xd0\xb9\xd0\xa6\
[23;80Hx[24;1Hd0\xa3\xd0\xba\xd0\x95\xd0\xbd')
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall LT('\xd0\xb9\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd', '\xd0\xaf\xd1\x86\
[23;80Hx[24;1Hd1\x83\xd0\xba\xd0\xb5\xd0\xbd')
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall EQ('\xe2\x84\xaa', 'k')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('\xe2\x84\xaa', 'kkkkkk')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xe2\x84\xaa\xe2\x84\xaa\xe2\x84\xaa', 'kkk')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('kk', '\xe2\x84\xaa\xe2\x84\xaa\xe2\x84\xaa')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xe2\x84\xaa\xe2\x84\xa6k\xe2\x84\xaak\xcf\x89', 'k\xcf\x89\xe2\x84\x
[23;80Ha[24;1Hakk\xe2\x84\xa6')
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall EQ('Abc\x80', 'AbC\x80')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('Abc\x80', 'AbC\x81')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('Abc', 'AbC\x80')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('abc\x80DEF', 'abc\x80def') " case folding stops at the first bad cha
[23;80Hr[24;1Hacter
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall LT('\xc3XYZ', '\xc3xyz')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xef\xbc\xba', '\xef\xbd\x9a') " FF3A (upper), FF5A (lower)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall GT('\xef\xbc\xba', '\xef\xbc\xff') " first string is ok and equals \xef\
[23;80Hx[24;1Hbd\x9a after folding, second string is illegal and was left unchanged, then the
strings were bytewise compared
[?25l[1;1H[2L[2;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall LT('\xc3', '\xc3\x83')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xc3\xa3xYz', '\xc3\x83XyZ')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.
[23;80H2[24;1HX', n)) | endfor
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfor n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('Xy
[23;80HZ[24;1H\xc2\x%.2XuVw', n)) | endfor
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfor n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('Xy
[23;80HZ[24;1H\xc2\x%.2XuVw', n)) | endfor
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall append(0, printf('%d checks passed', b:passed))
[?25l[1;23r[1;1H[L[1;24r[1;1H3732 checks passed[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test that g~ap changes one paragraph only.
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [m[12;1H[1m[7m[No Name] [m[13;1H3732 checks passed[13;19H[K[14;1H[K[23;1H[7mtest82.in [+] [1;1H[?12l[?25h[?25l[mabcd[2;1H[K[3;1Hdefg[3;5H[K[12;11H[1m[7m[+][3;4H[?12l[?25h[1;1H[?25l[mABCD
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet lns = getline(1,3)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[1;1H3732 checks passed
[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), lns)
[?25l[3;1HABCD[3;5H[K[4;1H[K[5;1Hdefg[5;5H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test84.in" 35 lines, 786 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for curswant not changing when setting an option[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 25 lines, 637 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[6M[1;24r[18;1H:put =map(copy(result), 'join(v:val, '' '')')
:1 delete _
:write test.out
:
:qall!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start target options$/+1,/^end target options$/-1 yank
[?25l3 lines yanked[24;15H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet target_option_names = split(@0)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1H: 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[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;2Hendfor[13;9H[K[14;2H[K[15;2Hnew
:put =map(copy(result), 'join(v:val, '' '')')
:1 delete _[17;12H[K[18;2Hwrite test.out[19;2H[K[20;2Hqall!
ENDTEST[22;1H[K[23;1H[7mtest84.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput =['1234567890', '12345']
[?25l[2;1H1234567890[2;11H[K[3;1H12345[3;6H[K[12;11H[1m[7m[+][3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h1 delete _
[?25l[1;11r[11;1H
[1;24r[11;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet result = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor option_name in target_option_names
[?25l
: [?12l[?25h: call add(result, TestCurswant(option_name))
[?25l: [?12l[?25h:endfor
[1;1H[2L[?25l[1;1H1234567890
12345[24;1H[K[2;5H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[9;1H1234567890
12345
[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [+] [m[17;1H:1 delete _
:write test.out
:
:qall!
ENDTEST
[7mtest84.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hput =map(copy(result), 'join(v:val, '' '')')
[?25l3 more lines[24;13H[K[2;1Htabstop 7 4[2;12H[K[3;1Htimeoutlen 7 7[3;15H[K[4;1Httimeoutlen 7 7[4;16H[K[8;11H[1m[7m[+][4;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h1 delete _
[?25l[1;7r[7;1H
[1;24r[7;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hwrite test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 3 lines, 43 characters written[8;1H[1m[7mtest.out] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqall!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test88.in" 99 lines, 1449 characters[1;1Hvim: 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1Hvim: set ft=vim[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 82 lines, 1216 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[19;9H.concealed. text[20;9H|concealed| text
.a. .b. .c. .d.
|a| |b| |c| |d|[13;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has('conceal')
[?25l
: [?12l[?25h e! test.ok
[?25l: [?12l[?25h wq! test.out
[?25l: [?12l[?25h:endif
[1;1H[3L[?25l[1;1H:normal W
GGk
:normal W[24;1H[K[14;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" Conceal settings.
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset conceallevel=2
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset concealcursor=nc
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyntax match test /|/ conceal
[?25l[17;1Hconcealed [20;9Hconcealed
a b c d[23;26H[K[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Save current cursor position. Only works in <expr> mode, can't be used
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" with :normal because it moves the cursor to the command line. Thanks to ZyX
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" <zyx.vim@gmail.com> for the idea to use an <expr> mapping.
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet positions = []
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnnoremap <expr> GG ":let positions += ['".screenrow().":".screencol()."']\n"
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Start test.
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start:
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal ztj
[?25l[1;23r[1;1H[14M[1;24r[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:let positions += ['2:1']
[2;1H[?12l[?25h[1;1H[2;1H[?25l[24;1H[K[24;1H:[?12l[?25h" We should end up in the same column when running these commands on the two
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" lines.
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal ft
[?25l[2;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['2:17']
[2;17H[?12l[?25h[1;6H[2;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[2;20H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['2:20']
[2;20H[?12l[?25h[1;6H[2;20H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['3:1']
[3;1H[?12l[?25h[2;1H[3;1H[?25l[24;1H[K[24;1H:[?12l[?25hnormal ft
[?25l[3;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['3:17']
[3;17H[?12l[?25h[2;17H[3;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[3;20H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['3:20']
[3;20H[?12l[?25h[2;20H[3;20H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j0j
[?25l[5;8H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['5:8']
[5;8H[?12l[?25h[4;1H[5;8H[?25l[24;1H[K[24;1H:[?12l[?25h" Same for next test block.
[?25l[5;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal ft
[?25l[5;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['5:25']
[5;25H[?12l[?25h[4;1H[5;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[5;28H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['5:28']
[5;28H[?12l[?25h[4;1H[5;28H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j
[?25l[6;8H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['6:8']
[6;8H[?12l[?25h[5;8H[6;8H[?25l[24;1H[K[24;1H:[?12l[?25hnormal ft
[?25l[6;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['6:25']
[6;25H[?12l[?25h[5;25H[6;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[6;28H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['6:28']
[6;28H[?12l[?25h[5;28H[6;28H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j0j
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:1']
[8;1H[?12l[?25h[7;1H[8;1H[?25l[24;1H[K[24;1H:[?12l[?25h" And check W with multiple tabs and conceals in a line.
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[8;9H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:9']
[8;9H[?12l[?25h[7;1H[8;9H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[8;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:17']
[8;17H[?12l[?25h[7;1H[8;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[8;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:25']
[8;25H[?12l[?25h[7;1H[8;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[8;27H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:27']
[8;27H[?12l[?25h[7;1H[8;27H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:1']
[9;1H[?12l[?25h[8;1H[9;1H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;9H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:9']
[9;9H[?12l[?25h[8;9H[9;9H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:17']
[9;17H[?12l[?25h[8;17H[9;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:25']
[9;25H[?12l[?25h[8;25H[9;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:26']
[9;26H[?12l[?25h[8;27H[9;26H[?25l[24;1H[K[24;1H:[?12l[?25hset lbr
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:26']
[9;26H[?12l[?25h[8;27H[9;26H[?25l[24;1H[K[24;1H:[?12l[?25hset list listchars=tab:>-
[?25l[3;10H[34m>------
>-------[11C>----
>-------[9C>------[8;4H>----[m.b.[34m>----[m.c.[34m>----
[ma[34m>------[mb[34m>------[mc[34m>------[9;26H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnormal 0
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:1']
[9;1H[?12l[?25h[8;1H[9;1H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;9H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:9']
[9;9H[?12l[?25h[8;9H[9;9H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:17']
[9;17H[?12l[?25h[8;17H[9;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:25']
[9;25H[?12l[?25h[8;25H[9;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:26']
[9;26H[?12l[?25h[8;27H[9;26H[?25l[24;1H[K[24;1H:[?12l[?25h" Display result.
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', 'end:')
[?25l[10;1Hend:[10;5H[K[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', positions)
[?25l[11;1H2:1[11;4H[K[12;1H2:17[12;5H[K[13;1H2:20[13;5H[K[14;1H3:1[14;4H[K[15;1H3:17[15;5H[K[16;1H3:20[16;5H[K[17;1H5:8[17;4H[K[18;1H5:25[18;5H[K[19;1H5:28[19;5H[K[20;1H6:8[20;4H[K[21;1H6:25[21;5H[K[22;1H6:28[22;5H[K[23;1H8:1[23;4H[K[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^end/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test90.in" 53 lines, 1204 characters[1;1HTests 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("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b78522[12;1Hb855'
: let res='ok'
:else
: let res='ng'
:endif
:$put =testcase.res
:"
:let testcase='test for 1 char: '
:if sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee[21;1He48bb'
: let res='ok'
:else[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for sha256() function. vim: set ft=vim et ts=2 sw=2 :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 47 lines, 1114 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:"
:let testcase='test for contains meta char: '
:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[4;1H39ed110ca776'
: 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") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb00[13;1Hb8d27db8d5feaa813953'
: let res='ok'
:else
: let res='ng'
:endif
:$put =testcase.res
:"
:/^start:/,$wq! test.out
ENDTEST
start:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has('cryptv') || !exists('*sha256')
[?25l
: [?12l[?25h e! test.ok
[?25l: [?12l[?25h wq! test.out
[?25l: [?12l[?25h:endif
[1;1H[3L[?25l[1;1H:"
:let testcase='test for contains meta char: '
:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[4;1H3[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for empty string: '
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b785
[23;80H2[24;1Hb855'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:"
:let testcase='test for contains meta char: '
:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[4;1H39ed110ca776'[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[1;23r[23;1H
[1;24r[23;1Htest for empty string: ok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for 1 char: '
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785af
[23;80He[24;1He48bb'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:let testcase='test for contains meta char: '
:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[3;1H39ed110ca776'
: let res='ok'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[1;23r[23;1H
[1;24r[23;1Htest for 1 char: ok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for 3 chars: '
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("abc") ==# 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61
[23;80Hf[24;1H20015ad'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[2;1H39ed110ca776'
: let res='ok'
:else[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[1;23r[1;1H[2M[1;24r[22;1Htest for 3 chars: ok
[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet te/usr/bin/perl -e 'unless ( $] >= 5.005 ) { for (qw(na defgv errgv)) { print "#define PL_$_ $_\n" }}' > auto/if_perl.c
stcase='test for contains meta char: '
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8c
[23;80Hc[24;1H39ed110ca776'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H: let res='ok'
:else
: let res='ng'
:endif[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[23;1Htest for contains meta char: ok[23;32H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/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
let testcase='test for contains non-ascii char: '
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("\xde\xad\xbe\xef") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb
[23;80H0[24;1Hb8d27db8d5feaa813953'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H: let res='ok'
:else
: let res='ng'
:endif[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[1;23r[23;1H
[1;24r[23;1Htest for contains non-ascii char: ok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test91.in" 116 lines, 3240 characters[1;1HTests 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))[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[Kgcc -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
[24;11H[New File] 109 lines, 3127 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Use strings to test for memory leaks.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" First, check that in an empty window, gettabvar() returns the correct value
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet t:testvar='abcd'
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(gettabvar(1,'testvar'))
[?25l[1;23r[23;1H
[1;24r[23;1H'abcd'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(1,'testvar'))
[?25l[1;23r[23;1H
[1;24r[23;1H'abcd'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" Test for getbufvar()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b:var_num = '1234'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet def_num = '5678'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getbufvar(1, 'var_num'))
[?25l[1;23r[23;1H
[1;24r[23;1H'1234'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, 'var_num', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H'1234'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H{'var_num': '1234'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, '', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H{'var_num': '1234'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet b:var_num
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getbufvar(1, 'var_num', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H'5678'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, '', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(9, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(9, '', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H'5678'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet def_num
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getbufvar(1, '&autoindent'))
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, '&autoindent', 1))
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Open new window with forced option values
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=unix,dos
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew ++ff=dos ++bin ++enc=iso-8859-2
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[14;1H{'var_num': '1234'}
'5678'[16;7H[K[17;1H{}[17;3H[K[19;1H''
'5678'
0[21;2H[K[23;1H[7mtest91.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet otherff = getbufvar(bufnr('%'), '&fileformat')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet otherbin = getbufvar(bufnr('%'), '&bin')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet otherfenc = getbufvar(bufnr('%'), '&fenc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:$put =string(gettabwinvar(9, 3, '', def_dict))
:unlet def_dict[2;16H[K[3;1H:$put =string(gettabwinvar(2, 3, '&nux'))[3;42H[K[4;1H:$put =string(gettabwinvar(2, 3, '&nux', 1))[4;45H[K[5;1H:tabonly[5;9H[K[6;1H:"[6;3H[K[7;1H:/^start/,$wq! test.out[7;24H[K[8;1HENDTEST[8;8H[K[9;1H[K[10;1Hstart:[10;7H[K[11;1H'abcd'[11;7H[K[12;1H'abcd'[12;7H[K[14;1H'1234'[14;7H[K[16;1H{'var_num': '1234'}
'5678'
{}
''[20;3H[K[21;1H'5678'
0[23;2H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =otherff
[?25l[1;23r[23;1H
[1;24r[23;1Hdos[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(otherbin)
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =otherfenc
[?25l[1;23r[23;1H
[1;24r[23;1Hiso-8859-2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet otherff otherbin otherfenc
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for getwinvar()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet w:var_str = "Dance"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet def_str = "Chance"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getwinvar(1, 'var_str'))
[?25l[1;23r[23;1H
[1;24r[23;1H'Dance'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =strigcc -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
ng(getwinvar(1, 'var_str', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H'Dance'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H{'var_str': 'Dance'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, '', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H{'var_str': 'Dance'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet w:var_str
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getwinvar(1, 'var_str', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H'Chance'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, '', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(9, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(9, '', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H'Chance'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, '&nu'))
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, '&nu', 1))
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet def_str
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for gettabvar()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabnew
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25htabnew
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [No Name] [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet t:var_list = [1, 2, 3]
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet t:other = 777
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet def_list = [4, 5, 6, 7]
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m + test91.in [m[4m[30m[47m [No Name] [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[2;1H{'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[2;23r[23;1H
[1;24r[23;1H[1, 2, 3][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, 'var_list', def_list))
[?25l[2;23r[23;1H
[1;24r[23;1H[1, 2, 3][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H{'var_list': [1, 2, 3], 'other': 777}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, '', def_list))
[?25l[2;23r[23;1H
[1;24r[23;1H{'var_list': [1, 2, 3], 'other': 777}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25htablast
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [No Name] [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hunlet t:var_list
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m + test91.in [m[4m[30m[47m [No Name] [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[2;1H''
'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[2;23r[23;1H
[1;24r[23;1H[4, 5, 6, 7][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(9, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(9, '', def_list))
[?25l[2;23r[23;1H
[1;24r[23;1H[4, 5, 6, 7][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, '&nu'))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, '&nu', def_list))
[?25l[2;23r[23;1H
[1;24r[23;1H[4, 5, 6, 7][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet def_list
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabonly
[?25l[1;1Hdos[1;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for gettabwinvar()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabnew
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25htabnew
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [No Name] [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25htabprev
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [No Name] [m[4m[30m[47m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hsplit
[?25l[1;15H[1m[35m2[m[1mN o[No Name] [m[4m[30m[47m [No Name] [m[42C[7m [m[1;80H[4m[30m[47mX[m[12;1H[1m[7m[No Name] [m[13;1H[K[23;1H[7m[No Name] [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsplit
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [m[1m[35m3[m[1m [No Name] [m[4m[30m[47m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[9;1H[1m[7m[No Name] [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hwincmd w
[?25l[9;1H[7m[No Name][m[1m[7m [m[7m [m[16;1H[1m[7m[No Name] [m[1;80H[7m [m[1;80H[4m[30m[47mX[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hvert split
[?25l[1;15H[1m[35m4[m[1m [m[63C[7m [m[1;80H[4m[30m[47mX[m[10;41H[7m|[11;41H|[12;41H|[13;41H|[14;41H|[15;41H|[m[11;42H[1m[34m~[12;42H~[13;42H~[14;42H~[15;42H~[m[16;42H[7m[No Name] [10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd w
[?25l[16;1H[7m[No Name][m[1m[7m [m[7m [m[1m[7m[No Name] [m[1;80H[7m [m[1;80H[4m[30m[47mX[10;42H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet w:var_dict = {'dict': 'tabwin'}
[?25l[10;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet def_dict = {'dict2': 'newval'}
[?25l[10;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd b
[?25l[16;42H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [m[1;80H[7m [m[1;80H[4m[30m[47mX[17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m + test91.in [m[4m[30m[47m [m[4m[35m[47m4[m[4m[30m[47m [No Name] [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[2;1H1
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[2;23r[23;1H
[1;24r[23;1H{'dict': 'tabwin'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{'dict': 'tabwin'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H{'var_dict': {'dict': 'tabwin'}}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, '', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{'var_dict': {'dict': 'tabwin'}}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25htabnext
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [m[1m[35m4[m[1m [No Name] [m[4m[30m[47m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[9;1H[7m[No Name] [10;41H|[11;41H|[12;41H|[13;41H|[14;41H|[15;41H|[m[11;1H[1m[34m~
~
~
~
~ [m
[7m[No Name] [m[11;42H[1m[34m~ [12;42H~ [13;42H~ [14;42H~ [15;42H~ [m[16;42H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [17;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h3wincmd w
[?25l[16;42H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;80H [m[1;80H[4m[30m[47mX[10;42H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hunlet w:var_dict
[?25l[10;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m + test91.in [m[4m[30m[47m [m[4m[35m[47m4[m[4m[30m[47m [No Name] [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[2;1H{'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[2;23r[23;1H
[1;24r[23;1H{'dict2': 'newval'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, '', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 9, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 9, '', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{'dict2': 'newval'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(9, 3, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(9, 3, '', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{'dict2': 'newval'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet def_dict
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(gettabwinvar(2, 3, '&nux'))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, '&nux', 1))
[?25l[2;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25htabonly
[?25l[1;1H0[1;2H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test94.in" 256 lines, 4824 characters[1;1HTest 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()[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for Visual mode and operators[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[18;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 211 lines, 3837 characters written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[19;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hkv3lyjv3lpgvcxxx[34m^[[m
:$put ='---'
:
:$put =''
:$put ='gv in exclusive select mode without operation'
:$put ='zzz '
:set selection=exclusive
0v3l[34m^[[mgvcxxx[34m^[[m
:$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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=utf-8 nocp viminfo+=nviminfo
[?25l[27m[23m[m[H[2J[1;1Hkv3lyjv3lpgvcxxx[34m^[[m
:$put ='---'
:
:$put =''
:$put ='gv in exclusive select mode without operation'
:$put ='zzz '
:set selection=exclusive
0v3l[34m^[[mgvcxxx[34m^[[m
:$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[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" User functions
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction MoveToCap()
[?25l
: [?12l[?25h: call search('\u', 'W')
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1Hkv3lyjv3lpgvcxxx[34m^[[m
:$put ='---'[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[6L[?25l[1;1Hkv3lyjv3lpgvcxxx[34m^[[m
:$put ='---'
:
:$put =''
:$put ='gv in exclusive select mode without operation'
:$put ='zzz '[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Visual modes followed by operator
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^apple
[?25l[16;1H[?12l[?25ha[?25l[24;1H[1m-- VISUAL --[16;2H[?12l[?25h[?25l[m[7mp[?12l[?25h[?25l[mle banana cherry[16;18H[K[24;1H[K[16;2H[?12l[?25h[?25l banana cherry[16;16H[K[16;2H[?12l[?25h [?25l[7mbanan[m[24;1H[1m-- VISUAL --[16;8H[?12l[?25h[?25l[m
a cherry[16;10H[K[24;1H[K[16;3H[?12l[?25h[?25ly[16;4H[K[16;3H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[16;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^line 1
[?25l[18;1H[?12l[?25h[?25ll[7mine 1 line 1 [m[24;1H[1m-- VISUAL LINE --[18;1H[?12l[?25h[?25l[24;4HINSERT --N[m[24;13H[K[24;1H[K[18;1Hnewline[18;8H[K[18;7H[?12l[?25h[19;7H[?25l[24;1H[1m-- INSERT --[m[24;1H[K[19;1Hnewline[19;8H[K[19;7H[?12l[?25h[20;7H[?25l
[7mline 3 line 3
line 4[m [7mline 4 [m
[1m-- VISUAL LINE --[21;7H[?12l[?25h[?25l[m[20;1Hline 5 line 5[20;14H[K[21;1Hline 6 line 6[21;14H[K[22;1H[K[23;1Hxxxxxxxxxxxxx[24;1H[K[20;1H[?12l[?25h[?25l[20;1H[K[21;1Hxxxxxxxxxxxxx
xxxxxxxxxxxxx[20;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^xxxx
[?25l[21;1H[?12l[?25h[?25l
[1m-- VISUAL BLOCK --[21;1H[?12l[?25h[?25l[m[7mx
[?12l[?25h[?25l[21;2Hx
x[?12l[?25h[?25l[m[24;4H[1mINSERT --O[m[24;13H[K[24;1H[K[21;1H
[21;2H[?12l[?25h [?25l
[1m-- INSERT --[m[24;1H[K[21;3H
[21;4H[?12l[?25h [?25l[1;23r[23;1H
[1;24r[20;5H[7mxxxx
[m [7mxxxx
[mxxxx[7mxxxx[m
xxxx[7mxxx[mxxxxxx
[1m-- VISUAL BLOCK --[23;8H[?12l[?25h[?25l
-- INSERT --O[m[24;13H[K[24;1H[K[20;5H----
----
xxxx----
xxxx----[20;8H[?12l[?25h-[?25l[24;1H[1m-- INSERT --[m[24;1H[K[20;9H----[21;9H----[22;9H----[23;9H----[20;12H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Visual mode maps (movement and text object)
[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hvnoremap W /\u/s-1<CR>
[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hvnoremap iW :<C-U>call SelectInCaps()<CR>
[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Kiwi
[?25l[1;23r[1;1H[2M[1;24r[23;1HKiwiRaspberryDateWatermelonPeach[24;1H[K[23;1H[?12l[?25h[?25l
[1m-- VISUAL --[23;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/\u/s-1
[23;1H[7mKiw[?12l[?25h[?25l[m
[1m-- INSERT --[m[24;1H[K[23;1HNoRaspberryDateWatermelonPeach[23;31H[K[23;2H[?12l[?25ho[?25l
[1m-- INSERT --[m[24;1H[K[23;3HNoberryDateWatermelonPeach[23;29H[K[23;4H[?12l[?25hoberry[?25l[7mDateWat[m
[1m-- VISUAL --[23;17H[?12l[?25h[?25l[m[23;10HrmelonPeach[23;21H[K[24;1H[K[23;10H[?12l[?25h[?25lach[23;13H[K[23;10H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;10H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Jambu
[?25l[1;23r[23;1H
[1;24r[23;1HJambuRambutanBananaTangerineMango[24;1H[K[23;1H[?12l[?25hJa[?25l
[1m-- VISUAL --[23;3H[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[24;2H[K[24;2Hcall SelectInCaps()
[23;1H[7mJamb[?12l[?25h[?25l[m
[1m-- INSERT --[m[24;13H[K[24;1H[K[23;1H-RambutanBananaTangerineMango[23;30H[K[23;1H[?12l[?25h-[?25l
[1m-- INSERT --[m[24;1H[K[23;2H-tanBananaTangerineMango[23;26H[K[23;2H[?12l[?25h-[?25l[7mtanBanana[m
[1m-- VISUAL --[23;12H[?12l[?25h[?25l[m
--angerineMango[23;16H[K[24;1H[K[23;3H[?12l[?25ha[?25lgo[23;6H[K[23;4H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Operator-pending mode maps (movement and text object)
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25honoremap W /\u/<CR>
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25honoremap <Leader>W :<C-U>call MoveToCap()<CR>
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25honoremap iW :<C-U>call SelectInCaps()<CR>
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Pineapple
[?25l[1;23r[1;1H[2M[1;24r[23;1HPineappleQuinceLoganberryOrangeGrapefruitKiwiZ[24;1H[K[23;1H[?12l[?25h[?25l
/\u/
[24;4H[K[24;1H[24;1H[K[23;1H-QuinceLoganberryOrangeGrapefruitKiwiZ[23;39H[K[23;1H[?12l[?25h-[?25l
/\u/
[24;4H[K[24;1H[1m-- INSERT --[m[24;1H[K[23;2H-LoganberryOrangeGrapefruitKiwiZ[23;34H[K[23;2H[?12l[?25h-[?25l
/\u/
[24;4H[K[24;1H[1m-- INSERT --[m[24;1H[K[23;3H-GrapefruitKiwiZ[23;19H[K[23;3H[?12l[?25h-[?25l
/\u/
[24;4H[K[24;1H[1m-- INSERT --[m[24;1H[K[23;4H-Z[23;6H[K[23;4H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Juniper
[?25l[1;23r[23;1H
[1;24r[23;1HJuniperDurianZ[24;1H[K[23;1H[?12l[?25h[?25l
:call MoveToCap()
[23;1HWhavcre
[?12l[?25h[7C[?25l[24;1H[K[24;1H:call MoveToCap()
[23;8HQhevna[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;8H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Lemon
[?25l[1;23r[23;1H
[1;24r[23;1HLemonNectarineZ[24;1H[K[23;1H[?12l[?25h[?25l
:call SelectInCaps()
[23;1H[?12l[?25h[?25lLemonLemonNectarineZ
Lemo[?12l[?25hn[?25l[24;1H[K[24;1H:call SelectInCaps()
[24;1H[K[23;6HNewNectarineZ[23;19H[K[23;8H[?12l[?25hwNecta[?25l
:call SelectInCaps()
[24;1H[K[23;11HwZ[23;13H[K[23;11H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Patch 7.3.879: Properly abort Operator-pending mode for "dv:<Esc>" etc.
[?25l[23;11H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^zzzz
[?25l[1;23r[1;1H[2M[1;24r[23;1Hzzzz[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noma | let v:errmsg = ''
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1m[37m[41mE21: Cannot make changes, 'modifiable' is off[23;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ma | put = v:errmsg =~# '^E21' ? 'ok' : 'failed'
[?25l[1;23r[23;1H
[1;24r[23;1Hok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset noma | let v:errmsg = ''
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset ma | put = v:errmsg =~# '^E21' ? 'failed' : 'ok'
[?25l[1;23r[23;1H
[1;24r[23;1Hok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise visual mode: replace last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: replace last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet @" = 'x'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v:errmsg = ''
[?25l[23;1H[?12l[?25h[?25l
[1m-- VISUAL --[m[24;13H[K[23;1H[?12l[?25h[?25l[7ma[?12l[?25h[?25l[mx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='v:errmsg='.v:errmsg
[?25l[1;23r[23;1H
[1;24r[23;1Hv:errmsg=[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise visual mode: delete middle line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: delete middle line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25l
[1m-- VISUAL --[21;1H[?12l[?25h[?25l[m[7ma[?12l[?25h[?25l[mb
c
[1m[34m~ [m[24;1H[K[21;1H[?12l[?25h
[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise visual mode: delete middle two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: delete middle two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25l
[1m-- VISUAL --[21;1H[?12l[?25h[?25l[m[7ma
[?12l[?25h[?25lb[?12l[?25h[?25l[m[21;1Hc[21;2H[K[22;1H[1m[34m~ [23;1H~ [m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[22;1H---[22;4H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='characterwise visual mode: delete last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: delete last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25l
[1m-- VISUAL --[23;1H[?12l[?25h[?25l[m[7mc[?12l[?25h[?25l[m[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise visual mode: delete last two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: delete last two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[?25l
[1m-- VISUAL --[22;1H[?12l[?25h[?25l[m[7mb
[?12l[?25h[?25lc[?12l[?25h[?25l[m[22;1H[K[23;1H[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Select mode maps
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsnoremap <lt>End> <End>
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsnoremap <lt>Down> <Down>
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsnoremap <lt>Del> <Del>
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise select mode: delete middle line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise select mode: delete middle line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25l
[1m-- SELECT --[21;1H[?12l[?25h[?25l[m[7ma[?12l[?25h[?25l[mb
c
[1m[34m~ [m[24;1H[K[21;1H[?12l[?25h
[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise select mode: delete middle two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise select mode: delete middle two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25l
[1m-- SELECT --[21;1H[?12l[?25h[?25l[m[7ma
[?12l[?25h[?25lb[?12l[?25h[?25l[m[21;1Hc[21;2H[K[22;1H[1m[34m~ [23;1H~ [m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[22;1H---[22;4H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='characterwise select mode: delete last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise select mode: delete last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25l
[1m-- SELECT --[23;1H[?12l[?25h[?25l[m[7mc[?12l[?25h[?25l[m[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise select mode: delete last two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise select mode: delete last two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[?25l
[1m-- SELECT --[22;1H[?12l[?25h[?25l[m[7mb
[?12l[?25h[?25lc[?12l[?25h[?25l[m[22;1H[K[23;1H[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='linewise select mode: delete middle line'
[?25l[1;23r[23;1H
[1;24r[23;1Hlinewise select mode: delete middle line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25la[7m [m
[1m-- SELECT LINE --[21;1H[?12l[?25h[?25l[mb[21;2H[K[22;1Hc
[1m[34m~ [m[24;1H[K[21;1H[?12l[?25h
[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='linewise select mode: delete middle two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hlinewise select mode: delete middle two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25la[7m [m
[1m-- SELECT LINE --[21;1H[?12l[?25h[?25l[m[7ma
[mb[7m
[?12l[?25h[?25l[m[21;1Hc[21;2H[K[22;1H[1m[34m~ [23;1H~ [m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[22;1H---[22;4H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='linewise select mode: delete last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hlinewise select mode: delete last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25lc[7m [m
[1m-- SELECT LINE --[23;1H[?12l[?25h[?25l[m[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='linewise select mode: delete last two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hlinewise select mode: delete last two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[?25lb[7m [m
[1m-- SELECT LINE --[22;1H[?12l[?25h[?25l[m[7mb
[mc[7m
[?12l[?25h[?25l[m[22;1H[1m[34m~ [23;1H~ [m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[22;1H---[22;4H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='v_p: replace last character with line register at middle line'
[?25l[1;23r[23;1H
[1;24r[23;1Hv_p: replace last character with line register at middle line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='aaa'
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='bbb'
[?25l[1;23r[23;1H
[1;24r[23;1Hbbb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ccc'
[?25l[1;23r[23;1H
[1;24r[23;1Hccc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h-2yank
[?25l[23;1H[?12l[?25h[22;1Hbb[?25l
[1m-- VISUAL --[22;3H[?12l[?25h[?25l[m[22;3H[K[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[1;1H[2M[1;24r[22;1Hccc
---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='v_p: replace last character with line register at middle line selecting
newline'
[?25l[1;1H[L[2;1Hlinewise select mode: delete middle two line
c[3;2H[K[4;1H---[5;1H[K[6;1Hlinewise select mode: delete last line
a[7;2H[K[8;1Hb
---[10;1H[K[11;1Hlinewise select mode: delete last two line
a[12;2H[K[13;1H---[14;1H[K[15;1Hv_p: replace last character with line register at middle line
aaa[16;4H[K[17;1Hbb[17;3H[K[18;1Haaa[19;1H[K[20;1Hccc
---[22;1H[K[23;1Hv_p: replace last character with line register at middle line selecting newline[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='aaa'
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='bbb'
[?25l[1;23r[23;1H
[1;24r[23;1Hbbb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ccc'
[?25l[1;23r[23;1H
[1;24r[23;1Hccc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h-2yank
[?25l[23;1H[?12l[?25h[22;1Hbb[?25l
[1m-- VISUAL --[22;3H[?12l[?25h[?25l[m[7mb[?12l[?25h[?25l[m[22;3H[K[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hccc
[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='v_p: replace last character with line register at last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hv_p: replace last character with line register at last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='aaa'
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='bbb'
[?25l[1;23r[23;1H
[1;24r[23;1Hbbb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ccc'
[?25l[1;23r[23;1H
[1;24r[23;1Hccc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h-2yank
[?25l[23;1H[?12l[?25hcc[?25l
[1m-- VISUAL --[23;3H[?12l[?25h[?25l[1;23r[m[23;1H
[1;24r[22;3H[K[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='v_p: replace last character with line register at last line selecting n
[23;80He[24;1Hwline'
[?25l[1;1H[L[1;1Haaa
bb[2;3H[K[3;1Haaa[4;1H[K[5;1Hccc
---[7;1H[K[8;1Hv_p: replace last character with line register at middle line selecting newline
aaa[9;4H[K[10;1Hbb[10;3H[K[11;1Haaa
ccc
---[14;1H[K[15;1Hv_p: replace last character with line register at last line
aaa[16;4H[K[17;1Hbbb
cc[18;3H[K[19;1Haaa[20;1H[K[21;1H---[22;1H[K[23;1Hv_p: replace last character with line register at last line selecting newline[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='aaa'
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='bbb'
[?25l[1;23r[23;1H
[1;24r[23;1Hbbb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ccc'
[?25l[1;23r[23;1H
[1;24r[23;1Hccc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h-2yank
[?25l[23;1H[?12l[?25hcc[?25l
[1m-- VISUAL --[23;3H[?12l[?25h[?25l[m[7mc[?12l[?25h[?25l[1;23r[m[23;1H
[1;24r[22;3H[K[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='gv in exclusive select mode after operation'
[?25l[1;23r[23;1H
[1;24r[23;1Hgv in exclusive select mode after operation[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='zzz '
[?25l[1;23r[23;1H
[1;24r[23;1Hzzz[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ä[24;11Hà '
[?25l[1;23r[23;1H
[1;24r[23;1Hä[23;3HÃ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset selection=exclusive
[?25l[23;1H[?12l[?25h[22;1H[?25l
[1m-- VISUAL --[m[24;13H[K[22;1H[?12l[?25h[?25l[7mzzz[?12l[?25h[?25l[m
zzz[24;1H[K[22;1H[?12l[?25h
[?25l
[1m-- VISUAL --[23;1H[?12l[?25h[?25l[m[7mä[23;3HÃ[?12l[?25h[?25l[m
zzz[24;1H[K[23;3H[?12l[?25h[?25l
[1m-- VISUAL --[m[23;1H[7mzzz[?12l[?25h[?25l[m[24;4H[1mINSERT [m[24;1H[K[23;1Hxxx[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='gv in exclusive select mode without operation'
[?25l[1;23r[23;1H
[1;24r[23;1Hgv in exclusive select mode without operation[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='zzz '
[?25l[1;23r[23;1H
[1;24r[23;1Hzzz[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset selection=exclusive
[?25l[23;1H[?12l[?25h[?25l
[1m-- VISUAL --[m[24;13H[K[23;1H[?12l[?25h[?25l[7mzzz[?12l[?25h[?25l[m
zzz[24;1H[K[23;4H[?12l[?25h[?25l
[1m-- VISUAL --[m[23;1H[7mzzz[?12l[?25h[?25l[m[24;4H[1mINSERT [m[24;1H[K[23;1Hxxx[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^start:/+2,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New] 123L, 1328C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test95.in" 141 lines, 5827 characters[1;1HTest 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.[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for regexp patterns with multi-byte support, using utf-8.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 131 lines, 5590 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:[8Cendif
: 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:
[1m[34m~ [20;1H[?12l[?25h
[?25l
[m:so! Xdotest
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp encoding=utf-8 viminfo+=nviminfo nomore
[?25l[27m[23m[m[H[2J[1;1H:[8Cendif
: 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:
[1m[34m~ [21;1H[?12l[?25h[?25l
[m:[?12l[?25h" tl is a List of Lists with:
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" 2: test auto/old/new 0: test auto/old 1: test auto/new
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" regexp pattern
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" text to test the pattern on
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected match (optional)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected submatch 1 (optional)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected submatch 2 (optional)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" etc.
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When there is no match use only the first two items.
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tl = []
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Multi-byte character tests. These will fail unless vim is compiled
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" with Multibyte (FEAT_MBYTE) or BIG/HUGE features.
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[[:alpha:][=a=]]\+', '879 aiaãâaiuvna ', 'aiaãâaiuvna'])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[[=a=]]\+', 'ddaãâbcd', 'aãâ'])[34m^I^I^I^I^I^I^I^I[m" equivalence
classes
[?25l[1;1H[L[1;1H:[8Cendif[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hcall add(tl, [2, '[^ม ]\+', 'มม oijasoifjos ifjoisj f osij j มมมมม abcd', 'oij
[23;80Ha[24;1Hsoifjos'])
[?25l[1;1H[L[1;1H:[8Cendif[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hcall add(tl, [2, ' [^ ]\+', 'start มabcdม ', ' มabcdม'])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[ม[:alpha:][=a=]]\+', '879 aiaãมâมaiuvna ', 'aiaãมâมaiuvna']
[23;80H)[24;1H[?25l[1;1H[L[1;1H:[8Cendif[24;1H[K[21;1H[?12l[?25h[?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 ®expengine = 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
[23;80Hx[24;1Ht . '\", 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
[23;80Hx[24;1Ht . '\", 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
[23;80Hx[24;1Ht . '\", 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:[8C[?12l[?25h: if len(t) <= matchidx + i
[?25l:[10C[?12l[?25h: let e = ''
[?25l:[10C[?12l[?25h: else
[?25l:[10C[?12l[?25h: let e = t[matchidx + i]
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: if l[i] != e
[?25l:[10C[?12l[?25h: $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text:
"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: endfor
[?25l: [?12l[?25h: unlet i
[?25l: [?12l[?25h: endif
[?25l: [?12l[?25h: endfor
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[1;1HOK 2 - ק[34m<200d>[mx\Z
OK 0 - ק[34m<200d>[mx\Z
OK 1 - ק[34m<200d>[mx\Z
OK 2 - ק[34m<200d>[mx\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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" check that 'ambiwidth' does not change the meaning of \p
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset regexpengine=1 ambiwidth=single
[?25l[27m[23m[m[H[2J[1;1HOK 2 - ק[34m<200d>[mx\Z
OK 0 - ק[34m<200d>[mx\Z
OK 1 - ק[34m<200d>[mx\Z
OK 2 - ק[34m<200d>[mx\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[1;23r[23;1H
[1;24r[23;1Heng 1 ambi single: 0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset regexpengine=1 ambiwidth=double
[?25l[27m[23m[m[H[2J[1;1HOK 0 - ק[34m<200d>[mx\Z
OK 1 - ק[34m<200d>[mx\Z
OK 2 - ק[34m<200d>[mx\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[1;23r[23;1H
[1;24r[23;1Heng 1 ambi double: 0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset regexpengine=2 ambiwidth=single
[?25l[27m[23m[m[H[2J[1;1HOK 1 - ק[34m<200d>[mx\Z
OK 2 - ק[34m<200d>[mx\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[1;23r[23;1H
[1;24r[23;1Heng 2 ambi single: 0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset regexpengine=2 ambiwidth=double
[?25l[27m[23m[m[H[2J[1;1HOK 2 - ק[34m<200d>[mx\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[1;23r[23;1H
[1;24r[23;1Heng 2 ambi double: 0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/\%#=1^Results/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test98.in" 43 lines, 908 characters[1;1HTest 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.[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for 'scrollbind' causing an unexpected scroll of one of the windows.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 35 lines, 791 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[3;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[16M[1;24r[8;1H: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(too[20;1HpLineLeft - topLineRight))
:w! test.out
:brewind
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" We don't want the status line to cause problems:
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset laststatus=0
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:totalLines = &lines * 20
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet middle = g:totalLines / 2
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd n
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd o
[?25l[12;1H[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hfor i in range(1, g:totalLines)
[?25l
: [?12l[?25h: call setline(i, 'LINE ' . i)
[?25l: [?12l[?25h:endfor
[1;1H[2L[?25l[1;1HLINE 1
LINE 2
LINE 3[3;7H[K[4;1HLINE 4[4;7H[K[5;1HLINE 5[5;7H[K[6;1HLINE 6[6;7H[K[7;1HLINE 7[7;7H[K[8;1HLINE 8[8;7H[K[9;1HLINE 9[9;7H[K[10;1HLINE 10[10;8H[K[11;1HLINE 11[11;8H[K[12;1HLINE 12[12;8H[K[13;1HLINE 13[13;8H[K[14;1HLINE 14[14;8H[K[15;1HLINE 15[15;8H[K[16;1HLINE 16[16;8H[K[17;1HLINE 17[17;8H[K[18;1HLINE 18[18;8H[K[19;1HLINE 19[19;8H[K[20;1HLINE 20[20;8H[K[21;1HLINE 21[21;8H[K[22;1HLINE 22[22;8H[K[23;1HLINE 23[23;8H[K[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hexe string(middle)
[?25l[27m[23m[m[H[2J[1;1HLINE 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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnormal zt
[?25l[1;23r[1;1H[11M[1;24r[13;1HLINE 252
LINE 253
LINE 254
LINE 255
LINE 256
LINE 257
LINE 258
LINE 259
LINE 260
LINE 261
LINE 262[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnormal M
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haboveleft vert new
[?25l[1;1H [32C[7m|[2;41H|[3;41H|[4;41H|[5;41H|[6;41H|[7;41H|[8;41H|[9;41H|[10;41H|[11;41H|[12;41H|[13;41H|[14;41H|[15;41H|[16;41H|[17;41H|[18;41H|[19;41H|[20;41H|[21;41H|[22;41H|[23;41H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~ [m[1;42HLINE 240[2;42HLINE 241[3;42HLINE 242[4;42HLINE 243[5;42HLINE 244[6;42HLINE 245[7;42HLINE 246[8;42HLINE 247[9;42HLINE 248[10;42HLINE 249[11;42HLINE 250[12;42HLINE 251[13;42HLINE 252[14;42HLINE 253[15;42HLINE 254[16;42HLINE 255[17;42HLINE 256[18;42HLINE 257[19;42HLINE 258[20;42HLINE 259[21;42HLINE 260[22;42HLINE 261[23;42HLINE 262[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(1, g:totalLines)
[?25l
: [?12l[?25h: call setline(i, 'line ' . i)
[?25l: [?12l[?25h:endfor
[1;1H[2L[?25l[1;1Hline 1[34C[7m|[m
line 2[34C[7m|[m
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 [1;42HLINE 240[2;42HLINE 241[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hexe string(middle)
[?25l[1;6H229[2;7H30[3;6H231[4;6H232[5;6H233[6;6H234[7;6H235[8;6H236[9;6H237[10;6H238[11;6H239[12;6H240[13;6H241[14;6H242[15;6H243[16;6H244[17;6H245[18;6H246[19;6H247[20;7H48[21;7H49[22;7H50[23;7H51[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal zt
[?25l[1;1Hline 240
line 241
line 242
line 243
line 244
line 245
line 246
line 247
line 248
line 249
line 250
line 251
[13;1Hline 252
line 253
line 254
line 255
line 256
line 257
line 258
line 259
line 260
line 261
line 262[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnormal M
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Execute the following two command at once to reproduce the problem.
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl scb | wincmd p
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl scb
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd w
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet topLineLeft = line('w0')
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd p
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet topLineRight = line('w0')
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl noscrollbind
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd p
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl noscrollbind
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[1;1HLINE[1;41H[K[2;1HLINE[2;41H[K[3;1HLINE[3;41H[K[4;1HLINE[4;41H[K[5;1HLINE[5;41H[K[6;1HLINE[6;41H[K[7;1HLINE[7;41H[K[8;1HLINE[8;41H[K[9;1HLINE[9;41H[K[10;1HLINE[10;41H[K[11;1HLINE[11;41H[K[12;1HLINE[12;41H[K[13;1HLINE[13;41H[K[14;1HLINE[14;41H[K[15;1HLINE[15;41H[K[16;1HLINE[16;41H[K[17;1HLINE[17;41H[K[18;1HLINE[18;41H[K[19;1HLINE[19;41H[K[20;1HLINE[20;41H[K[21;1HLINE[21;41H[K[22;1HLINE[22;41H[K[23;1HLINE[23;41H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%del _
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall setline(1, 'Difference between the top lines (left - right): ' . string(t
[23;80Ho[24;1HpLineLeft - topLineRight))
[?25l[1;1H[L[1;1HDifference between the top lines (left - right): 0[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 51 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbrewind
[?25l"test98.in" 43 lines, 908 characters[1;1H:normal M[1;10H[K[2;1H:" Execute the following two command at once to reproduce the problem.[2;71H[K[3;1H:setl scb | wincmd p[3;21H[K[4;1H:setl scb[4;10H[K[5;1H:wincmd w[5;10H[K[6;1H:let topLineLeft = line('w0')[6;30H[K[7;1H:wincmd p[7;10H[K[8;1H:let topLineRight = line('w0')[8;31H[K[9;1H:setl noscrollbind[9;19H[K[10;1H:wincmd p[10;10H[K[11;1H:setl noscrollbind[11;19H[K[12;1H:q![12;4H[K[13;1H:%del _[13;8H[K[14;1H:call setline(1, 'Difference between the top lines (left - right): ' . string(too[15;1HpLineLeft - topLineRight))[15;27H[K[16;1H:w! test.out[16;13H[K[17;1H:brewind[17;9H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1HSTARTTEST[20;10H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[20;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H1 line, 5 characters written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[21;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test99.in" 69 lines, 1400 characters[1;1HTests 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
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with multi-byte encoding and various magic settings.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 43 lines, 931 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:" 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[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
[?25l[27m[23m[m[H[2J[1;1H:" 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
:[?12l[?25h" Test \%u, [\u] and friends
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%u20ac
[?25l[1;23r[23;1H
/[?12l[?25h[\u4f7f\u5929]\+
[?25l[1;23r[23;1H
/[?12l[?25h\%U12345678
[?25l[1;23r[23;1H
/[?12l[?25h[\U1234abcd\u1234\uabcd]
[?25l[1;23r[23;1H
/[?12l[?25h\%d21879b
[?25l[1;23r[23;1H
:[?12l[?25h" Test backwards search from a multi-byte char
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hx
[?25l[1;23r[23;1H
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" l Test what 7.3.192 fixed
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^l
[?25l[1;23r[23;1H
2 d dd dee deeff
3 g gg ghh ghhii
4 j jj jkk jkkll
5 m mm mnn mnnoo
#@/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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test103.in" 37 lines, 823 characters[1;1HTest for visual mode not being reset causing E315 error.
STARTTEST
:so small.vim
:enew
:let g:msg="Everything's fine."
:function! TriggerTheProblem()
:[7C" At this point there is no visual selection because :call reset it.
:[7C" Let's restore the selection:
:[7Cnormal gv
:[7C'<,'>del _
:[7Ctry
:[15Cexe "normal \<Esc>"
:[7Ccatch /^Vim\%((\a\+)\)\=:E315/
:[15Cechom 'Snap! E315 error!'
:[15Clet g:msg='Snap! E315 error!'
:[7Cendtry
: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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for visual mode not being reset causing E315 error.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 29 lines, 723 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[3;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[10M[1;24r[14;1H:"[7Cex-way will require the colon operator which resets the visual mode thuu[15;1Hs
:"[7Cpreventing the problem:
:"
GV:call TriggerTheProblem()
:%del _
:call append(line('$'), g:msg)
:w! test.out
:brewind
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25henew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet g:msg="Everything's fine."
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! TriggerTheProblem()
[?25l
: [?12l[?25h:[34m^I[m" At this point there is no visual selection because :call reset it.
[?25l: [?12l[?25h:[34m^I[m" Let's restore the selection:
[?25l: [?12l[?25h:[34m^I[mnormal gv
[?25l: [?12l[?25h:[34m^I[m'<,'>del _
[?25l: [?12l[?25h:[34m^I[mtry
[?25l: [?12l[?25h:[34m^I^I[mexe "normal \<Esc>"
[?25l: [?12l[?25h:[34m^I[mcatch /^Vim\%((\a\+)\)\=:E315/
[?25l: [?12l[?25h:[34m^I^I[mechom 'Snap! E315 error!'
[?25l: [?12l[?25h:[34m^I^I[mlet g:msg='Snap! E315 error!'
[?25l: [?12l[?25h:[34m^I[mendtry
[?25l: [?12l[?25h:endfunction
[1;1H[11L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25henew
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl buftype=nofile
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), 'Delete this line.')
[?25l[2;1HDelete this line.[2;18H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" NOTE: this has to be done by a call to a function because executing :del the
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" ex-way will require the colon operator which resets the visual mode th
[23;80Hu[24;1Hs[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" preventing the problem:
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h
[?25lD[7melete this line.
[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[?12l[?25hcall TriggerTheProblem()
[?25l[2;1H[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h%del _
[?25l--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), g:msg)
[?25l[2;1HEverything's fine.[2;19H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 2 lines, 20 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbrewind
[?25l"test103.in" 37 lines, 823 characters[1;1H:[7Cendtry
:endfunction[2;14H[K[3;1H:enew[3;6H[K[4;1H:setl buftype=nofile[4;21H[K[5;1H:call append(line('$'), 'Delete this line.')[5;45H[K[6;1H:"[6;3H[K[7;1H:"[7;3H[K[8;1H:" NOTE: this has to be done by a call to a function because executing :del the[8;80H[K[9;1H:" ex-way will require the colon operator which resets the visual mode thuu[10;1Hs[10;2H[K[11;1H:" preventing the problem:[11;33H[K[12;1H:"[12;3H[K[13;1HGV:call TriggerTheProblem()[13;28H[K[14;1H:%del _[14;8H[K[15;1H:call append(line('$'), g:msg)[15;31H[K[16;1H:w! test.out[16;13H[K[17;1H:brewind[17;9H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1HSTARTTEST[20;10H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[20;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H1 line, 5 characters written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[21;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test104.in" 30 lines, 698 characters[1;1HTests 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 [16;1H== 1 ? "a" : "b"}']
: try
: redir => messages
: execute 'let' letargs
: redir END
: $put ='OK:'
: $put =split(substitute(messages, '\n', '\0 ', 'g'), '\n')
: catch[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :let. vim: set ft=vim ts=8 :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 24 lines, 618 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[6M[1;24r[18;1H: $put ='FAIL: ' . v:exception
: redir END
: endtry
:endfor
:/^Results/,$wq! test.out
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset runtimepath+=./sautest
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test to not autoload when assigning. It causes internal error.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[5L[?25l[1;1H: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 [7;1H== 1 ? "a" : "b"}']
: try[8;7H[K[9;1H: redir => messages
: execute 'let' letargs[11;12HEND[11;15H[K[12;6H$put ='OK:'[12;17H[K[13;6H$put =split(substitute(messages, '\n', '\0 ', 'g'), '\n')
: catch[14;9H[K[15;12H'FAIL: ' . v:exception[15;34H[K[16;4H redir END
: endtry[17;11H[K[18;2Hendfor[18;8H[K[19;2H/^Results/,$wq! test.out
ENDTEST[21;1H[K[22;1HResults of test104:
OK: function('tr')[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet a = 1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b = 2
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0
== 1 ? "a" : "b"}']
[?25l[24;1H[K[24;1H: [?12l[?25h: try
[?25l: [?12l[?25h: redir => messages
[?25l: [?12l[?25h: execute 'let' letargs
[?25la[21C#1
b[21C#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[21C#2
b[21C#2
a[21C#1
a[21C#1
b[21C#2
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h/^Results/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test107.in" 38 lines, 717 characters[1;1HTests 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)
:[7Clet 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for adjusting window and contents vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 32 lines, 628 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[13M[1;24r[11;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;2H:wincmd p[13;11H[K[14;2Hcall add(r, [line("w0"), s3])[15;2H[K[16;2Hbwipeout!
:$put=r[17;8H[K[18;2Hcall garbagecollect(1)
:"[19;3H[K[20;2H/^start:/,$wq! test.out
ENDTEST[21;8H[K[22;1H[K[23;1H[7mtest107.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall setline(1, range(1,256))
[?25l[1;1H1
2[2;2H[K[3;1H3[3;2H[K[4;1H4[4;2H[K[5;1H5[5;2H[K[6;1H6[6;2H[K[7;1H7[7;2H[K[8;1H8[8;2H[K[9;1H9[9;2H[K[10;1H10[10;3H[K[11;1H11[11;3H[K[12;11H[1m[7m[+][1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet r=[]
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1H1
2
3
4
5
6[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"
[?25l[11;1H[7m[No Name] [+] [m[12;1H:let s3=GetScreenStr(1)[12;24H[K[23;1H[1m[7mtest107.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd p
[?25l[11;1H[1m[7m[No Name] [+] [m[23;1H[7mtest107.in[m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"
[?25l[27m[23m[m[H[2J[1;1H50
51
52
53
54
55
56
57
58
59
[7m[No Name] [+] [m[12;1H:let s3=GetScreenStr(1)
::wincmd p
:call add(r, [line("w0"), s3])
:
:bwipeout!
:$put=r
:call garbagecollect(1)
:"
:/^start:/,$wq! test.out
ENDTEST
[1m[7mtest107.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd p
[?25l[11;1H[1m[7m[No Name] [+] [m[23;1H[7mtest107.in[m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"
[?25l[27m[23m[m[H[2J[1;1H59
60
61
62
63
64
65
66
67
68
[7m[No Name] [+] [m[12;1H:let s3=GetScreenStr(1)
::wincmd p
:call add(r, [line("w0"), s3])
:
:bwipeout!
:$put=r
:call garbagecollect(1)
:"
:/^start:/,$wq! test.out
ENDTEST
[1m[7mtest107.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h:wincmd p
[?25l[11;1H[1m[7m[No Name] [+] [m[23;1H[7mtest107.in[m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipeout!
[?25l[1;1H:[1;2H[K[2;1H: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])
:[6;2H[K[7;1H: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])
:[11;2H[K[12;2Hexe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"
:let s3=GetScreenStr(1)
::wincmd p[14;11H[K[15;2Hcall add(r, [line("w0"), s3])[16;2H[K[17;2Hbwipeout!
:$put=r[18;8H[K[19;2Hcall garbagecollect(1)
:"[20;3H[K[21;1H:/^start:/,$wq! test.out
ENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put=r
[?25l3 more lines[1;23r[1;1H[4M[1;24r[20;1Hstart:
[1, '1 ']
[50, '50 ']
[59, '59 '][24;1H[K[24;1H3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test108.in" 88 lines, 1329 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for backtrace debug commands. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 83 lines, 1251 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hup
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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang mess C
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1Hup
b
echo "fil is not frame or finish, it is file"
fil[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1Hup
b
echo "fil is not frame or finish, it is file"
fil[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1Hup
b
echo "fil is not frame or finish, it is file"
fil[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;5H[K[14;1Hecho "\n- final result 19:"
cont[15;6H[K[16;1H:0debuggreedy
:redir END[17;11H[K[18;2H$put =out
:w! test.out
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7mtest108.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hdebuggreedy
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir => out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[?25l[1m[37m[41mError detected while processing function Foo[2]..Bar[2]..Bazz:[m
[33mline 3:[m
[1m[37m[41mE121: Undefined variable: var3[m
[1m[37m[41mE15: Invalid expression: var3[m
>[?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
[?25l[1m[37m[41mError detected while processing function Foo[2]..Bar:[m
[33mline 3:[m
[1m[37m[41mE121: Undefined variable: var2[m
[1m[37m[41mE15: Invalid expression: var2[m
>[?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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h0debuggreedy
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1Hfram
echo "\n- final result 19:"
cont
:0debuggreedy
:redir END
:$put =out
:w! test.out
:qa!
ENDTEST
[7mtest108.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hredir END
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =out
[?25l83 more lines[1;1H->1 function Foo[2]
0 Bar[2;8H[K[3;1Hline 3: End of function[3;24H[K[4;1Hframe is zero[4;14H[K[5;1H 1 function Foo[2][5;20H[K[6;1H->0 Bar[6;8H[K[7;1Hline 3: End of function[7;24H[K[8;1H[K[9;1H- final result 19:[9;19H[K[10;1H19[10;3H[K[11;1H[K[12;11H[1m[7m[+][11;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 84 lines, 1390 characters written[12;1H[1m[7mtest.out] [11;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_autocmd_option.in" 77 lines, 2954 characters[1;1HTest for option autocommand
STARTTEST
:so small.vim
:if !has("eval") || !has("autocmd") || !exists("+autochdir") | e! test.ok | w! tt[6;1Hest.out | qa! | endif
:fu! AutoCommand(match)
:[7Clet c=g:testcase
:[7Clet item=remove(g:options, 0)
:[7Clet c.=printf("Expected: Name: <%s>, Oldval: <%s>, NewVal: <%s>, Scope: [11;1H<%s>\n", item[0], item[1], item[2], item[3])
:[7Clet c.=printf("Autocmd Option: <%s>,", a:match)
:[7Clet c.=printf(" OldVal: <%s>,", v:option_old)
:[7Clet c.=printf(" NewVal: <%s>,", v:option_new)
:[7Clet c.=printf(" Scope: <%s>\n", v:option_type)
:[7Ccall 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']][1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for option autocommand[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 72 lines, 2896 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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, secoo[4;1Hnd 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[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has("eval") || !has("autocmd") || !exists("+autochdir") | e! test.ok | w!
[23;80Ht[24;1Hest.out | qa! | endif
[?25l[1;1H[L[1;1H:let g:testcase="13: Setting option backspace through setbufvar()\n"[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hfu! AutoCommand(match)
[?25l
: [?12l[?25h:[34m^I[mlet 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
[23;80Hp[24;1He: <%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
[1;1H[10L[?25l[1;1H: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, secoo[4;1Hnd 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)[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hau OptionSet * :call AutoCommand(expand("<amatch>"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="1: Setting number option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['number', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nu
[?25l[1;1H[33m 56 [m:let g:testcase="13: Setting option backspace through setbufvar()\n"
[33m 57 [m:let g:options=[['backup', '', '1', 'local']]
[33m 58 [m: "try twice, first time, shouldn't trigger because option name is invall[4;1Hid, second time, it should trigger
[33m 59 [m:call setbufvar(1, '&l:bk', 1)
[33m 60 [m: "should trigger, use correct option name
[33m 61 [m:call setbufvar(1, '&backup', 1)
[33m 62 [m:let g:testcase="14: Setting number option using setwinvar\n"
[33m 63 [m:let g:options=[['number', 0, 1, 'local']]
[33m 64 [m:call setwinvar(0, '&number', 1)
[33m 65 [m:" Write register now, because next test shouldn't output anything.
[33m 66 [m:$put r
[33m 67 [m:let @r=''
[33m 68 [m:let g:testcase="\n15: Setting key option, shouldn't trigger\n"
[33m 69 [m:let g:options=[['key', 'invalid', 'invalid1', 'invalid']]
[33m 70 [m:setlocal key=blah
[33m 71 [m:setlocal key=
[33m 72 [m:$put =g:testcase
[33m 73 [m:$put r
[33m 74 [m:/^dummy text/,$w! test.out
[33m 75 [m:qa!
[33m 76 [mENDTEST
[33m 77 [mdummy text[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="2: Setting local number option\n"
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['number', 1, 0, 'local']]
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal nonu
[?25l[1;1H:let g:testcase="13: Setting option backspace through setbufvar()\n"[1;69H[K[2;1H:let g:options=[['backup', '', '1', 'local']][2;46H[K[3;1H: "try twice, first time, shouldn't trigger because option name is invalid, secoo[4;1Hnd time, it should trigger[4;28H[K[5;1H:call setbufvar(1, '&l:bk', 1)[5;31H[K[6;1H: "should trigger, use correct option name[6;43H[K[7;1H:call setbufvar(1, '&backup', 1)[7;33H[K[8;1H:let g:testcase="14: Setting number option using setwinvar\n"[8;62H[K[9;1H:let g:options=[['number', 0, 1, 'local']][9;43H[K[10;1H:call setwinvar(0, '&number', 1)[10;33H[K[11;1H:" Write register now, because next test shouldn't output anything.[11;68H[K[12;1H:$put r[12;8H[K[13;1H:let @r=''[13;11H[K[14;1H:let g:testcase="\n15: Setting key option, shouldn't trigger\n"[14;64H[K[15;1H:let g:options=[['key', 'invalid', 'invalid1', 'invalid']][15;59H[K[16;1H:setlocal key=blah[16;19H[K[17;1H:setlocal key=[17;15H[K[18;1H:$put =g:testcase[18;18H[K[19;1H:$put r[19;8H[K[20;1H:/^dummy text/,$w! test.out[20;28H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1Hdummy text[23;11H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="3: Setting global number option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['number', 1, 0, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal nonu
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="4: Setting local autoindent option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoindent', 0, 1, 'local']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal ai
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="5: Setting global autoindent option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoindent', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal ai
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="6: Setting global autoindent option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoindent', 1, 0, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ai!
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h Should not print anything, use :noa
[?25l[1m[37m[41mE492: Not an editor command: Should not print anything, use :noa[23;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnoa :set nonu
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="7: Setting several global list and number option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['list', 0, 1, 'global'], ['number', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset list nu
[?25l[1;1H[33m 56 [m:let g:testcase="13: Setting option backspace through setbufvar()\n"[1m[34m$[m
[33m 57 [m:let g:options=[['backup', '', '1', 'local']][1m[34m$[m
[33m 58 [m: "try twice, first time, shouldn't trigger because option name is invall[4;1Hid, second time, it should trigger[1m[34m$[m
[33m 59 [m:call setbufvar(1, '&l:bk', 1)[1m[34m$[m
[33m 60 [m: "should trigger, use correct option name[1m[34m$[m
[33m 61 [m:call setbufvar(1, '&backup', 1)[1m[34m$[m
[33m 62 [m:let g:testcase="14: Setting number option using setwinvar\n"[1m[34m$[m
[33m 63 [m:let g:options=[['number', 0, 1, 'local']][1m[34m$[m
[33m 64 [m:call setwinvar(0, '&number', 1)[1m[34m$[m
[33m 65 [m:" Write register now, because next test shouldn't output anything.[1m[34m$[m
[33m 66 [m:$put r[1m[34m$[m
[33m 67 [m:let @r=''[1m[34m$[m
[33m 68 [m:let g:testcase="\n15: Setting key option, shouldn't trigger\n"[1m[34m$[m
[33m 69 [m:let g:options=[['key', 'invalid', 'invalid1', 'invalid']][1m[34m$[m
[33m 70 [m:setlocal key=blah[1m[34m$[m
[33m 71 [m:setlocal key=[1m[34m$[m
[33m 72 [m:$put =g:testcase[1m[34m$[m
[33m 73 [m:$put r[1m[34m$[m
[33m 74 [m:/^dummy text/,$w! test.out[1m[34m$[m
[33m 75 [m:qa![1m[34m$[m
[33m 76 [mENDTEST[1m[34m$[m
[33m 77 [mdummy text[1m[34m$[23;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnoa set nolist nonu
[?25l[1;1H:let g:testcase="13: Setting option backspace through setbufvar()\n"[1;69H[K[2;1H:let g:options=[['backup', '', '1', 'local']][2;46H[K[3;1H: "try twice, first time, shouldn't trigger because option name is invalid, secoo[4;1Hnd time, it should trigger[4;28H[K[5;1H:call setbufvar(1, '&l:bk', 1)[5;31H[K[6;1H: "should trigger, use correct option name[6;43H[K[7;1H:call setbufvar(1, '&backup', 1)[7;33H[K[8;1H:let g:testcase="14: Setting number option using setwinvar\n"[8;62H[K[9;1H:let g:options=[['number', 0, 1, 'local']][9;43H[K[10;1H:call setwinvar(0, '&number', 1)[10;33H[K[11;1H:" Write register now, because next test shouldn't output anything.[11;68H[K[12;1H:$put r[12;8H[K[13;1H:let @r=''[13;11H[K[14;1H:let g:testcase="\n15: Setting key option, shouldn't trigger\n"[14;64H[K[15;1H:let g:options=[['key', 'invalid', 'invalid1', 'invalid']][15;59H[K[16;1H:setlocal key=blah[16;19H[K[17;1H:setlocal key=[17;15H[K[18;1H:$put =g:testcase[18;18H[K[19;1H:$put r[19;8H[K[20;1H:/^dummy text/,$w! test.out[20;28H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1Hdummy text[23;11H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="8: Setting global acd\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autochdir', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal acd
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="9: Setting global autoread\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoread', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="10: Setting local autoread\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoread', 0, 1, 'local']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal ar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="11: Setting global autoread\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoread', 1, 0, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal invar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="12: Setting option backspace through :let\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['backspace', '', 'eol,indent,start', 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet &bs="eol,indent,start"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="13: Setting option backspace through setbufvar()\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['backup', '', '1', 'local']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h "try twice, first time, shouldn't trigger because option name is invalid, sec
[23;80Ho[24;1Hnd time, it should trigger
[?25l[1;1H[L[1;1H:let g:testcase="13: Setting option backspace through setbufvar()\n"[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcall setbufvar(1, '&l:bk', 1)
[?25l[1m[37m[41mE355: Unknown option: l:bk[m[24;27H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h "should trigger, use correct option name
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall setbufvar(1, '&backup', 1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="14: Setting number option using setwinvar\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['number', 0, 1, 'local']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall setwinvar(0, '&number', 1)
[?25l[1;1H[33m 56 [m:let g:testcase="13: Setting option backspace through setbufvar()\n"
[33m 57 [m:let g:options=[['backup', '', '1', 'local']]
[33m 58 [m: "try twice, first time, shouldn't trigger because option name is invall[4;1Hid, second time, it should trigger
[33m 59 [m:call setbufvar(1, '&l:bk', 1)
[33m 60 [m: "should trigger, use correct option name
[33m 61 [m:call setbufvar(1, '&backup', 1)
[33m 62 [m:let g:testcase="14: Setting number option using setwinvar\n"
[33m 63 [m:let g:options=[['number', 0, 1, 'local']]
[33m 64 [m:call setwinvar(0, '&number', 1)
[33m 65 [m:" Write register now, because next test shouldn't output anything.
[33m 66 [m:$put r
[33m 67 [m:let @r=''
[33m 68 [m:let g:testcase="\n15: Setting key option, shouldn't trigger\n"
[33m 69 [m:let g:options=[['key', 'invalid', 'invalid1', 'invalid']]
[33m 70 [m:setlocal key=blah
[33m 71 [m:setlocal key=
[33m 72 [m:$put =g:testcase
[33m 73 [m:$put r
[33m 74 [m:/^dummy text/,$w! test.out
[33m 75 [m:qa!
[33m 76 [mENDTEST
[33m 77 [mdummy text[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Write register now, because next test shouldn't output anything.
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put r
[?25l60 more lines[1;5H[33m117[m[1CAutocmd Option: <autoread>, OldVal: <0>, NewVal: <1>, Scope: <global>[2;5H[33m118[m[2;9H[K[3;5H[33m119[m[1C10: Setting local autoread[3;35H[K[4;1H[33m 120 [mExpected: Name: <autoread>, Oldval: <0>, NewVal: <1>, Scope: <local>[5;5H[33m121[m[1CAutocmd Option: <autoread>, OldVal: <1>, NewVal: <1>, Scope: <local>[6;5H[33m122[m[6;9H[K[7;5H[33m123[m[1C11: Setting global autoread[7;36H[K[8;5H[33m124[m[1CExpected: Name: <autoread>, Oldval: <1>, NewVal: <0>, Scope: <global>[9;5H[33m125[m[1CAutocmd Option: <autoread>, OldVal: <1>, NewVal: <0>, Scope: <global>[10;5H[33m126[m[10;9H[K[11;5H[33m127[m[1C12: Setting option backspace through :let[11;50H[K[12;5H[33m128[m[1CExpected: Name: <backspace>, Oldval: <>, NewVal: <eol,indent,start>, Scoo[13;1Hpe: <global>[13;14H[K[14;5H[33m129[m[1CAutocmd Option: <backspace>, OldVal: <>, NewVal: <eol,indent,start>, Scoo[15;1Hpe: <global>[15;14H[K[16;5H[33m13[m[16;9H[K[17;5H[33m13[m[2C13: Setting option backspace through setbufvar()[18;5H[33m13[m[2CExpected: Name: <backup>, Oldval: <>, NewVal: <1>, Scope: <local>[19;5H[33m13[m[2CAutocmd Option: <backup>, OldVal: <0>, NewVal: <1>, Scope: <local>[20;5H[33m13[m[20;9H[K[21;5H[33m13[m[2C14: Setting number option using setwinvar[22;5H[33m13[m[3Cxpected: Name: <number>, Oldval: <0>, NewVal: <1>, Scope: <local>[23;5H[33m13[m[2CAutocmd Option: <number>, OldVal: <0>, NewVal: <1>, Scope: <local>[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet @r=''
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="\n15: Setting key option, shouldn't trigger\n"
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['key', 'invalid', 'invalid1', 'invalid']]
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal key=blah
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal key=
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:testcase
[?25l[1;23r[1;1H[2M[1;24r[22;1H[33m 138
139 [m15: Setting key option, shouldn't trigger[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25h$put r
[?25l[1;23r[23;1H
[1;24r[23;1H[33m 140 [m[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25h/^dummy text/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 64 lines, 2700 characters written[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_autoformat_join.in" 23 lines, 524 characters[1;1HTests 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
ENDTEST[16;17HO 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:[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for setting the '[,'] marks when joining lines.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 9 lines, 265 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^\t\t/
[?25l[16;17H[?12l[?25h[16;8H[?25l[36Cattamen consulite per voster honur.
Tua pulchra facies me fay planszer milies[17;42H[K[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet a=string(getpos("'[")).'/'.string(getpos("']"))
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^This line/;'}-join
[?25l[19;23r[19;1H[2M[1;24r[19;1HThis line. Should be joined with the next line and with this line
[1m[34m~ [23;1H~ [m[24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet b=string(getpos("'[")).'/'.string(getpos("']"))
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='First test: Start/End '.string(a)
[?25l[22;1HFirst test: Start/End '[0, 16, 1, 0]/[0, 17, 1, 0]'[22;52H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='Second test: Start/End '.string(b)
[?25l[23;1HSecond test: Start/End '[0, 19, 11, 0]/[0, 19, 67, 0]'[23;55H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^\t\t/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_changelist.in" 22 lines, 288 characters[1;1HTest 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[34m^[[m
:catch
: normal ggVGcfail[34m^[[m
:finally
: %w! test.out
:endtry
:qa!
ENDTEST
1
2
[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest changelist position after splitting window[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 14 lines, 163 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h
[21;1H[?25l11[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ul=100
[?25l[21;2H[?12l[?25h
[?25l22[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ul=100
[?25l[22;2H[?12l[?25h[1;1H
[?25l[24;1H[K[24;1H:[?12l[?25hvsplit
[?25l[1;41H[7m|[m
window [7m|[m
Set 'undolevels' to make changelist for [7m|[m
sourced file[28C[7m|[m
[27C[7m|[m
STARTTEST [24C[7m|[m
:so small.vim [25C[7m|[m
Gkylp:set ul=100[24C[7m|[m
Gylp:set ul=100[25C[7m|[m
gg [36C[7m|[m
:vsplit [28C[7m|[m
:try [18C[7m|[m
: normal g;[28C[7m|[m[14;16Hpass[21C[7m|[m
:catch [32C[7m|[m
: normal ggVGcfail[34m^[[m[19C[7m|[m
:finally[32C[7m|[m
: %w! test.out[25C[7m|[m
:endtry[33C[7m|[m
:qa![36C[7m|[m
ENDTEST[33C[7m|[m
[38C[7m|[m
[1m[7mtest_changelist.in [+] [m[1;42HTest changelist position after splittin[2;42Hg window[2;50H[K[3;42HSet 'undolevels' to make changelist for[4;43Hsourced file[6;42HSTARTTEST[7;42H:so small.vim[8;42HGkylp:set ul=100[9;42HGylp:set ul=100[10;42Hgg[11;42H:vsplit[12;42H:try[13;42H: normal g;[14;42H: normal ggVGcpass[34m^[[m[15;42H:catch[16;42H: normal ggVGcfail[34m^[[m[17;42H:finally[18;42H: %w! test.out[19;42H:endtry[20;42H:qa![21;42HENDTEST[23;42H[7mtest_changelist.in [+] [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25htry
[?25l
: [?12l[?25h: normal g;
[?25l: [?12l[?25h: normal ggVGcpass
[?25l21 fewer lines[24;15H[K[24;1H
:
: [?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
[1;1H[10L[?25l[1;1Hpass[36C[7m|[2;41H|[3;41H|[4;41H|[5;41H|[6;41H|[7;41H|[8;41H|[9;41H|[10;41H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~ [m[23;20H[1m[7m [m[1;42Hpass[2;42H[1m[34m~ [3;42H~ [4;42H~ [5;42H~ [6;42H~ [7;42H~ [8;42H~ [9;42H~ [10;42H~ [11;42H~ [12;42H~ [13;42H~ [14;42H~ [15;42H~ [16;42H~ [17;42H~ [18;42H~ [19;42H~ [20;42H~ [21;42H~ [22;42H~ [m[23;61H[7m [m[24;1H[K[1;4H[?12l[?25h[?25l[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_close_count.in" 153 lines, 2665 characters[1;1HTests 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![1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :[count]close! and :[count]hide vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 41 lines, 749 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tests = []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(5)
[?25l
: [?12l[?25h:new
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [m[4;1H[1m[7m[No Name] [m[6;1H[1m[34m~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[7mtest_close_count.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h4wincmd w
[?25l[4;1H[7m[No Name][m[1m[7m [m[7m [m[16;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[7m[No Name] [m[7;1H[1m[34m~ [8;1H~ [m[9;1H[7m[No Name] [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [m[14;1H[7m[No Name] [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[1m[7m[No Name] [m[20;1H:b1
ENDTEST
[7mtest_close_count.in [15;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[19;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7m[No Name] [m[18;1H:only!
:b1
ENDTEST
STARTTEST
[1m[7mtest_close_count.in [21;1H[?12l[?25h[?25l
[m:[?12l[?25hlet buffers = []
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7m[No Name] [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [16;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[8;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h2close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[12;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[1m[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [m[18;1H[7m[No Name] [m[20;1H[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h2wincmd w
[?25l[6;1H[7m[No Name][m[1m[7m [m[7m [m[12;1H[1m[7m[No Name] [7;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h-1close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[8;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h2wincmd w
[?25l[16;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [9;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h+1close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [m[11;1H[7m[No Name] [m[13;1H[1m[34m~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [12;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [New File][23;1H[1m[7mtest.out] [12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(0, map(copy(tests), 'join(v:val, " ")'))
[?25l[12;22r[12;1H[6L[1;24r[12;1H6 5 4 2 1
5 4 2 1
5 4 2
5 2
7 5 2
7 5[23;10H[1m[7m[+][m[24;1H[K[18;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw
[?25l"test.out" [New File] 7 lines, 39 characters written[23;10H[1m[7m [18;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25honly!
[?25l[1;1H6 5 4 2 1
5 4 2 1[2;8H[K[3;1H5 4 2[3;6H[K[4;1H5 2[4;4H[K[5;1H7 5 2[5;6H[K[6;1H7 5[6;4H[K[7;1H[K[11;1H[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [23;1H~ [7;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hb1
[?25l"test_close_count.in" 153 lines, 2665 characters[1;1H: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[8;3H[K[9;1H:only![9;7H[K[10;1H:b1[10;4H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1HSTARTTEST[13;10H[K[14;1H:let tests = [][14;16H[K[15;1H:for i in range(5)[15;19H[K[16;1H:new[16;5H[K[17;1H:endfor[17;8H[K[18;1H:let buffers = [][18;18H[K[19;1H:windo call add(buffers, bufnr('%'))[19;37H[K[20;1H:call add(tests, buffers)[20;26H[K[21;1H:4wincmd w[21;11H[K[22;1H:.hide[22;7H[K[23;1H:let buffers = [][23;18H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[Kgcc -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
[24;11H44 lines, 815 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[34m^[[m
: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('%'))[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tests = []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(5)
[?25l
: [?12l[?25h:new
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [m[4;1H[1m[7m[No Name] [m[6;1H[1m[34m~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[7mtest_close_count.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[4;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h4wincmd w
[?25l[16;1H[1m[7m[No Name] [m[23;1H[7mtest_close_count.in[m[1m[7m [m[7m [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[7m[No Name] [m[7;1H[1m[34m~ [8;1H~ [m[9;1H[7m[No Name] [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [m[14;1H[7m[No Name] [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[1m[7m[No Name] [m[20;1H:b1
ENDTEST
[7mtest_close_count.in [15;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[19;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7m[No Name] [m[18;1H:only!
:b1
ENDTEST
STARTTEST
[1m[7mtest_close_count.in [21;1H[?12l[?25h[?25l
[m:[?12l[?25hlet buffers = []
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7m[No Name] [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [16;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[8;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h2hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[12;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[1m[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [m[18;1H[7m[No Name] [m[20;1H[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h3wincmd w
[?25l[6;1H[7m[No Name][m[1m[7m [m[7m [m[18;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h-hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[1m[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [9;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[16;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h2wincmd w
[?25l[16;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [9;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h+hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [m[11;1H[7m[No Name] [m[13;1H[1m[34m~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [12;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H7 lines, 39 characters[12;1H6 5 4 2 1
5 4 2 1[13;8H[K[14;1H5 4 2[14;6H[K[15;1H5 2[15;4H[K[16;1H7 5 2[16;6H[K[17;1H7 5[17;4H[K[18;1H[K[23;1H[1m[7mtest.out] [12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l[19;1H13 12 11 10 9 1[19;16H[K[20;1H13 12 11 9 1[20;13H[K[21;1H12 11 9 1[21;10H[K[22;1H12 11 9[22;8H[K[23;10H[1m[7m[+][12;1H[?12l[?25h[?25l[12;22r[m[12;1H[3M[1;24r[20;1H12 9
15 12 9
15 12[24;1H[K[22;1H[?12l[?25h[?25l[12;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25hw
[?25l"test.out" 15 lines, 106 characters written[23;10H[1m[7m [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25honly!
[?25l[1;1H6 5 4 2 1
5 4 2 1[2;8H[K[3;1H5 4 2[3;6H[K[4;1H5 2[4;4H[K[5;1H7 5 2[5;6H[K[6;1H7 5[6;4H[K[7;1H[K[8;1H13 12 11 10 9 1[8;16H[K[9;1H13 12 11 9 1[9;13H[K[10;1H12 11 9 1[10;10H[K[11;1H12 11 9[11;8H[K[12;1H12 9[12;5H[K[13;1H15 12 9
15 12[15;1H[K[16;1H[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [15;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hb1
[?25l[1;1H:+hide[1;7H[K[2;1H:let buffers = []
:windo call add(buffers, bufnr('%'))
:call add(tests, buffers)
:e! test.out
:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))
Go[34m^[[m
:w[8;4H[K[9;1H:only![9;7H[K[10;1H:b1[10;4H[K[11;1HENDTEST[12;1H[K[13;1HSTARTTEST
:let tests = []
:set hidden
:for i in range(5)[16;19H[K[17;1H:new[17;5H[K[18;1H:endfor[18;8H[K[19;1H:1wincmd w[19;11H[K[20;1H:$ hide[20;8H[K[21;1H:let buffers = [][21;18H[K[22;1H:windo call add(buffers, bufnr('%'))[22;37H[K[23;1H:call add(tests, buffers)[23;26H[K[24;1H"test_close_count.in" line 93 of 153 --60%-- col 1[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H25 lines, 448 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[34m^[[m
:w
:only!
:b1
ENDTEST
STARTTEST
:let tests = []
:set hidden
:for i in range(5)
:new
:endfor
:4wincmd w
[34m^W[mc
:let buffers = []
:windo call add(buffers, bufnr('%'))[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tests = []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(5)
[?25l
: [?12l[?25h:new
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [m[4;1H[1m[7m[No Name] [m[6;1H[1m[34m~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[7mtest_close_count.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h1wincmd w
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$ hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[1m[7m[No Name] [m[7;1H[1m[34m~ [8;1H~ [9;1H~ [m[10;1H[7m[No Name] [m[12;1H[1m[34m~ [13;1H~ [m[14;1H[7m[No Name] [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[7m[No Name] [m[21;1H[1m[34m~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[5;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [20;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$-1 close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7m[No Name] [m[19;1H[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [18;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[6;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.+close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[8;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H15 lines, 106 characters[17;1H6 5 4 2 1
5 4 2 1[18;8H[K[19;1H5 4 2[19;6H[K[20;1H5 2[20;4H[K[21;1H7 5 2[21;6H[K[22;1H7 5[22;4H[K[23;1H[1m[7mtest.out] [17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l[23;10H[1m[7m[+][17;1H[?12l[?25h[?25l[m15 12 9[17;9H[K[18;1H15 1[18;7H[K[19;1H[K[20;1H20 19 18 17 16
20 19 18 16
20 18 16
[?12l[?25h[?25l[17;22r[22;1H
[1;24r[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hw
[?25l"test.out" 19 lines, 143 characters written[23;10H[1m[7m [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25honly!
[?25l[27m[23m[m[H[2J[1;1H6 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
[1m[34m~ [21;1H~ [22;1H~ [23;1H~ [19;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hb1
[?25l[1;1H:.+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[34m^[[m
:w[8;4H[K[9;1H:only![9;7H[K[10;1H:b1[10;4H[K[11;1HENDTEST[12;1H[K[13;1HSTARTTEST
:let tests = []
:set hidden
:for i in range(5)
:new[17;5H[K[18;1H:endfor[18;8H[K[19;1H:4wincmd w
[34m^W[mc[20;4H[K[21;1H:let buffers = [][21;18H[K[22;1H:windo call add(buffers, bufnr('%'))[22;37H[K[23;1H:call add(tests, buffers)[23;26H[K[24;1H"test_close_count.in" line 121 of 153 --79%-- col 1[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H28 lines, 511 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[19M[1;24r[5;1H1[34m^W[mc
:let buffers = []
:windo call add(buffers, bufnr('%'))
:call add(tests, buffers)
9[34m^W[mc
:let buffers = []
:windo call add(buffers, bufnr('%'))
:call add(tests, buffers)
:1wincmd w
2[34m^W[mc
: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tests = []
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(5)
[?25l
: [?12l[?25h:new
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [m[4;1H[1m[7m[No Name] [m[6;1H[1m[34m~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[7mtest_close_count.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h4wincmd w
[?25l[4;1H[7m[No Name][m[1m[7m [m[7m [m[16;1H[1m[7m[No Name] [13;1H[?12l[?25h[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[7m[No Name] [m[7;1H[1m[34m~ [8;1H~ [m[9;1H[7m[No Name] [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [m[14;1H[7m[No Name] [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[1m[7m[No Name] [m[20;1H:qa!
ENDTEST
[7mtest_close_count.in [15;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[19;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7m[No Name] [m[18;1H:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))
:w
:qa!
ENDTEST
[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[18;22r[m[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25hlet buffers = []
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7m[No Name] [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [16;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[8;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25honly!
[?25l[12;1H[1m[34m~ [13;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" line 19 of 19 --100%-- col 1[1;1H6 5 4 2 1
5 4 2 1[2;8H[K[3;1H5 4 2[3;6H[K[4;1H5 2[4;4H[K[5;1H7 5 2[5;6H[K[6;1H7 5[6;4H[K[7;1H[K[8;1H13 12 11 10 9 1[8;16H[K[9;1H13 12 11 9 1[9;13H[K[10;1H12 11 9 1[10;10H[K[11;1H12 11 9[11;8H[K[12;1H12 9[12;5H[K[13;1H15 12 9[13;8H[K[14;1H15 12[14;6H[K[15;1H[K[16;1H20 19 18 17 16[16;15H[K[17;1H20 19 18 16[17;12H[K[18;1H20 18 16[18;9H[K[19;1H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l[20;1H25 24 23 21 1[20;14H[K[21;1H24 23 21 1[21;11H[K[22;1H24 23 21[22;9H[K[23;1H24 21[23;6H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" 23 lines, 183 characters written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_comparators.in" 21 lines, 283 characters[1;1H" 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
[1m[34m~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1H" Test for expression comparators. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 14 lines, 200 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[10L[?25l[1;1H" Test for expression comparators. vim: set ft=vim :
STARTTEST
:so small.vim
:try
: let oldisident=&isident
: set isident+=#
: if 1 is#1
: $put ='ok'[22;1Hok[22;3H[K[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^marker/+1,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_erasebackword.in" 19 lines, 427 characters[1;1HTest for erasing backword
STARTTEST
:so small.vim
:so mbyte.vim
:set encoding=utf-8
G
:/^test/,$w! test.out
:qa!
ENDTEST
test starts here:
[1m[34m~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for erasing backword[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 12 lines, 362 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1HTest for erasing backword
STARTTEST
:so small.vim
:so mbyte.vim
:set encoding=utf-8
G
o wwwこんにちわ世界ワールドvim [34m^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^W^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^W^W^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^W^W^W^W^[[m
:/^test/,$w! test.out
:qa!
ENDTEST
test starts here:
[1m[34m~ [21;1H~ [22;1H~ [23;1H~ [17;1H[?12l[?25h
[?25l[m
www[20;5H[K[20;5H[?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[21;5H[K[21;5H[?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[21;19H[K[21;17H[?12l[?25h[?25l
www[22;5H[K[22;5H[?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[22;15H[K[22;13H[?12l[?25h[?25l
www[23;5H[K[23;5H[?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[23;5H[K[23;4H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Hwww[?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[23;2H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Hwww[?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[23;2H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^test/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 8 lines, 111 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_eval.in" 247 lines, 6201 characters[1;1HTest 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:rr[15;1Heg, 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[19;1H:type, a:cont, a:strcont, a:cont1, a:strcont1))
endfun
:command -nargs=? AR :call AppendRegContents(<q-args>)
:fun SetReg(...)
call call('setreg', a:000)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for various eval features. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 233 lines, 6010 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[9;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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:[18;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=latin1
[?25l[27m[23m[m[H[2J[1;1H:$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:[19;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset noswapfile
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang C
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfun AppendRegContents(reg)
[?25l
: [?12l[?25h call AppendRegParts(a:reg, getregtype(a:reg), getreg(a:reg), string(getreg
[23;80H([24;1Ha:reg, 0, 1)), getreg(a:reg, 1), string(getreg(a:reg, 1, 1)))
[?25l: [?12l[?25h:endfun
[1;1H[3L[?25l[1;1H:$put =str[:n]
:$put =str[n:n]
:unlet n[24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?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
[23;80Hg[24;1H, a:type, a:cont, a:strcont, a:cont1, a:strcont1))
[?25l: [?12l[?25hendfun
[1;1H[3L[?25l[1;1H:$put =str[:n]
:$put =str[n:n]
:unlet n[24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcommand -nargs=? AR :call AppendRegContents(<q-args>)
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[7L[?25l[1;1H:$put =str[:n]
:$put =str[n:n]
:unlet n
:let nn = 3
:$put =str[nn:]
:$put =str[:nn]
:$put =str[nn:nn][24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[7L[?25l[1;1H:$put =str[:n]
:$put =str[n:n]
:unlet n
:let nn = 3
:$put =str[nn:]
:$put =str[:nn]
:$put =str[nn:nn][24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?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
[23;80H-[24;1H4-2"])
[?25l: [?12l[?25hcall SetReg('b', ['abcB4c-0', "\n", "abcB4c-2\n", "\nabcB4c-3", "abcB4c-4\na
[23;80Hb[24;1HcB4c-4-2"], 'c')
[?25l: [?12l[?25hcall SetReg('c', ['abcC4l-0', "\n", "abcC4l-2\n", "\nabcC4l-3", "abcC4l-4\na
[23;80Hb[24;1HcC4l-4-2"], 'l')
[?25l: [?12l[?25hcall SetReg('d', ['abcD4b-0', "\n", "abcD4b-2\n", "\nabcD4b-3", "abcD4b-4\na
[23;80Hb[24;1HcD4b-4-2"], 'b')
[?25l: [?12l[?25hcall SetReg('e', ['abcE4b10-0', "\n", "abcE4b10-2\n", "\nabcE4b10-3", "abcE4
[23;80Hb[24;1H10-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
[23;80Hn[24;1Hts']", "clipboard contents\n", "['clipboard contents']")
[?25l: [?12l[?25h call AppendRegParts('*', 'V', "something else\n", "['something else']",
[23;80H"[24;1Hsomething 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
[27m[23m[m[H[2J[?25l[1;1H:$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:[19;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Test()
[?25lhi[24;3H[K[1;1H*: type V; value: something else[34m^@[m (['something else']), expr: something else[34m^@[m [2;1H(['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 moo[18;1Hre lines
Executing call setreg("=", ["1", "2"])
Vim(call):E883: search pattern and expression register may not contain two or moo[21;1Hre lines[21;9H[K[22;1HExecuting call setreg(1, ["", "", [], ""])
Vim(call):E730: using List as a String
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction SetReg
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction AppendRegContents
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction ErrExe
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction Test
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelcommand AR
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" function name not starting with capital
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1H{{{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)[7;14H8: Too many arguments for function: setreg[7;56H[K[8;23H[], 2)[8;29H[K[9;12H730: using List as a String[9;40H[K[10;23H1, {}[11;14H1[8CDictionary as a String[12;26H2, [])[13;14H0[8CList as a String[13;39H[K[14;23H"/", ["1", "2"])[15;12H883: search pattern and expression register may not contain two or moo[16;1Hre lines[16;9H[K[17;1HExecuting call setreg("=", ["1", "2"])[17;39H[K[18;1HVim(call):E883: search pattern and expression register may not contain two or moo[19;1Hre lines[19;9H[K[20;1HExecuting call setreg(1, ["", "", [], ""])[20;43H[K[21;1HVim(call):E730: using List as a String
Vim(function):E128: Function name must start with a capital or "s:": g:test()
[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" function name includes a colon
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1H{{{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)[23;1HVim(function):E128: Function name must start with a capital or "s:": b:test()[23;78H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" function name folowed by #
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1HExecuting 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)[7;29H[K[8;1HVim(call):E730: using List as a String
Executing call setreg(1, {})[9;29H[K[10;1HVim(call):E731: using Dictionary as a String
Executing call setreg(1, 2, [])[11;32H[K[12;1HVim(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 moo[15;1Hre lines[15;9H[K[16;1HExecuting call setreg("=", ["1", "2"])
Vim(call):E883: search pattern and expression register may not contain two or moo[18;1Hre lines[18;9H[K[19;1HExecuting call setreg(1, ["", "", [], ""])
Vim(call):E730: using List as a String[20;39H[K[21;5Hfunction):E128: Function name must start with a capital or "s:": g:test()[22;70Hb[23;70Htest2() "#[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" function name starting with/without "g:", buffer-local funcref.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! g:Foo(n)
[?25l
: [?12l[?25h: $put ='called Foo(' . a:n . ')'
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1HExecuting call setreg()
Vim(call):E119: Not enough arguments for function: setreg[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet b:my_func = function('Foo')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall b:my_func(1)
[?25l[1;23r[23;1H
[1;24r[23;1Hcalled Foo(1)[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hecho g:Foo(2)
[?25l0[24;2H[K[1;23r[23;1H
[1;24r[23;1Hcalled Foo(2)[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hecho Foo(3)
[?25l0[24;2H[K[1;23r[23;1H
[1;24r[23;1Hcalled Foo(3)[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" script-local function used in Funcref must exist.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso test_eval_func.vim
[?25l[1;23r[1;1H[4M[1;24r[20;1Hs:Testje exists: 0
func s:Testje exists: 1
Bar exists: 1
func Bar exists: 1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Using $ instead of '$' must give an error
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htry
[?25l
: [?12l[?25h: call append($, 'foobar')
[?25l: [?12l[?25h:catch
[?25l: [?12l[?25h:$put =v:exception
[?25l: [?12l[?25h:endtry
[1;1H[4L[?25l[1;1HExecuting 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 moo[7;1Hre lines[7;9H[K[8;1HExecuting call setreg("=", ["1", "2"])
Vim(call):E883: search pattern and expression register may not contain two or moo[10;1Hre lines[10;9H[K[11;1HExecuting call setreg(1, ["", "", [], ""])
Vim(call):E730: using List as a String[12;39H[K[13;5Hfunction):E128: Function name must start with a capital or "s:": g:test()[14;70Hb[15;70Htest2() "#
called Foo(1[16;14H[K[17;12H2[18;12H3
s:Testje exists: 0
func s:Testje exists: 1
Bar exists: 1[21;15H[K[22;1Hfunc Bar exists: 1
Vim(call):E116: Invalid arguments for function append[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='{{{1 getcurpos/setpos'
[?25l[1;23r[23;1H
[1;24r[23;1H{{{1 getcurpos/setpos[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^012345678
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: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[34m^@[m (['abc']), expr: abc[34m^@[m (['abc'])
": type V; value: abc[34m^M^@[m (['abc[34m^M[m']), expr: abc[34m^M^@[m (['abc[34m^M[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'])
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[m012345[?25l[24;1H[K[24;1H:[?12l[?25hlet sp = getcurpos()
[?25l[12;7H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hcall setpos('.', sp)
[?25l[12;7H[?12l[?25h[13;7H[?25l[24;1H[K[24;1H:[?12l[?25h$put
[?25l[27m[23m[m[H[2J[1;1HExecuting 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 moo[5;1Hre lines
Executing call setreg("=", ["1", "2"])
Vim(call):E883: search pattern and expression register may not contain two or moo[8;1Hre 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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" substring and variable name
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet str = 'abcdef'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet n = 3
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[n:]
[?25l[1;23r[23;1H
[1;24r[23;1Hdef[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =str[:n]
[?25l[1;23r[23;1H
[1;24r[23;1Habcd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =str[n:n]
[?25l[1;23r[23;1H
[1;24r[23;1Hd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet n
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet nn = 3
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[nn:]
[?25l[1;23r[1;1H[2M[1;24r[22;1Hdef
[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put =str[:nn]
[?25l[23;1Habcd[23;5H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[nn:nn]
[?25l[1;23r[23;1H
[1;24r[23;1Hd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet nn
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b:nn = 4
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[b:nn:]
[?25l[1;23r[1;1H[2M[1;24r[22;1Hef
[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put =str[:b:nn]
[?25l[23;1Habcde[23;6H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[b:nn:b:nn]
[?25l[1;23r[23;1H
[1;24r[23;1He[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet b:nn
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/+1,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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.
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 test_fixeol.in
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_fixeol.in" 40 lines, 780 characters[1;1HTests for 'fixeol'[25Cvim: set ft=vim :
STARTTEST
:" use Unix fileformat for consistency
:set ff=unix
:enew!
awith eol[34m^[[m:w! XXEol
:enew!
:set noeol nofixeol
awithout eol[34m^[[m:w! XXNoEol
:set eol fixeol
:bwipe XXEol XXNoEol
:"
:" try editing files with 'fixeol' disabled
:e! XXEol
ostays eol[34m^[[m:set nofixeol
:w! XXTestEol
:e! XXNoEol
ostays without[34m^[[m:set nofixeol
:w! XXTestNoEol
:bwipe XXEol XXNoEol XXTestEol XXTestNoEol
:set fixeol[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for 'fixeol'[25Cvim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 35 lines, 698 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[16M[1;24r[8;1H:"
:" Append "END" to each file so that we can see what the last written char was.
ggdGaEND[34m^[[m:w >>XXEol
:w >>XXNoEol
:w >>XXTestEol
:w >>XXTestNoEol
:"
:" Concatenate the results
:e! test.out
a0[34m^[[m:$r XXEol
:$r XXNoEol
Go1[34m^[[m:$r XXTestEol
:$r XXTestNoEol
:w
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
2 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[2L[1;1H:w! XXTestEol
:e! XXNoEol
ostays without[34m^[[m:set nofixeol[3;30H[K[4;1H:w! XXTestNoEol[4;16H[K[5;1H:bwipe XXEol XXNoEol XXTestEol XXTestNoEol[5;43H[K[6;1H:set fixeol[6;12H[K[7;1H:"[7;3H[K[8;1H:" Append "END" to each file so that we can see what the last written char was.[8;80H[K[9;1HggdGaEND[34m^[[m:w >>XXEol[9;21H[K[10;1H:w >>XXNoEol[10;13H[K[11;1H:w >>XXTestEol[11;15H[K[12;1H:w >>XXTestNoEol[12;17H[K[13;1H:"[13;3H[K[14;1H:" Concatenate the results[14;27H[K[15;1H:e! test.out[15;13H[K[16;1Ha0[34m^[[m:$r XXEol[16;14H[K[17;1H:$r XXNoEol[17;12H[K[18;1HGo1[34m^[[m:$r XXTestEol[18;19H[K[19;1H:$r XXTestNoEol[19;16H[K[20;1H:w[20;3H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" try editing files with 'fixeol' disabled
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXEol
[?25l"XXEol" [24;9H[K[24;9H1 line, 9 characters[1;1Hwith eol[1;9H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m
stays eol[2;10H[K[2;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nofixeol
[?25l[2;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXTestEol
[?25l"XXTestEol" [24;13H[K[24;13H[New File] 2 lines, 19 characters written[2;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXNoEol
[?25l"XXNoEol" [24;11H[K[24;11H[Incomplete last line] 1 line, 11 characters[1;5Hout eol
[1m[34m~ [1;1H[?12l[?25h[?25l[m
stays without[2;14H[K[2;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nofixeol
[?25l[2;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXTestNoEol
[?25l"XXTestNoEol" [24;15H[K[24;15H[New File][Incomplete last line] 2 lines, 25 characters written[2;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXEol XXNoEol XXTestEol XXTestNoEol
[?25l"test_fixeol.in" [24;18H[K[24;18H40 lines, 780 characters
4 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fixeol
[?25l[1;1H[2L[1;1H:w! XXTestEol
:e! XXNoEol
ostays without[34m^[[m:set nofixeol[3;30H[K[4;1H:w! XXTestNoEol[4;16H[K[5;1H:bwipe XXEol XXNoEol XXTestEol XXTestNoEol[5;43H[K[6;1H:set fixeol[6;12H[K[7;1H:"[7;3H[K[8;1H:" Append "END" to each file so that we can see what the last written char was.[8;80H[K[9;1HggdGaEND[34m^[[m:w >>XXEol[9;21H[K[10;1H:w >>XXNoEol[10;13H[K[11;1H:w >>XXTestEol[11;15H[K[12;1H:w >>XXTestNoEol[12;17H[K[13;1H:"[13;3H[K[14;1H:" Concatenate the results[14;27H[K[15;1H:e! test.out[15;13H[K[16;1Ha0[34m^[[m:$r XXEol[16;14H[K[17;1H:$r XXNoEol[17;12H[K[18;1HGo1[34m^[[m:$r XXTestEol[18;19H[K[19;1H:$r XXTestNoEol[19;16H[K[20;1H:w[20;3H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Append "END" to each file so that we can see what the last written char was.
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[17L[1;24r[1;1HTests for 'fixeol'[25Cvim: set ft=vim :
STARTTEST
:" use Unix fileformat for consistency
:set ff=unix
:enew!
awith eol[34m^[[m:w! XXEol
:enew!
:set noeol nofixeol
awithout eol[34m^[[m:w! XXNoEol
:set eol fixeol
:bwipe XXEol XXNoEol
:"
:" try editing files with 'fixeol' disabled
:e! XXEol
ostays eol[34m^[[m:set nofixeol[24;1H[K[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25lEND[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXEol
[?25l"XXEol" [24;9H[K[24;9H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXNoEol
[?25l"XXNoEol" [24;11H[K[24;11H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXTestEol
[?25l"XXTestEol" [24;13H[K[24;13H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXTestNoEol
[?25l"XXTestNoEol" [24;15H[K[24;15H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Concatenate the results
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [New File][1;1H[K[1;1H[?12l[?25h[?25l0[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXEol
[?25l"XXEol" [24;9H[K[24;9H2 lines, 13 characters[2;1Hwith eol[2;9H[K[3;1HEND[3;4H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXNoEol
[?25l"XXNoEol" [24;11H[K[24;11H1 line, 15 characters[4;1Hwithout eolEND[4;15H[K[4;1H[?12l[?25h[?25l
1[5;2H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXTestEol
[?25l"XXTestEol" [24;13H[K[24;13H3 lines, 23 characters[6;1Hwith eol[6;9H[K[7;1Hstays eol[7;10H[K[8;1HEND[8;4H[K[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXTestNoEol
[?25l"XXTestNoEol" [24;15H[K[24;15H2 lines, 29 characters[9;1Hwithout eol[9;12H[K[10;1Hstays withoutEND[10;17H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" [New File] 10 lines, 84 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_getcwd.in" 96 lines, 2374 characters[1;1HTests for getcwd(), haslocaldir(), and :lcd[19Cvim: 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for getcwd(), haslocaldir(), and :lcd[19Cvim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 90 lines, 2273 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
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
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Do all test in a separate window to avoid E211 when we recursively
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" delete the Xtopdir directory during cleanup
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" This will cause a few errors, do it silently.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset visualbell
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" On windows a swapfile in Xtopdir prevents it from being cleaned up.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noswapfile
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[27m[23m[m[H[2J[?25l[1;1H: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[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" we start from a clean state.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xtopdir", "rf")
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet r=[]
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[23;1H[7mtest_getcwd.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet cwd=getcwd()
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet test_out = cwd . '/test.out'
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xtopdir')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd Xtopdir
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir[23;1H[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/test_getcwd.in[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xdir1')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xdir2')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xdir3')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew a
[?25l"a" [New File][27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7ma [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[17;1H:q
:exec "cd " . cwd
:call delete("Xtopdir", "rf")
:qa!
ENDTEST
[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/test_getcwd.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew b
[?25l"b" [New File][27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[1m[7mb [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7ma [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [m[18;1H[7m[No Name] [m[19;1H:call delete("Xtopdir", "rf")
:qa!
ENDTEST
[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/test_getcwd.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew c
[?25l"c" [New File][27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[1m[7mc [m[7;1H[1m[34m~ [8;1H~ [9;1H~ [m[10;1H[7mb [m[12;1H[1m[34m~ [13;1H~ [m[14;1H[7ma [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[7m[No Name] [m[20;1H:qa!
ENDTEST
[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/test_getcwd.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h3wincmd w
[?25l[5;1H[7mc[m[1m[7m [m[7m [m[14;1H[1m[7ma [11;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlcd Xdir1
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/Xdir1[5;1H[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/c[10;1H/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/b[m[14;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/a[11;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[5;1H[7mc [m[10;1H[1m[7mb [m[14;1H[7ma[m[1m[7mb[m[7m [6;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[5;1H[1m[7mc [m[10;1H[7mb[m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlcd Xdir3
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/Xdir3[5;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/c[m[10;1H[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/b[14;1H/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/a[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("a"), 0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("b"), 0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("c"), 0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[5;1H[7mc[m[1m[7mb[m[7m [10;1Hb [14;1Ha [m[23;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("a"), tabpagenr()))
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("b"), tabpagenr()))
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("c"), tabpagenr()))
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabnew x
[?25l"x" [New File][27m[23m[m[H[2J[1;1H[4m[30m[47m [m[4m[35m[47m5[m[4m[30m[47m /b/v/v/s/v/t/test_getcwd.in [m[1m x [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew y
[?25l"y" [New File][1;33H[1m[35m2[m[1m y [m[43C[7m [m[1;80H[4m[30m[47mX[m[12;1H[1m[7my[m[1m[34m [m[1m[7m [m[13;1H[K[23;1H[7mx[m[1m[34m [m[7m [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnew z
[?25l"z" [New File][27m[23m[m[H[2J[1;1H[4m[30m[47m [m[4m[35m[47m5[m[4m[30m[47m /b/v/v/s/v/t/test_getcwd.in [m[1m [m[1m[35m3[m[1m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[9;1H[1m[7mz [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7my [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mx [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h3wincmd w
[?25l[9;1H[7mz[m[1m[7m [m[7m [m[23;1H[1m[7mx [m[1;35H[1mx [m[43C[7m [m[1;80H[4m[30m[47mX[17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[16;1H[1m[7my [m[23;1H[7mx[m[1m[7m [m[7m [m[1;35H[1my [m[43C[7m [m[1;80H[4m[30m[47mX[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlcd Xdir2
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/Xdir2[1;35H[1m/b/v/v/s/v/t/X/y [m[28C[7m [m[1;80H[4m[30m[47mX[m[9;1H[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/z[m[16;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/y[m[23;1H[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/x[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[1;35H[1mzb /[m[7m [28C [m[1;80H[4m[30m[47mX[m[9;1H[1m[7mz [m[16;1H[7my[m[1m[7mb[m[7m [23;1Hx [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlcd Xdir3
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/Xdir3[1;35H[1m/b/v/v/s/v/t/X/z [m[28C[7m [m[1;80H[4m[30m[47mX[m[9;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/z[m[16;1H[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/y[23;1H/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtopdir/x[2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("x"), 0))
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("y"), 0))
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("z"), 0))
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tp_nr = tabpagenr()
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m5[m[1m /b/v/v/s/v/t/test_getcwd.in [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [m[11;1H[7mb [m[13;1H[1m[34m~ [14;1H~ [m[15;1H[7ma [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[1m[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hcall add(r, GetCwdInfo(3, tp_nr))
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m5[m[1m /b/v/v/s/v/t/test_getcwd.in [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [m[11;1H[7mb [m[13;1H[1m[34m~ [14;1H~ [m[15;1H[7ma [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[1m[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hcall add(r, GetCwdInfo(2, tp_nr))
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m5[m[1m /b/v/v/s/v/t/test_getcwd.in [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [m[11;1H[7mb [m[13;1H[1m[34m~ [14;1H~ [m[15;1H[7ma [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[1m[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hcall add(r, GetCwdInfo(1, tp_nr))
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m5[m[1m /b/v/v/s/v/t/test_getcwd.in [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [m[11;1H[7mb [m[13;1H[1m[34m~ [14;1H~ [m[15;1H[7ma [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[1m[7m/<<PKGBUILDDIR>>/src/vim-athena/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall writefile(r, test_out, "a")
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m4[m[1m [No Name] [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7mb [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7ma [m[19;1H[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [18;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir[1;17H[4m[30m[47mX/z [m[59C[7m [m[1;80H[4m[30m[47mX[m[6;1H[7mXtopdir/c[12;1HXtopdir/b[17;1HXtopdir/a
[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall delete("Xtopdir", "rf")
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_insertcount.in" 14 lines, 204 characters[1;1HTests for repeating insert and replace.
STARTTEST
:so small.vim
:/Second
4gro
:/^First/,$wq! test.out
:" get here when failed and in Insert mode
[34m^[[m:.wq! test.out
ENDTEST
First line
Second line
Last line
[1m[34m~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for repeating insert and replace.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 6 lines, 111 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/Second
[?25l[13;1H[?12l[?25h[?25looooecond line
ooo[?12l[?25h
Las[?25l[24;1H[K[24;1H:[?12l[?25h/^First/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_listchars.in" 54 lines, 705 characters[1;1HTests 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))'))[9;1H, '')
:endfunction
:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\\[12;1H<CR>"
:set listchars+=tab:>-,space:.,trail:<
:set list
:
/^start:/
:normal! jzt
GG
GG
GG
GG
GGH:
:set listchars-=trail:<[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for 'listchars' display with 'list' and :list[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 25 lines, 431 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[9M[1;24r[15;1HGG
GG
GG
GG
GG:
:put =g:lines
:'[,']w! test.out
ENDTEST[24;1H[K[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff=unix
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:lines = []
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction GetScreenCharsForLine(lnum)
[?25l
: [?12l[?25h: return join(map(range(1, virtcol('$')), 'nr2char(screenchar(a:lnum, v:val
[23;80H)[24;1H)'), '')
[?25l: [?12l[?25h:endfunction
[1;1H[3L[?25l[1;1H:endfunction
:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\\[3;1H<CR>"[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hnnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))
[23;80H\[24;1H<CR>"
[?25l[1;1H[L[1;1H:endfunction[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset listchars+=tab:>-,space:.,trail:<
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset list
[?25l[1;13H[1m[34m$[m[2;10H[34m.[m<expr>[34m.[mGG[34m.[m":call[34m.[12C.[m[39C\\[3;1H<CR>"[1m[34m$[m
:set[34m.[m[33C[1m[34m$[m
:set[34m.[mlist[1m[34m$
[m:[1m[34m$[7;10H$[m[8;9H[34m.[mjzt[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGGH:[1m[34m$[m
:set[34m.[m[18C[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG:[1m[34m$[m
:put[34m.[m[8C[1m[34m$[m[21;9H[34m.[m[8C[1m[34m$[22;8H$
$[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start:/
[?25l[24;9H[K[24;1H[1;23r[23;1H
[1;24r[23;1Hstart:[1m[34m$[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hnormal! jzt
[?25l[27m[23m[m[H[2J[1;1H[34m>-------[maa[34m>-----[m[1m[34m$[m
[34m..[mbb[34m>---<<[m[1m[34m$[m
[34m...[mcccc[34m><[m[1m[34m$[m
dd[34m........[mee[34m<<>-[m[1m[34m$[m
[34m<[m[1m[34m$
$
$[m
STARTTEST[1m[34m$[m
:set[34m.[mlistchars+=trail:<[1m[34m$[m
:set[34m.[mnolist[1m[34m$[m
:[1m[34m$[m
/^start:/[1m[34m$[m
:redir![34m.[m>>[34m.[mtest.out[1m[34m$[m
:+1,$list[1m[34m$[m
:redir[34m.[mEND[1m[34m$[m
:q![1m[34m$[m
ENDTEST[1m[34m$
$[m
start:[1m[34m$[m
[34m..[mfff[34m>--<<[m[1m[34m$[m
[34m>-------[mgg[34m>-----[m[1m[34m$[m
[34m.....[mh[34m>-[m[1m[34m$[m
iii[34m<<<<><<[m[1m[34m$[1;1H[?12l[?25h[?25l[24;1H[m:call add(g:lines, GetScreenCharsForLine(1))
[1;1H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(2))
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(3))
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(4))
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(5))
[5;1H[?12l[?25h[1;9H[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset listchars-=trail:<
[?25l[2;9H[34m..[3;9H.[4;13H..
.[20;9H..[23;4H....>..[1;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(1))
[1;9H[?12l[?25h[2;9H[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(2))
[2;9H[?12l[?25h[3;9H[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(3))
[3;9H[?12l[?25h[4;9H[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(4))
[4;9H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(5))
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hput =g:lines
[?25l10 more [6;23r[6;1H[10L[1;24r[6;1H>-------aa>-----$[1m[34m$[m
..bb>---<<$[1m[34m$[m
...cccc><$[1m[34m$[m
dd........ee<<>-$[1m[34m$[m
<$[1m[34m$[m
>-------aa>-----$[1m[34m$[m
..bb>---..$[1m[34m$[m
...cccc>.$[1m[34m$[m
dd........ee..>-$[1m[34m$[m
.$[1m[34m$[m[24;1H[K[24;1H10 more lines[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h'[,']w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 10 lines, 124 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[18;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H8 lines, 93 characters written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[19;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H:+1,$list[1m[34m$[m
:redir[34m.[mEND[1m[34m$[m
:q![1m[34m$[m
ENDTEST[1m[34m$[m[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[1m[34m$[?12l[?25h[?25l
[m:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset listchars+=trail:<
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nolist
[?25l[1;18H[K[2;12H[K[3;11H[K[4;18H[K[5;3H[K[6;18H[K[7;12H[K[8;11H[K[9;18H[K[10;3H[K[11;1H[K[12;1H[K[13;10H[K[14;5H [14;24H[K[15;5H [15;12H[K[16;2H[K[17;10H[K[18;8H >> [18;20H[K[19;10H[K[20;7H [20;11H[K[21;4H[K[22;8H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start:/
[?25l[24;9H[K[24;1H[1;23r[23;1H
[1;24r[23;1Hstart:[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hredir! >> test.out
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h+1,$list
[?25l[34m..[mfff[34m>--<<[m[1m[34m$[m
[34m>-------[mgg[34m>-----[m[1m[34m$[m
[34m.....[mh[34m>-[m[1m[34m$[m
iii[34m<<<<><<[m[1m[34m$[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[4L[1;1H>-------aa>-----$
..bb>---..$
...cccc>.$
dd........ee..>-$
.$[5;3H[K[6;1H[K[7;1H[K[8;1HSTARTTEST[8;10H[K[9;1H:set listchars+=trail:<
:set nolist
:
/^start:/
:redir! >> test.out[13;20H[K[14;2H+1,$list[14;10H[K[15;2Hredir END
:q![16;4H[K[17;1HENDTEST[17;9H[K[18;1H[K[19;1Hstart:[19;8H[K[20;1H fff
gg[22;6Hh
iii [24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_listlbr.in" 119 lines, 2868 characters[1;1HTest for linebreak and list option (non-utf8)
STARTTEST
:so small.vim
:if !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! | [6;1Hendif
: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)
:[7Clet c=''
:[7Cfor j in range(1,4)
:[11Cfor i in range(1,a:width)
:[15Clet c.=nr2char(screenchar(j, i))
:[11Cendfor
:[11Clet c.="\n"
:[7Cendfor
:[7Creturn c
:endfu
:fu! DoRecordScreen()
:[7Cwincmd l
:[7C$put =printf(\"\n%s\", g:test)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for linebreak and list option (non-utf8)[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 114 lines, 2792 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Habcd{ef
ghijklm
no}pqrs[34m^[[m2k0f{[34m^V^V[mc%[34m^[[m
:"
:let g:test ="Test 11: using block replace mode after wrapping"
:$put =g:test
:set linebreak wrap
Go[34m^[[m150aa[34m^[[myypk147|[34m^V[mjr0
:"
:let g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$"[11;1H: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[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! |
endif
[?25l[1;1H[L[1;1Habcd{ef[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h10new|:vsp|:vert resize 20
[?25l[1;1H [13C[7m|[2;21H|[3;21H|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [m[2;22H[1m[34m~ [3;22H~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [m[12;2Hlet line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line[13;12H[K[14;3H[K[15;2Hnorm! zt
:redraw![16;9H[K[17;2Hlet line=ScreenChar(winwidth(0))
:call DoRecordScreen()[18;23H[K[19;2H%w! test.out[19;14H[K[20;2Hqa[20;6H[K[21;1HENDTEST
dummy text
[7mtest_listlbr.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"
[?25l[2;1H abcdef hijkl
mn pqrstuvwxyz_1060
ABCDEFGHIJKLMNOP [11;11H[1m[7m[+][m[2;22H abcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP [2;79H[K[11;32H[7m[+][2;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H abcdef hijkl
mn pqrstuvwxyz_1060
ABCDEFGHIJKLMNOP
[1m[34m~
~
~
~
~
~ [m
[1m[34m~ [m[24;1H[K[1;9H[?12l[?25h[?25l[24;1H:[?12l[?25hset ts=4 sw=4 sts=4 linebreak sbr=+ wrap
[?25l[1;5Habcdef
[1m[34m+[mhijklmn
[1m[34m+[mpqrstuvwxyz_1060ABC
[1m[34m+[mDEFGHIJKLMNOP [2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP [2;75H[K[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfu! ScreenChar(width)
[?25l
: [?12l[?25h:[34m^I[mlet c=''
[?25l: [?12l[?25h:[34m^I[mfor j in range(1,4)
[?25l: [?12l[?25h:[34m^I[m for i in range(1,a:width)
[?25l: [?12l[?25h:[34m^I[m [34m^I[mlet c.=nr2char(screenchar(j, i))
[?25l: [?12l[?25h:[34m^I[m endfor
[?25l: [?12l[?25h: let c.="\n"
[?25l: [?12l[?25h:[34m^I[mendfor
[?25l: [?12l[?25h:[34m^I[mreturn c
[?25l: [?12l[?25h:endfu
[1;1H[9L[?25l[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[m[5;1H[1m[34m~
~
~
~
~ [m[2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hfu! DoRecordScreen()
[?25l
: [?12l[?25h:[34m^I[mwincmd l
[?25l: [?12l[?25h:[34m^I[m$put =printf(\"\n%s\", g:test)
[?25l: [?12l[?25h:[34m^I[m$put =g:line
[?25l: [?12l[?25h:[34m^I[mwincmd p
[?25l: [?12l[?25h:endfu
[1;1H[5L[?25l[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[m
[1m[34m~ [m[2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 1: set linebreak"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;5H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[5;1H
Test 1: set
[1m[34m+[mlinebreak
abcdef
+hijklmn
+pqrstuvwxyz_1060ABC[3;22H[K[4;22HTest 1: set linebreak[4;43H[K[5;22H abcdef [5;42H[K[6;22H+hijklmn [6;42H[K[7;22H+pqrstuvwxyz_1060ABC[7;42H[K[8;22H+DEFGHIJKLMNOP [8;42H[K[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 2: set linebreak + set list"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset linebreak list listchars=
[?25l[1;1H[34m^I[mabcdef hijklmn[34m^I [m[2;2Hpqrstuvwxyz_1060ABC[3;2HDEFGHIJKLMNOP
Test 1: set
[1m[34m+[mlinebreak
abcdef
+hijklmn
+pqrstuvwxyz_1060ABC
+DEFGHIJKLMNOP [1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H[34m^I[mabcdef hijklmn[34m^I [m[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[4;21H|[m
Test 1: set[9C[7m|[m
[1m[34m+[mlinebreak[10C[7m|[m
abcdef[10C[7m|[m
+hijklmn[12C[7m|[m
+pqrstuvwxyz_1060ABC[7m|[m
+DEFGHIJKLMNOP [7m|[m
[1m[7m[No Name] [+] [m[2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP[4;22HTest 1: set linebreak[5;26Habcdef[6;22H+hijklmn[7;22H+pqrstuvwxyz_1060ABC[8;22H+DEFGHIJKLMNOP[9;22H[1m[34m~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;3H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[1;22H abcdef [2;22H+hijklmn [3;22H+pqrstuvwxyz_1060ABC [4;22H+DEFGHIJKLMNOP [5;22H[1m[34m~ [6;22H~ [m[7;22H [8;22H [9;22H [10;22H [5;22H[K[6;22HTest 2: set linebreak + set list[6;54H[K[7;22H^Iabcdef hijklmn^I[8;22H+pqrstuvwxyz_1060ABC[9;22H+DEFGHIJKLMNOP[24;1H[K[24;1H4 more lines[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 3: set linebreak nolist"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nolist linebreak
[?25l[1;1H abcdef [2;2Hhijklmn [3;2Hpqrstuvwxyz_1060ABC
[1m[34m+[mDEFGHIJKLMNOP
Test 1: set
[1m[34m+[mlinebreak
abcdef
+hijklmn
+pqrstuvwxyz_1060ABC[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[m
Test 1: set[9C[7m|[m
[1m[34m+[mlinebreak[10C[7m|[m
abcdef[10C[7m|[m
+hijklmn[12C[7m|[m
+pqrstuvwxyz_1060ABC[7m|[m
[1m[7m[No Name] [+] [m[1;26Habcdef[2;22H+hijklmn[3;22H+pqrstuvwxyz_1060ABC[4;22H+DEFGHIJKLMNOP[6;22HTest 2: set linebreak + set list[7;22H^Iabcdef hijklmn^I[8;22H+pqrstuvwxyz_1060ABC[9;22H+DEFGHIJKLMNOP[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;5H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[1;22H^Iabcdef hijklmn^I [2;22H+pqrstuvwxyz_1060ABC [3;22H+DEFGHIJKLMNOP [4;22H [5;22H [6;22H [7;22H [8;22H [9;22H [10;22H [6;22HTest 3: set linebreak nolist[7;26Habcdef[8;22H+hijklmn[9;22H+pqrstuvwxyz_1060ABC[10;22H+DEFGHIJKLMNOP[24;1H[K[24;1H4 more lines[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 4: set linebreak with tab and 1 line as long as screen: shou
[23;80Hl[24;1Hd break!"
[?25l[1;1H[L[1;5Habcdef[10C[7m|[m^Iabcdef hijklmn^I[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hset nolist linebreak ts=8
[?25l[1;5H abcdef[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet line="1\t".repeat('a', winwidth(0)-2)
[?25l[1;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[1;9H
Test 3: set [4;2Hlinebreak nolist
abcdef
+hijklmn
+pqrstuvwxyz_1060ABC
+DEFGHIJKLMNOP
1
[1m[34m+[maaaaaaaaaaaaaaaaaa [9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H1
[1m[34m+[maaaaaaaaaaaaaaaaaa
[3;1H[1m[34m~
~
~
~
~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H1[19C[7m|[m
[1m[34m+[maaaaaaaaaaaaaaaaaa [7m|[3;21H|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[3;1H[1m[34m~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[1;22H^Iabcdef hijklmn^I[2;22H+pqrstuvwxyz_1060ABC[3;22H+DEFGHIJKLMNOP[6;22HTest 3: set linebreak nolist[7;26Habcdef[8;22H+hijklmn[9;22H+pqrstuvwxyz_1060ABC[10;22H+DEFGHIJKLMNOP[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[3;1H
Test 4: set
[1m[34m+[mlinebreak with tab
[1m[34m+[mand 1 line as long
[1m[34m+[mas screen: should
[1m[34m+[mbreak!
1
+aaaaaaaaaaaaaaaaaa [1;22H+pqrstuvwxyz_1060ABC [2;22H+DEFGHIJKLMNOP [3;22H [4;22H [5;22H [6;22H [7;22H [8;22H [9;22H [10;22H [3;22H1[7Caaaaaaaaaaaaaaaaaa[5;22HTest 4: set linebreak with tab and 1 line as long as screen[6;22H[1m[34m+[m: should break![7;22H1[8;22H+aaaaaaaaaaaaaaaaaa[9;22H~[10;22H~[24;1H[K[24;1H4 more lines[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet line="_S_\t bla"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[1;1HTest 4: set
[1m[34m+[mlinebreak with tab
[1m[34m+[mand 1 line as long
[1m[34m+[mas screen: should
[1m[34m+[mbreak!
1
+aaaaaaaaaaaaaaaaaa
[8;1H~
~
_S_ bla[24;1H[K[10;1H[?12l[?25h[?25l[24;1H:[?12l[?25h$
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H_S_ bla
[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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[1;1H[L[1;1H_S_ bla[8C[7m|[m+pqrstuvwxyz_1060ABC[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset cpo&vim list linebreak conceallevel=2 concealcursor=nv listchars=tab:ab
[?25l[1;4H[34mabbbb[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsyn match ConcealVar contained /_/ conceal
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn match All /.*/ contains=ConcealVar
[?25l[1;1HS[34mabb[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l[24;1H4 more lines[24;13H[K[2;1H
Test 5: set
[1m[34m+[mlinebreak with
[1m[34m+[mconceal and set
[1m[34m+[mlist and tab
[1m[34m+[mdisplayed by
[1m[34m+[mdifferent char
[1m[34m+[m(line may not be
[1m[34m+[mtruncated) [1;22H~ [2;22H~ [3;22H [4;22H [5;22H [6;22H [7;22H [8;22H [9;22H [10;22H [3;22H_S_ bla[5;22HTest 5: set linebreak with conceal and set list and tab dis[6;22H[1m[34m+[mplayed by different char (line may not be truncated)[7;22HSabbbbbb bla[8;22H~[9;22H~[10;22H~[24;1H[K[24;1H4 more lines[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&vim linebreak
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 6: set linebreak with visual block mode"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet line="REMOVE: this not"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;2Habbbbbb
~
~
~
Test 6: set [6;4Hnebreak with[7;2Hvisual block mode
[1m[34m~
~
~ [5;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[8;1HREMOVE: this not [8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet line="REMOVE: aaaaaaaaaaaaa"
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[9;1HREMOVE:
[1m[34m+[maaaaaaaaaaaaa [9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1/^REMOVE:
[?25l[8;1H[?12l[?25h[8;1H[?25l[8;1H[?12l[?25h[?25l[7mR[9;1H[?12l[?25h[?25l[8;2HEMOVE:
REMOVE:[9;8H[?12l[?25h[?25l[m[8;1Hthis not
aaaaaaaaaaaaa
[1m[34m~ [8;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put
[?25l[1;1H~
~
~
Test 6: set
[1m[34m+[mlinebreak with
[1m[34m+[mvisual block mode
this not
aaaaaaaaaaaaa
[1m[34m~ [m
[9;1HREMOVE:
REMOVE:[24;1H[K[10;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset cpo&vim linebreak
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 7: set linebreak with visual block mode and v_b_A"
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1Hthis not
aaaaaaaaaaaaa
REMOVE:
REMOVE:
[5;1HTest 7: set
[1m[34m+[mlinebreak with
[1m[34m+[mvisual block mode
[1m[34m+[mand vbA
[1m[34m~
~ [m[24;1H[K[5;1H[?12l[?25h[5;1H[?25l[9;1Hlong line: [9;11H[?12l[?25h[?25l foobar
[1m[34m+[mfoobar foobar [9;1H[1m[34m@
@ [m[1;1H
[1;1H[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar[10;8H[?12l[?25h[1;1H[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar
[?25l[9;9HTARGET at
[1m[34m+[mend[10;4H[?12l[?25h[10;4H[?25l[24;1H:[?12l[?25hexe "norm! $3B\<C-v>eAx\<Esc>"
[?25l[9;15Hx at[9;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&vim linebreak sbr=
[?25l[1;1Hfoobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar TARGETx at
end [6;22Hplayed by different char (line may not be truncated)[6;74H[K[9;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[9;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 8: set linebreak with visual char mode and changing block"
[?25l[9;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1HTest 8: set
linebreak with
visual char mode
and changing block
[1m[34m~
~
~
~
~
~ [1;1H[?12l[?25h[1;1H[?25l[m[5;1H1111-1111-1111-11-
1111-1111-1111 [6;14H[?12l[?25h[5;1H[5;5H[5;6H[?25l[5;6H[?12l[?25h[?25l[7m111[5;9H[?12l[?25h[?25l[m2222[5;9H[?12l[?25h[5;6H[6;6H[?25l2222[6;9H[?12l[?25h[6;9H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[6;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 9: using redo after block visual mode"
[?25l[6;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[7;1HTest 9: using redo
after block visual
mode [7;1H[?12l[?25h[7;1H[?25l[1;1H1111-2222-1111-11-
1111-2222-1111
Test 9: using redo
after block visual
mode
[1m[34m~ [m
[6;1H
aaa
aaa
a
[1m[34m~ [m[24;1H[K[9;1H[?12l[?25h[7;1H[?25l[7;1H[?12l[?25h[?25l[7ma
a[9;1H[?12l[?25h[?25l[m[24;1H3 lines changed[7;1HA
A
A[7;1H[?12l[?25h[7;3H[?25lA
AaA[7;3H[?12l[?25h[8;3H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[8;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 10: using normal commands after block-visual"
[?25l[8;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1HTest 9: using redo
after block visual
mode
AaA
AaA
A
[1m[34m~ [m
[8;1HTest 10: using
normal commands
after block-visual[24;1H[K[8;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset linebreak
[?25l[8;1H[?12l[?25h[8;1H[?25l[1;1HAaA
AaA
A
Test 10: using
normal commands
after block-visual
[8;1Habcd{ef
ghijklm
no}pqrs[24;1H[K[10;7H[?12l[?25h[8;7H[8;1H[8;5H[?25l[8;5H[?12l[?25h[?25l[8;5H[?12l[?25h[8;5H[?25lpqrs
[1m[34m~
~ [8;4H[?12l[?25h[8;4H[?25l[24;1H[m:[?12l[?25h"
[?25l[8;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 11: using block replace mode after wrapping"
[?25l[8;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1HAaA
A
Test 10: using
normal commands
after block-visual
abcdpqrs
[1m[34m~
~ [m
[8;1HTest 11: using
block replace mode
after wrapping[24;1H[K[8;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset linebreak wrap
[?25l[8;1H[?12l[?25h[8;1H[?25l[1;1HA
Test 10: using
normal commands
after block-visual
abcdpqrs
Test 11: using
block replace mode
after wrapping
[24;1H[K[10;1H[?12l[?25h[?25l[1;1Haaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaa
[1m[34m~
~ [8;10H[?12l[?25h[8;10H[8;10H[?25l[1;1H[?12l[?25h[?25l[m[9;1Haaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa[9;1H[1m[34m@
@ [1;1H[?12l[?25h[8;7H[?25l[8;7H[?12l[?25h[?25l[m[1;1H[1m[34m@
@ [m
[1;1Haaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaa
[1m[34m~
~ [8;7H[?12l[?25h[?25l[m0
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa[9;1H[1m[34m@
@ [8;7H[?12l[?25h[?25l[m[1;1H[1m[34m@
@ [m
[1;1Haaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaa0aaa
[1m[34m~
~ [8;7H[?12l[?25h[?25l[24;1H[m:[?12l[?25h"
[?25l[8;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$
[23;80H"[24;1H[?25l[1;1H[L[1;1Haaaaaaaaaaaaaaaaaaaa[7m|[m~[24;1H[K[8;7H[?12l[?25h[?25l[24;1H:[?12l[?25hset list listchars=space:_,trail:-,tab:>-,eol:$
[?25l[8;11H[1m[34m$[8;7H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1HTest[34m_[m12:[34m_[mset[34m_[m
linebreak[34m_[mlist[34m_[m
listchars=space:,
tab:>-,tail:-,eol:$[1m[34m$
~
~
~
~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[5;1Ha[34m_[m
aaaaaaaaaaaaaaaaaaaa
aa[34m>-----[ma[34m-[m[1m[34m$[m [5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1Ha[34m_[m
aaaaaaaaaaaaaaaaaaaa
aa[34m>-----[ma[34m-[m[1m[34m$[m
[1m[34m~
~
~ [m
[7;1H[1m[34m~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1Ha[34m_[m[18C[7m|[m
aaaaaaaaaaaaaaaaaaaa[7m|[m
aa[34m>-----[ma[34m-[m[1m[34m$[m[9C[7m|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[4;1H[1m[34m~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[1;22H~[2;22H~[3;22H_S_ bla[5;22HTest 5: set linebreak with conceal and set list and tab dis[6;22Hplayed by different char (line may not be truncated)[7;22HSabbbbbb bla[8;22H~[9;22H~[10;22H~[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l[24;1H4 more lines[24;13H[K[4;1H[1m[34m$[m
Test[34m_[m12:[34m_[mset[34m_[m
linebreak[34m_[mlist[34m_[m
listchars=space:,
tab:>-,tail:-,eol:$[1m[34m$[m
a[34m------------------[m
[1m[34m$[m [1;22HTest 12: set linebreak list listchars=space:_,tab:>-,tail:-[2;22H,eol:$[3;22Ha aaaaaaaaaaaaaaaaaaaaaa[8Ca[5;27H12: set linebreak list listchars=space:_,tab:>-,tail:-[6;22H,eol:$[6;29H[K[7;22Ha_ [8;22Haaaaaaaaaaaaaaaaaaaa[9;22Haa>-----a-$[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%w! test.out
[?25l"test.out" [24;12H[Kgcc -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
[24;12H[New File] 62 lines, 2030 characters written[11;1H[1m[7mtest.out] [m[7C[7mtest.out [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_search_mbyte.in" 15 lines, 226 characters[1;1HTest 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
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for search('multi-byte char', 'bce')[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 6 lines, 140 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsource small.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsource mbyte.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1HTest 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
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [11;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h/^Test bce:/+1
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =search('A', 'bce', line('.'))
[?25l[16;1H15[16;3H[K[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/^Results:/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_utf8.in" 46 lines, 1245 characters[1;1HTests for Unicode manipulations[16Cvim: 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()
:[7C$put=strchars(str)
:[7C$put=strchars(str, 0)
:[7C$put=strchars(str, 1)
:endfor
:"
:" Test for customlist completion[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for Unicode manipulations[16Cvim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 40 lines, 1151 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:"
:" 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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1H:" Test for customlist completion
:function! CustomComplete1(lead, line, pos)
:[7Creturn ['あ', 'い']
:endfunction
:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo
:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')
:"
:function! CustomComplete2(lead, line, pos)
:[7Creturn ['あたし', 'あたま', 'あたりめ']
:endfunction
:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo
:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')
:"
:function! CustomComplete3(lead, line, pos)
:[7Creturn ['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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Visual block Insert adjusts for multi-byte char
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;2Hfunction! CustomComplete3(lead, line, pos)
: return ['Nこ', 'Nん', 'Nぶ'][14;37H[K[15;2Hendfunction[15;13H[K[16;2Hcommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo
:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')[17;56H[K[18;2H"[18;3H[K[19;2Hcall garbagecollect(1)
:/^start:/,$wq! test.out
ENDTEST[21;8H[K[22;1H [22;2H[K[23;1H[7mtest_utf8.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall setline(1, ["aaa", "あああ", "bbb"])
[?25l[1;1Haaa
あああ[2;7H[K[3;1Hbbb[3;4H[K[12;11H[1m[7m[+][1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexe ":norm! gg0l\<C-V>jjIx\<Esc>"
[?25l[1;2Hxaa
xあああ
bxbb[1;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet r = getline(1, '$')
[?25l[1;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipeout!
[?25l[1;1H:" Test for customlist completion
:function! CustomComplete1(lead, line, pos)
: return ['あ', 'い']
:endfunction[4;13H[K[5;1H:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo[5;66H[K[6;1H:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')[6;56H[K[7;1H:"[7;3H[K[8;1H:function! CustomComplete2(lead, line, pos)[8;44H[K[9;1H: return ['あたし', 'あたま', 'あたりめ'][9;48H[K[10;1H:endfunction[10;13H[K[11;1H:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo[11;66H[K[12;1H:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')[12;56H[K[13;2H"[13;3H[K[14;2Hfunction! CustomComplete3(lead, line, pos)
: return ['Nこ', 'Nん', 'Nぶ']
:endfunction[16;13H[K[17;3Hommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo
:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')
:"[19;3H[K[20;2Hcall garbagecollect(1)[20;24H[K[21;1H:/^start:/,$wq! test.out
ENDTEST
[23;2H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put=r
[?25l3 more lines[1;23r[1;1H[4M[1;24r[20;1Hstart:
axaa
xあああ
bxbb[24;1H[K[24;1H3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for built-in function strchars()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor str in ["a", "あいa", "A\u20dd", "A\u20dd\u20dd", "\u20dd"]
[?25l
: [?12l[?25h:[34m^I[m$put=strchars(str)
[?25l: [?12l[?25h:[34m^I[m$put=strchars(str, 0)
[?25l: [?12l[?25h:[34m^I[m$put=strchars(str, 1)
[?25l: [?12l[?25h:endfor
[1;1H[4L[?25l[1;1H:call garbagecollect(1)
:/^start:/,$wq! test.out
ENDTEST
start:[5;9H[K[6;1Haxaa[6;5H[K[7;1Hxあああ[7;8H[K[8;1Hbxbb[8;5H[K[9;1H1[9;2H[K[10;1H1[10;2H[K[11;1H1[11;9H[K[12;1H3[12;2H[K[13;1H3[13;2H[K[14;1H3[14;2H[K[15;1H2[15;2H[K[16;1H2[16;2H[K[17;1H1[17;2H[K[18;1H3[18;2H[K[19;1H3
1[20;2H[K[21;1H1[21;2H[K[22;1H1[22;2H[K[23;1H1[23;2H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for customlist completion
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! CustomComplete1(lead, line, pos)
[?25l
: [?12l[?25h:[34m^I[mreturn ['あ', 'い']
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1H:call garbagecollect(1)
:/^start:/,$wq! test.out[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete1 Test1 echo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:Test1 ...[24;8H[K[24;8H'
:$Test1 '
:$pTest1 '
:$puTest1 '
:$putTest1 '
:$put=Test1 '[24;7H'Test1 '[24;8H
[1;23r[23;1H
[1;24r[23;1HTest1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! CustomComplete2(lead, line, pos)
[?25l
: [?12l[?25h:[34m^I[mreturn ['あたし', 'あたま', 'あたりめ']
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1H:/^start:/,$wq! test.out
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete2 Test2 echo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:Test2 ...あた'
:$Test2 あた'
:$pTest2 あた'
:$puTest2 あた'
:$putTest2 あた'
:$put=Test2 あた'[24;7H'Test2 あた'[24;8H
[1;23r[23;1H
[1;24r[23;1HTest2 あた[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! CustomComplete3(lead, line, pos)
[?25l
: [?12l[?25h:[34m^I[mreturn ['Nこ', 'Nん', 'Nぶ']
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1HENDTEST[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:Test3 ...N[24;9H[K[24;9H'
:$Test3 N'
:$pTest3 N'
:$puTest3 N'
:$putTest3 N'
:$put=Test3 N'[24;7H'Test3 N'[24;8H
[1;23r[23;1H
[1;24r[23;1HTest3 N[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_wordcount.in" 126 lines, 2815 characters[1;1HTest for wordcount() function
STARTTEST
:so small.vim
:so mbyte.vim
:set enc=utf8
:set selection=inclusive fileformat=unix fileformats=unix
:new
:fu DoRecordWin(...)
:[7Cwincmd k
:[7Cif exists("a:1")
:[11Ccall cursor(a:1)
:[7Cendif
:[7Clet result=[]
:[7Ccall add(result, g:test)
:[7Ccall add(result, getline(1, '$'))
:[7Ccall add(result, wordcount())
:[7Cwincmd j
:[7Creturn result
:endfu
:fu PutInWindow(args)
:[7Cwincmd k
:[7C%d _[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for wordcount() function[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 121 lines, 2753 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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:[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=utf8
[?25l[27m[23m[m[H[2J[1;1H: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¤[9;27Hne Mü[9;32Hh', 'und raus bist dü[9;53H!'])
: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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1H0v$y
:set stl= ls=1
:let log=DoRecordWin([3,99,0])[16;9H[2]=g:visual_stat[16;26H[K[17;2Hcall Log()[17;12H[K[18;2H"[18;3H[K[19;2H/^RESULT test/,$w! test.out
:qa![20;5H[K[21;1HENDTEST
RESULT test:
[7mtest_wordcount.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hfu DoRecordWin(...)
[?25l
: [?12l[?25h:[34m^I[mwincmd 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:[34m^I[mwincmd j
[?25l: [?12l[?25h: return result
[?25l: [?12l[?25h:endfu
[1;1H[11L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfu PutInWindow(args)
[?25l
: [?12l[?25h: wincmd k
[?25l: [?12l[?25h: %d _
[?25l: [?12l[?25h: call append(1, a:args)
[?25l: [?12l[?25h:[34m^I[mwincmd j
[?25l: [?12l[?25h:endfu
[1;1H[5L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[4L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[5L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet g:test="Test 1: empty window"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin()
[?25l[12;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 1: empty window
[[''], {'chars': 0, 'cursor_chars': 0, 'words': 0, 'cursor_words': 0, 'bytes': 00[22;1H, 'cursor_bytes': 0}][23;19H[1m[7m[+][m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 2: some words, cursor at start"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow('one two three')
[?25l[2;1Hone two three[2;14H[K[12;11H[7m[+][21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([1,1,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 2: some words, cursor at start
[['', 'one two three'], {'chars': 15, 'cursor_chars': 1, 'words': 3, 'cursor_worr[22;1Hds': 0, 'bytes': 15, 'cursor_bytes': 1}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 3: some words, cursor at end"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow('one two three')
[?25l--No lines in buffer--[24;24H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 3: some words, cursor at end
[['', 'one two three'], {'chars': 15, 'cursor_chars': 14, 'words': 3, 'cursor_woo[22;1Hrds': 3, 'bytes': 15, 'cursor_bytes': 14}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 4: some words, cursor at end, ve=all"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=all
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow('one two three')
[?25l--No lines in buffer--[24;24H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 4: some words, cursor at end, ve=all
[['', 'one two three'], {'chars': 15, 'cursor_chars': 15, 'words': 3, 'cursor_woo[22;1Hrds': 3, 'bytes': 15, 'cursor_bytes': 15}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hset ve=
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 5: several lines with words"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['one two three', 'one two three', 'one two three'])
[?25l[3;1Hone two three[3;14H[K[4;1Hone two three[4;14H[K[24;1H--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([4,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 5: several lines with words
[['', 'one two three', 'one two three', 'one two three'], {'chars': 43, 'cursor__[22;1Hchars': 42, 'words': 9, 'cursor_words': 9, 'bytes': 43, 'cursor_bytes': 42}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 6: one line with BOM set"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow('one two three')
[?25l[3;1H[1m[34m~ [4;1H~ [m[24;1H--No lines in buffer--[24;24H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd k
[?25l[12;1H[1m[7m[No Name] [+] [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset bomb
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest
[?25l"Xtest" [24;9H[K[24;9H[New File] 2 lines, 18 characters written[12;1H[1m[7mXtesta [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd j
[?25l[12;1H[7mXtest[m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?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/json.o json.c
let log=DoRecordWin([2,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 6: one line with BOM set
[['', 'one two three'], {'chars': 15, 'cursor_chars': 14, 'words': 3, 'cursor_woo[22;1Hrds': 3, 'bytes': 18, 'cursor_bytes': 14}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hwincmd k
[?25l[12;1H[1m[7mXtest [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [2;13H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset nobomb
[?25l[12;7H[1m[7m[+][2;13H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw!
[?25l"Xtest" 2 lines, 15 characters written[12;7H[1m[7m [2;13H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd j
[?25l[12;1H[7mXtest[m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 7: one line with multibyte words"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh'])
[?25l[2;1HÄne M¤[2;7Hne Mü[2;12Hh[2;13H[K[12;7H[7m[+][m[24;1H--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 7: one line with multibyte words
[['', 'Äne M¤[21;14Hne Mü[21;19Hh'], {'chars': 14, 'cursor_chars': 13, 'words': 3, 'cursor_worr[22;1Hds': 3, 'bytes': 17, 'cursor_bytes': 16}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 8: several lines with multibyte words"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh', 'und raus bist dü[24;53H!'])
[?25l[3;1Hund raus bist dü[3;17H![3;18H[K[24;1H--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 8: several lines with multibyte words
[['', 'Äne M¤[21;14Hne Mü[21;19Hh', 'und raus bist dü[21;40H!'], {'chars': 32, 'cursor_chars': 31, 'ww[22;1Hords': 7, 'cursor_words': 7, 'bytes': 36, 'cursor_bytes': 35}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 9: visual mode, complete buffer"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh', 'und raus bist dü[24;53H!'])
[?25l--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd k
[?25l[12;1H[1m[7mXtest [+] [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ls=2 stl=%{STL()}
[?25l[12;1H[1m[7m<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[m[23;1H[7m<: 3985, 'words': 579, 'cursor_words': 560, 'bytes': 4153, 'cursor_bytes': 4007}[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h0
[?25l[1;1H[?12l[?25h[?25l[12;2H[1m[7mords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 0, 'visual_[1;1H[?12l[?25h[?25l[m[7m
Äne M¤[2;7Hne Mü[2;12Hh
[mu[7mnd raus bist dü[3;17H! [m[12;2H[1m[7mds': 7, 'bytes': 36, 'visual_chars': 32, 'visual_words': 7, 'visual_bytes': 36}[3;1H[?12l[?25h[?25l[m[1;1H[K[2;1HÄne M¤[2;7Hne Mü[2;12Hh[2;13H[K[3;2Hnd raus bist dü[3;17H![3;18H[K[24;1H3 lines yanked[12;2H[1m[7mursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[1;1H[?12l[?25h[12;16H2,[29C1,[30C3}[2;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset stl= ls=1
[?25l[12;1H[1m[7mXtest [+]a [m[23;1H[7mtest_wordcount.in [+] [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[12;1H[7mXtest [+][m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log[2]=g:visual_stat
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 9: visual mode, complete buffer
[['', 'Äne M¤[21;14Hne Mü[21;19Hh', 'und raus bist dü[21;40H!'], {'chars': 32, 'words': 7, 'bytes': 33[22;1H6, 'visual_chars': 32, 'visual_words': 7, 'visual_bytes': 36}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 10: visual mode (empty)"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh', 'und raus bist dü[24;53H!'])
[?25l--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd k
[?25l[12;1H[1m[7mXtest [+] [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ls=2 stl=%{STL()}
[?25l[12;1H[1m[7m<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[m[23;1H[7m<: 4170, 'words': 606, 'cursor_words': 587, 'bytes': 4342, 'cursor_bytes': 4196}[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h0
[?25l[1;1H[?12l[?25h[?25l[12;2H[1m[7mords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 0, 'visual_[1;1H[?12l[?25h[?25l[?12l[?25h[?25l[12;2Hursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_[1;1H[?12l[?25h[12;16H2,[29C1,[30C3}[2;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset stl= ls=1
[?25l[12;1H[1m[7mXtest [+]a [m[23;1H[7mtest_wordcount.in [+] [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[12;1H[7mXtest [+][m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log[2]=g:visual_stat
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 10: visual mode (empty)
[['', 'Äne M¤[21;14Hne Mü[21;19Hh', 'und raus bist dü[21;40H!'], {'chars': 32, 'words': 7, 'bytes': 33[22;1H6, 'visual_chars': 1, 'visual_words': 0, 'visual_bytes': 1}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 11: visual mode, single line"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh', 'und raus bist dü[24;53H!'])
[?25l--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd k
[?25l[12;1H[1m[7mXtest [+] [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ls=2 stl=%{STL()}
[?25l[12;1H[1m[7m<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[m[23;1H[7m<: 4347, 'words': 632, 'cursor_words': 613, 'bytes': 4521, 'cursor_bytes': 4377}[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h2
[?25l[12;16H[1m[7m2,[29C1,[30C3}[2;1H[?12l[?25h[?25l[12;2Hords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 1, 'visual_[8C2}[2;1H[?12l[?25h[?25l[m[7mÄne M¤[2;7Hne Mü[2;12Hh[m[12;2H[1m[7mds': 7, 'bytes': 36, 'visual_chars': 13, 'visual_words': 3, 'visual_bytes': 16}[2;13H[?12l[?25h[?25l[m
Äne M¤[2;7Hne Mü[2;12Hh[12;2H[1m[7mursor_chars': 2, 'words': 7, 'cursor_words': 1, 'bytes': 36, 'cursor_bytes': 3}[2;1H[?12l[?25h[12;2Hsor_chars': 15, 'words': 7, 'cursor_words': 4, 'bytes': 36, 'cursor_bytes': 18}[3;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset stl= ls=1
[?25l[12;1H[1m[7mXtest [+]s [m[23;1H[7mtest_wordcount.in [+] [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[12;1H[7mXtest [+][m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log[2]=g:visual_stat
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 11: visual mode, single line
[['', 'Äne M¤[21;14Hne Mü[21;19Hh', 'und raus bist dü[21;40H!'], {'chars': 32, 'words': 7, 'bytes': 33[22;1H6, 'visual_chars': 13, 'visual_words': 3, 'visual_bytes': 16}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^RESULT test/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 34 lines, 1905 characters written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test11.in" 84 lines, 3366 characters[1;1HTests for autocommands:
- FileWritePre[10Cwriting a compressed file
- FileReadPost[10Creading a compressed file
- BufNewFile[12Creading a file template
- BufReadPre[12Cdecompressing the file to be read
- FilterReadPre[9Csubstituting characters in the temp file
- FilterReadPost[8Csubstituting characters after filtering
- FileReadPre[11Cset options for decompression
- FileReadPost[10Cdecompress 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for autocommands:[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[Kgcc -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
[24;11H[New File] 48 lines, 2298 characters written[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[17;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:au! FileReadPre *.gz exe 'silent !gzip -d ' . shellescape(expand("<afile>""[2;1H))
:au FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
:au! FileReadPost *.gz '[,']s/l/L/
:$r Xtestfile.gz[13C" Read compressed file
:w[27C" write it, after filtering
:au![13C" remove all autocommands
:e[15C" 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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" drop out when there is no gzip program
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !executable("gzip")
[?25l
: [?12l[?25h: e! test.ok
[?25l: [?12l[?25h: w! test.out
[?25l: [?12l[?25h: qa!
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:au! FileReadPre *.gz exe 'silent !gzip -d ' . shellescape(expand("<afile>""[2;1H))
:au FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
:au! FileReadPost *.gz '[,']s/l/L/[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet $GZIP = ""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileChangedShell * echo "caught FileChangedShell"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileWritePre *.gz '[,']!gzip
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileWritePost *.gz undo
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start of testfile/,/^end of testfile/w! Xtestfile.gz
[?25l[?12l[?25h[?25l11 lines filtered[24;18H[K[24;1H
"Xtestfile.gz" [New File][Incomplete last line] 1 line, 111 characters written
10 more lines; before #1 0 seconds ago
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau FileReadPost *.gz '[,']!gzip -d
[?25l[1;1H[3L[1;1H:au FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
:au! FileReadPost *.gz '[,']s/l/L/
:$r Xtestfile.gz[13C" Read compressed file
:w " write it, after filtering
:au! " remove all autocommands[5;43H[K[6;2He[15C" Edit test.out again[6;39H[K[7;2Hset nobin ff& " use the default fileformat for writing
:w[8;18H[K[9;2Hqa![9;6H[K[10;1HENDTEST[11;1H[K[12;1Hstartstart
start of testfile
line 2 Abcdefghijklmnopqrstuvwxyz
line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[16;6H4[17;6H5[18;6H6[19;6H7[20;6H8[21;6H9[22;6H10
end of testfile[23;16H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtestfile.gz " Read and decompress the testfile
[?25l"Xtestfile.gz" [24;16H[K[24;16H[Incomplete last line] 1 line, 111 characters
[?12l[?25h[60C[?25l[1;23r[1;1H[7M[1;24r[18;1Hstart of test.c
/*
* Here is a new .c file
*/
end of test.c
start of testfile[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h?startstart?,$w! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 29 lines, 788 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufNewFile *.c read Xtest.c
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start of test.c/+1,/^end of test.c/-1w! Xtest.c
[?25l[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[24;1H"Xtest.c" [24;11H[K[24;11H[New File] 3 lines, 32 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! foo.c " Will load Xtest.c
[?25l"foo.c" [New File][24;33H[K[24;1H
"Xtest.c" 3 lines, 32 characters
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau FileAppendPre *.out '[,']s/new/NEW/
[?25l[1;1H[2L[2;1H/*
* Here is a new .c file
*/
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hau FileAppendPost *.out !cat Xtest.c >>test.out
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw>>test.out " Append it to the output file
[?25l"test.out" [24;12H[K[24;12H4 lines, 33 characters appended
:!cat Xtest.c >>test.out
[?12l[?25h[m
[32mPress ENTER or type command to continue[?25l[m[24;1H[K[24;1H:[?12l[?25hau! FileAppendPre
[?25l[27m[23m[m[H[2J[2;1H/*
* Here is a NEW .c file
*/
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [3;2H[?12l[?25h[?25l[24;1H[m:[?12l[?25h" setup autocommands to decompress before reading and re-compress afterwards
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPre *.gz exe '!gzip -d ' . shellescape(expand("<afile>"))
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPost *.gz call rename(expand("<afile>"), expand("<afile>:r"))
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPost *.gz exe '!gzip ' . shellescape(expand("<afile>:r"))
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile.gz " Edit compressed file
[?25l:!gzip -d 'Xtestfile.gz'[24;33H[K[24;25H
[?12l[?25h[?25l[m"Xtestfile.gz"[23;1H"Xtestfile.gz" 11 lines, 357 characters[24;1H[K[24;1H:!gzip 'Xtestfile'
[?12l[?25h[?25l[mcaught FileChangedShell
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw>>test.out " Append it to the output file
[?25l"test.out" [24;12H[K[24;12H11 lines, 357 characters appended
:!cat Xtest.c >>test.out
[?12l[?25h[m
[32mPress ENTER or type command to continue[?25l[m[24;1H[K[24;1H:[?12l[?25hset shelltemp " need temp files here
[?25l[27m[23m[m[H[2J[1;1Hstart 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
[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hau FilterReadPre *.out call rename(expand("<afile>"), expand("<afile>") . "
[23;80H.[24;1Ht")
[?25l[1;1H[L[1;1Hstart of testfile[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hau FilterReadPre *.out exe 'silent !sed s/e/E/ ' . shellescape(expand("<afi
[23;80Hl[24;1He>")) . ".t >" . shellescape(expand("<afile>"))
[?25l[1;1H[L[1;1Hstart of testfile[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hau FilterReadPre *.out exe 'silent !rm ' . shellescape(expand("<afile>")) .
'.t'
[?25l[1;1H[L[1;1Hstart of testfile[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hau FilterReadPost *.out '[,']s/x/X/g
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out " Edit the output file
[?25l"test.out" [24;12H[K[24;12H50 lines, 1242 characters[1;6Hstar[1;11H[K[2;1Hstart of testfile[2;18H[K[3;6H2 Abcdefghijklmnopqrstuvwxyz[3;35H[K[4;6H3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[5;6H4 Abcdefghijklmnopqrstuvwxyz[5;35H[K[6;6H5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[7;6H6 Abcdefghijklmnopqrstuvwxyz[7;35H[K[8;6H7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[9;6H8 Abcdefghijklmnopqrstuvwxyz[9;35H[K[10;6H9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 10 Abcdefghijklmnopqrstuvwxyz
end of testfile[12;16H[K[13;1H[K[14;1Hstart of test.c[14;16H[K[15;1H/*[15;3H[K[16;1H * Here is a new .c file[16;25H[K[17;1H */[17;4H[K[18;1Hend of test.c[18;14H[K[19;1Hstart of testfile[19;18H[K[20;1Hline 2 Abcdefghijklmnopqrstuvwxyz[20;35H[K[21;1Hline 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[21;39H[K[22;1Hline 4 Abcdefghijklmnopqrstuvwxyz[22;35H[K[23;1Hline 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[23;39H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h23,$!cat
[?25l[?12l[?25h[?25l218 substitutions on 15 lines
28 lines filtered
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h23,$s/\r$// " remove CR for when sed adds them
[?25l[1m[37m[41mE486: Pattern not found: \r$[m[24;30H[K[24;1H
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau! FileReadPre *.gz exe 'silent !gzip -d ' . shellescape(expand("<afile>
[23;80H"[24;1H))
[?25l[1;1H[4L[1;1Hstartstart
start of testfile
line 2 Abcdefghijklmnopqrstuvwxyz
line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[23;4HE 5 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hau FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau! FileReadPost *.gz '[,']s/l/L/
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r Xtestfile.gz " Read compressed file
[?25l[?12l[?25h[?25l"Xtestfile.gz" [24;16H[K[24;16H11 lines, 357 characters
11 substitutions on 11 lines
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw " write it, after filtering
[?25l"test.out"[24;30H[K[24;12H61 lines, 1599 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau! " remove all autocommands
[?25l[1m[37m[41mE216: No such group or event: " remove all autocommands[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he " Edit test.out again
[?25l"test.out"[24;18H[K[24;12H61 lines, 1599 characters[1;1H[4L[1;1Hstartstart
start of testfile
line 2 Abcdefghijklmnopqrstuvwxyz
line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[24;1H[K[24;1H"test.out" 61 lines, 1599 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nobin ff& " use the default fileformat for writing
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" 61 lines, 1599 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test52.in" 65 lines, 1645 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for reading and writing files with conversion for Win32.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 57 lines, 1333 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[24;1H:so! Xdotest
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make this a dummy test for non-Win32 systems
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has("win32") | e! test.ok | wq! test.out | endif
[?25l"test.ok" [24;11H[K[24;11H18 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test85.in" 85 lines, 1868 characters[1;1HTest 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)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for Lua interface and luaeval() function[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 77 lines, 1775 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[19;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso lua.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l = vim.list():add"item0":add"dictionary with list OK":add"item2"
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua h = vim.dict(); h.list = l
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect()
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^1
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" change buffer contents
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua curbuf = vim.buffer()
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua curline = vim.eval"line('.')"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua curbuf[curline] = "1 changed line 1"
[?25l[21;3Hchanged line 1
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" scalar test
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tmp_string = luaeval('"string"')
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tmp_1000 = luaeval('1000')
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1H:lua d = vim.eval("d")
:lua d[0] = 123
:lua d[1] = "abc"
:lua d[2] = vim.eval("[1, 2, 3]")[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hcall append(search("^1"), "scalar test " . scalar_res)
[?25l[22;1Hscalar test OK
2 line 2[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" dictionary containing a list
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tmp = luaeval("h").list[1]
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^2/put =tmp
[?25l[1;23r[23;1H
[1;24r[23;1Hdictionary with list OK[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" circular list (at the same time test lists containing lists)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[2] = l
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet l2 = luaeval("h").list
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1H: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}")[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcall setline(search("^3"), "circular test " . res)
[?25l[1;23r[23;1H
[1;24r[23;1Hcircular test OK[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet l = []
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l = vim.eval("l")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:add(123)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:add("abc")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:add(vim.eval("[1, 2, 3]"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:add(vim.eval("{'a':1, 'b':2, 'c':3}"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:insert(123)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:insert("agcc -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
bc")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:insert(vim.eval("[1, 2, 3]"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:insert(vim.eval("{'a':1, 'b':2, 'c':3}"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[0] = l[0]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[1] = l[1]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[2] = l[2]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[3] = l[3]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[0] = 123
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[1] = "abc"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[2] = vim.eval("[1, 2, 3]")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[3] = vim.eval("{'a':1, 'b':2, 'c':3}")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[3] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[2] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[1] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[0] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(l)
[?25l[1;23r[23;1H
[1;24r[23;1H[123.0, 'abc', [1, 2, 3], {'a': 1, 'b': 2, 'c': 3}][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet d = {}
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d = vim.eval("d")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[0] = 123
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[1] = "abc"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[2] = vim.eval("[1, 2, 3]")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[3] = vim.eval("{'a':1, 'b':2, 'c':3}")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[4] = d[0]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[5] = d[1]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[6] = d[2]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[7] = d[3]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[3] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[2] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[1] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[0] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(d)
[?25l[1;23r[23;1H
[1;24r[23;1H{'4': 123.0, '5': 'abc', '6': [1, 2, 3], '7': {'a': 1, 'b': 2, 'c': 3}}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h?^1?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 7L, 206C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test86.in" 1711 lines, 48481 characters[1;1HTests 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])[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for various python features. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1700 lines, 48188 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[9;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: endif
: call Test()
: if i == 0
:[7Clet 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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=latin1
[?25l[27m[23m[m[H[2J[1;1H: endif
: call Test()
: if i == 0
:[7Clet 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:[22;1H[?12l[?25h[?25l
:[?12l[?25hset noswapfile
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has('python') | e! test.ok | wq! test.out | endif
[?25l"test.ok" [24;11H[K[24;11H1445 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test87.in" 1707 lines, 49069 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for various python features. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[Kgcc -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
[24;11H[New File] 1701 lines, 48985 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: call Test()
: if i == 0
:[7Clet 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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noswapfile
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has('python3') | e! test.ok | wq! test.out | endif
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang C
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[23;80Hr[24;1H 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
[23;80Ht[24;1Hr(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(
[23;80He[24;1H).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
[23;80Ht[24;1H ({1} given)'.format(m.group(1), m.group(2))
[?25l: [?12l[?25h cb.append(expr + ':' + repr((e.__class__, TypeError(ms
[23;80Hg[24;1H))))
[?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
[23;80Ha[24;1Hnd str(e) == 'embedded null byte':
[?25l: [?12l[?25h cb.append(expr + ':' + repr((TypeError, TypeError('expecte
[23;80Hd[24;1H 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:[8C[?12l[?25h: return ['DictNewStart']+a:000+['DictNewEnd', self]
[?25l:[8C[?12l[?25h:endfun
[?25l:[8C[?12l[?25h:let l=[function('New'), function('DictNew')]
[?25l:[8C[?12l[?25h:py3 l=vim.bindeval('l')
[?25l:[8C[?12l[?25h:py3 l.extend(list(l[0](1, 2, 3)))
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:py3 l.extend(list(l[1](1, 2, 3, self={'a': 'b'})))
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:py3 l+=[l[0].name]
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:py3 ee('l[1](1, 2, 3)')
[?25l:[8C[?12l[?25h:py3 f=l[0]
[?25l:[8C[?12l[?25h:delfunction New
[?25l:[8C[?12l[?25h:py3 ee('f(1, 2, 3)')
[?25l:[8C[?12l[?25h:if has('float')
[?25l:[10C[?12l[?25h: let l=[0.0]
[?25l:[10C[?12l[?25h: py3 l=vim.bindeval('l')
[?25l:[10C[?12l[?25h: py3 l.extend([0.0])
[?25l:[10C[?12l[?25h: $put =string(l)
[?25l:[10C[?12l[?25h:else
[?25l:[10C[?12l[?25h: $put ='[0.0, 0.0]'
[?25l:[10C[?12l[?25h:endif
[?25l:[8C[?12l[?25h:let messages=[]
[?25l:[8C[?12l[?25h:delfunction DictNew
[?25l:[8C[?12l[?25hpy3 <<EOF
[?25l:[8C[?12l[?25himport sys
[?25l:[8C[?12l[?25hd=vim.bindeval('{}')
[?25l:[8C[?12l[?25hm=vim.bindeval('messages')
[?25l:[8C[?12l[?25hdef em(expr, g=globals(), l=locals()):
[?25l:[8C[?12l[?25h try:
[?25l:[8C[?12l[?25h exec(expr, g, l)
[?25l:[8C[?12l[?25h except Exception as e:
[?25l:[8C[?12l[?25h if sys.version_info >= (3, 5) and e.__class__ is ValueError an
[23;80Hd[24;1H str(e) == 'embedded null byte':
[?25l:[8C[?12l[?25h m.extend([TypeError.__name__])
[?25l:[8C[?12l[?25h else:
[?25l:[8C[?12l[?25h m.extend([e.__class__.__name__])
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25hem('d["abc1"]')
[?25l:[8C[?12l[?25hem('d["abc1"]="\\0"')
[?25l:[8C[?12l[?25hem('d["abc1"]=vim')
[?25l:[8C[?12l[?25hem('d[""]=1')
[?25l:[8C[?12l[?25hem('d["a\\0b"]=1')
[?25l:[8C[?12l[?25hem('d[b"a\\0b"]=1')
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25hem('d.pop("abc1")')
[?25l:[8C[?12l[?25hem('d.popitem()')
[?25l:[8C[?12l[?25hdel em
[?25l:[8C[?12l[?25hdel m
[?25l:[8C[?12l[?25hEOF
[?25l:[8C[?12l[?25h:$put =messages
[?25l:[8C[?12l[?25h:unlet messages
[?25l:[8C[?12l[?25h:" locked and scope attributes
[?25l:[8C[?12l[?25h:let d={} | let dl={} | lockvar dl
[?25l:[8C[?12l[?25h:for s in split("d dl v: g:")
[?25l:[10C[?12l[?25h: let name=tr(s, ':', 's')
[?25l:[10C[?12l[?25h: execute 'py3 '.name.'=vim.bindeval("'.s.'")'
[?25l:[10C[?12l[?25h: let toput=s.' : '.join(map(['locked', 'scope'], 'v:val.":".py3e
[23;80Hv[24;1Hal(name.".".v:val)'), ';')
[?25l:[10C[?12l[?25h: $put =toput
[?25l:[10C[?12l[?25h:endfor
[?25l:[8C[?12l[?25h:silent! let d.abc2=1
[?25l:[8C[?12l[?25h:silent! let dl.abc3=1
[?25l:[8C[?12l[?25h:py3 d.locked=True
[?25l:[8C[?12l[?25h:py3 dl.locked=False
[?25l:[8C[?12l[?25h:silent! let d.def=1
[?25l:[8C[?12l[?25h:silent! let dl.def=1
[?25l:[8C[?12l[?25h:put ='d:'.string(d)
[?25l:[8C[?12l[?25h:put ='dl:'.string(dl)
[?25l:[8C[?12l[?25h:unlet d dl
[?25l:[8C[?12l[?25h:
[?25l:[8C[?12l[?25h:let l=[] | let ll=[] | lockvar ll
[?25l:[8C[?12l[?25h:for s in split("l ll")
[?25l:[10C[?12l[?25h: let name=tr(s, ':', 's')
[?25l:[10C[?12l[?25h: execute 'py3 '.name.'=vim.bindeval("'.s.'")'
[?25l:[10C[?12l[?25h: let toput=s.' : locked:'.py3eval(name.'.locked')
[?25l:[10C[?12l[?25h: $put =toput
[?25l:[10C[?12l[?25h:endfor
[?25l:[8C[?12l[?25h:silent! call extend(l, [0])
[?25l:[8C[?12l[?25h:silent! call extend(ll, [0])
[?25l:[8C[?12l[?25h:py3 l.locked=True
[?25l:[8C[?12l[?25h:py3 ll.locked=False
[?25l:[8C[?12l[?25h:silent! call extend(l, [1])
[?25l:[8C[?12l[?25h:silent! call extend(ll, [1])
[?25l:[8C[?12l[?25h:put ='l:'.string(l)
[?25l:[8C[?12l[?25h:put ='ll:'.string(ll)
[?25l:[8C[?12l[?25h:unlet l ll
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" py3eval()
[?25l:[8C[?12l[?25h:let l=py3eval('[0, 1, 2]')
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:let d=py3eval('{"a": "b", "c": 1, "d": ["e"]}')
[?25l:[8C[?12l[?25h:$put =sort(items(d))
[?25l:[8C[?12l[?25h:let v:errmsg = ''
[?25l:[8C[?12l[?25h:$put ='py3eval(\"None\") = ' . py3eval('None') . v:errmsg
[?25l:[8C[?12l[?25h:if has('float')
[?25l:[10C[?12l[?25h: let f=py3eval('0.0')
[?25l:[10C[?12l[?25h: $put =string(f)
[?25l:[10C[?12l[?25h:else
[?25l:[10C[?12l[?25h: $put ='0.0'
[?25l:[10C[?12l[?25h:endif
[?25l:[8C[?12l[?25h:" Invalid values:
[?25l:[8C[?12l[?25h:for e in ['"\0"', '{"\0": 1}', 'undefined_name', 'vim']
[?25l:[10C[?12l[?25h: try
[?25l:[12C[?12l[?25h: let v=py3eval(e)
[?25l:[12C[?12l[?25h: catch
[?25l:[12C[?12l[?25h: let toput=e.":\t".v:exception[:13]
[?25l:[12C[?12l[?25h: $put =toput
[?25l:[12C[?12l[?25h: endtry
[?25l:[10C[?12l[?25h:endfor
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" threading
[?25l:[8C[?12l[?25h:let l = [0]
[?25l:[8C[?12l[?25h:py3 l=vim.bindeval('l')
[?25l:[8C[?12l[?25hpy3 <<EOF
[?25l:[8C[?12l[?25himport threading
[?25l:[8C[?12l[?25himport time
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25hclass T(threading.Thread):
[?25l:[8C[?12l[?25h def __init__(self):
[?25l:[8C[?12l[?25h threading.Thread.__init__(self)
[?25l:[8C[?12l[?25h self.t = 0
[?25l:[8C[?12l[?25h self.running = True
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25h def run(self):
[?25l:[8C[?12l[?25h while self.running:
[?25l:[8C[?12l[?25h self.t += 1
[?25l:[8C[?12l[?25h time.sleep(0.1)
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25ht = T()
[?25l:[8C[?12l[?25hdel T
[?25l:[8C[?12l[?25ht.start()
[?25l:[8C[?12l[?25hEOF
[?25l:[8C[?12l[?25h:sleep 1
[?25l:[8C[?12l[?25h:py3 t.running = False
[?25l:[8C[?12l[?25h:py3 t.join()
[?25l:[8C[?12l[?25h:" Check if the background thread is working. Count should be 10, but
on a
[?25l:[8C[?12l[?25h:" busy system (AppVeyor) it can be much lower.
[?25l:[8C[?12l[?25h:py3 l[0] = t.t > 4
[?25l:[8C[?12l[?25h:py3 del time
[?25l:[8C[?12l[?25h:py3 del threading
[?25l:[8C[?12l[?25h:py3 del t
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" settrace
[?25l:[8C[?12l[?25h:let l = []
[?25l:[8C[?12l[?25h:py3 l=vim.bindeval('l')
[?25l:[8C[?12l[?25hpy3 <<EOF
[?25l:[8C[?12l[?25himport sys
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25hdef traceit(frame, event, arg):
[?25l:[8C[?12l[?25h global l
[?25l:[8C[?12l[?25h if event == "line":
[?25l:[8C[?12l[?25h l += [frame.f_lineno]
[?25l:[8C[?12l[?25h return traceit
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25hdef trace_main():
[?25l:[8C[?12l[?25h for i in range(5):
[?25l:[8C[?12l[?25h pass
[?25l:[8C[?12l[?25hEOF
[?25l:[8C[?12l[?25h:py3 sys.settrace(traceit)
[?25l:[8C[?12l[?25h:py3 trace_main()
[?25l:[8C[?12l[?25h:py3 sys.settrace(None)
[?25l:[8C[?12l[?25h:py3 del traceit
[?25l:[8C[?12l[?25h:py3 del trace_main
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Slice
[?25l:[8C[?12l[?25h:py3 ll = vim.bindeval('[0, 1, 2, 3, 4, 5]')
[?25l:[8C[?12l[?25h:py3 l = ll[:4]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[2:]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[:-4]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[-2:]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[2:4]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[4:2]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[-4:-2]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[-2:-4]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[:]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[0:6]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[-10:10]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[4:2:-1]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[::2]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[4:2:1]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 del l
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Vars
[?25l:[8C[?12l[?25h:let g:foo = 'bac'
[?25l:[8C[?12l[?25h:let w:abc3 = 'def'
[?25l:[8C[?12l[?25h:let b:baz = 'bar'
[?25l:[8C[?12l[?25h:let t:bar = 'jkl'
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: throw "Abc"
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: put =py3eval('vim.vvars[''exception'']')
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:put =py3eval('vim.vars[''foo'']')
[?25l:[8C[?12l[?25h:put =py3eval('vim.current.window.vars[''abc3'']')
[?25l:[8C[?12l[?25h:put =py3eval('vim.current.buffer.vars[''baz'']')
[?25l:[8C[?12l[?25h:put =py3eval('vim.current.tabpage.vars[''bar'']')
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Options
[?25l:[8C[?12l[?25h:" paste: boolean, global
[?25l:[8C[?12l[?25h:" previewheight number, global
[?25l:[8C[?12l[?25h:" operatorfunc: string, global
[?25l:[8C[?12l[?25h:" number: boolean, window-local
[?25l:[8C[?12l[?25h:" numberwidth: number, window-local
[?25l:[8C[?12l[?25h:" colorcolumn: string, window-local
[?25l:[8C[?12l[?25h:" statusline: string, window-local/global
[?25l:[8C[?12l[?25h:" autoindent: boolean, buffer-local
[?25l:[8C[?12l[?25h:" shiftwidth: number, buffer-local
[?25l:[8C[?12l[?25h:" omnifunc: string, buffer-local
[?25l:[8C[?12l[?25h:" preserveindent: boolean, buffer-local/global
[?25l:[8C[?12l[?25h:" path: string, buffer-local/global
[?25l:[8C[?12l[?25h:let g:bufs=[bufnr('%')]
[?25l:[8C[?12l[?25h:new
[?25l:[8C[?12l[?25h:let g:bufs+=[bufnr('%')]
[?25l:[8C[?12l[?25h:vnew
[?25l:[8C[?12l[?25h:let g:bufs+=[bufnr('%')]
[?25l:[8C[?12l[?25h:wincmd j
[?25l:[8C[?12l[?25h:vnew
[?25l:[8C[?12l[?25h:let g:bufs+=[bufnr('%')]
[?25l:[8C[?12l[?25h:wincmd l
[?25l:[8C[?12l[?25h:fun RecVars(opt)
[?25l:[10C[?12l[?25h: let gval =string(eval('&g:'.a:opt))
[?25l:[10C[?12l[?25h: let wvals=join(map(range(1, 4), 'v:val.":".string(getwinvar(v:va
[23;80Hl[24;1H, "&".a:opt))'))
[?25l:[10C[?12l[?25h: let bvals=join(map(copy(g:bufs), 'v:val.":".string(getbufvar(v:va
[23;80Hl[24;1H, "&".a:opt))'))
[?25l:[10C[?12l[?25h: put =' G: '.gval
[?25l:[10C[?12l[?25h: put =' W: '.wvals
[?25l:[10C[?12l[?25h: put =' B: '.wvals
[?25l:[10C[?12l[?25h:endfun
[?25l:[10C[?12l[?25hpy3 << EOF
[?25l:[10C[?12l[?25hdef e(s, g=globals(), l=locals()):
[?25l:[10C[?12l[?25h try:
[?25l:[10C[?12l[?25h exec(s, g, l)
[?25l:[10C[?12l[?25h except Exception as e:
[?25l:[10C[?12l[?25h vim.command('return ' + repr(e.__class__.__name__))
[?25l:[10C[?12l[?25h
[?25l:[10C[?12l[?25hdef ev(s, g=globals(), l=locals()):
[?25l:[10C[?12l[?25h try:
[?25l:[10C[?12l[?25h return eval(s, g, l)
[?25l:[10C[?12l[?25h except Exception as e:
[?25l:[10C[?12l[?25h vim.command('let exc=' + repr(e.__class__.__name__))
[?25l:[10C[?12l[?25h return 0
[?25l:[10C[?12l[?25hEOF
[?25l:[10C[?12l[?25h:fun E(s)
[?25l:[12C[?12l[?25h: python3 e(vim.eval('a:s'))
[?25l:[12C[?12l[?25h:endfun
[?25l:[12C[?12l[?25h:fun Ev(s)
[?25l:[14C[?12l[?25h: let r=py3eval('ev(vim.eval("a:s"))')
[?25l:[14C[?12l[?25h: if exists('exc')
[?25l:[16C[?12l[?25h: throw exc
[?25l:[16C[?12l[?25h: endif
[?25l:[14C[?12l[?25h: return r
[?25l:[14C[?12l[?25h:endfun
[?25l:[14C[?12l[?25h:py3 gopts1=vim.options
[?25l:[14C[?12l[?25h:py3 wopts1=vim.windows[2].options
[?25l:[14C[?12l[?25h:py3 wopts2=vim.windows[0].options
[?25l:[14C[?12l[?25h:py3 wopts3=vim.windows[1].options
[?25l:[14C[?12l[?25h:py3 bopts1=vim.buffers[vim.bindeval("g:bufs")[2]].options
[?25l:[14C[?12l[?25h:py3 bopts2=vim.buffers[vim.bindeval("g:bufs")[1]].options
[?25l:[14C[?12l[?25h:py3 bopts3=vim.buffers[vim.bindeval("g:bufs")[0]].options
[?25l:[14C[?12l[?25h:$put ='wopts iters equal: '.py3eval('list(wopts1) == list(wopts
[23;80H2[24;1H)')
[?25l:[14C[?12l[?25h:$put ='bopts iters equal: '.py3eval('list(bopts1) == list(bopts
[23;80H2[24;1H)')
[?25l:[14C[?12l[?25h:py3 gset=set(iter(gopts1))
[?25l:[14C[?12l[?25h:py3 wset=set(iter(wopts1))
[?25l:[14C[?12l[?25h:py3 bset=set(iter(bopts1))
[?25l:[14C[?12l[?25h:set path=.,..,,
[?25l:[14C[?12l[?25h:let lst=[]
[?25l:[14C[?12l[?25h:let lst+=[['paste', 1, 0, 1, 2, 1,
1, 0 ]]
[?25l:[14C[?12l[?25h:let lst+=[['previewheight', 5, 1, 6, 'a', 0,
1, 0 ]]
[?25l:[14C[?12l[?25h:let lst+=[['operatorfunc', 'A', 'B', 'C', 2, 0,
1, 0 ]]
[?25l:[14C[?12l[?25h:let lst+=[['number', 0, 1, 1, 0, 1,
0, 1 ]]
[?25l:[14C[?12l[?25h:let lst+=[['numberwidth', 2, 3, 5, -100, 0,
0, 1 ]]
[?25l:[14C[?12l[?25h:let lst+=[['colorcolumn', '+1', '+2', '+3', 'abc4', 0,
0, 1 ]]
[?25l:[14C[?12l[?25h:let lst+=[['statusline', '1', '2', '4', 0, 0,
1, 1 ]]
[?25l:[14C[?12l[?25h:let lst+=[['autoindent', 0, 1, 1, 2, 1,
0, 2 ]]
[?25l:[14C[?12l[?25h:let lst+=[['shiftwidth', 0, 2, 1, 3, 0,
0, 2 ]]
[?25l:[14C[?12l[?25h:let lst+=[['omnifunc', 'A', 'B', 'C', 1, 0,
0, 2 ]]
[?25l:[14C[?12l[?25h:let lst+=[['preserveindent', 0, 1, 1, 2, 1,
1, 2 ]]
[?25l:[14C[?12l[?25h:let lst+=[['path', '.,,', ',,', '.', 0, 0,
1, 2 ]]
[?25l:[14C[?12l[?25h:for [oname, oval1, oval2, oval3, invval, bool,
global, local] in lst
[?25l:[16C[?12l[?25h: py3 oname=vim.eval('oname')
[?25l:[16C[?12l[?25h: py3 oval1=vim.bindeval('oval1')
[?25l:[16C[?12l[?25h: py3 oval2=vim.bindeval('oval2')
[?25l:[16C[?12l[?25h: py3 oval3=vim.bindeval('oval3')
[?25l:[16C[?12l[?25h: if invval is 0 || invval is 1
[?25l:[18C[?12l[?25h: py3 invval=bool(vim.bindeval('invval'))
[?25l:[18C[?12l[?25h: else
[?25l:[18C[?12l[?25h: py3 invval=vim.bindeval('invval')
[?25l:[18C[?12l[?25h: endif
[?25l:[16C[?12l[?25h: if bool
[?25l:[18C[?12l[?25h: py3 oval1=bool(oval1)
[?25l:[18C[?12l[?25h: py3 oval2=bool(oval2)
[?25l:[18C[?12l[?25h: py3 oval3=bool(oval3)
[?25l:[18C[?12l[?25h: endif
[?25l:[16C[?12l[?25h: put ='>>> '.oname
[?25l:[16C[?12l[?25h: $put =' g/w/b:'.py3eval('oname in gset').'/'.py3eval('ona
[23;80Hm[24;1He in wset').'/'.py3eval('oname in bset')
[?25l:[16C[?12l[?25h: $put =' g/w/b (in):'.py3eval('oname in gopts1').'/'.py3ev
[23;80Ha[24;1Hl('oname in wopts1').'/'.py3eval('oname in bopts1')
[?25l:[16C[?12l[?25h: for v in ['gopts1', 'wopts1', 'bopts1']
[?25l:[18C[?12l[?25h: try
[?25l:[20C[?12l[?25h: put =' p/'.v.': '.Ev('repr('.v.'['''.oname.''
[23;80H'[24;1H])')
[?25l:[20C[?12l[?25h: catch
[?25l:[20C[?12l[?25h: put =' p/'.v.'! '.v:exception
[?25l:[20C[?12l[?25h: endtry
[?25l:[18C[?12l[?25h: let r=E(v.'['''.oname.''']=invval')
[?25l:[18C[?12l[?25h: if r isnot 0
[?25l:[20C[?12l[?25h: put =' inv: '.string(invval).'! '.r
[?25l:[20C[?12l[?25h: endif
[?25l:[18C[?12l[?25h: for vv in (v is# 'gopts1' ? [v] : [v, v[:-2].'2', v[
[23;80H:[24;1H-2].'3'])
[?25l:[20C[?12l[?25h: let val=substitute(vv, '^.opts', 'oval', '')
[?25l:[20C[?12l[?25h: let r=E(vv.'['''.oname.''']='.val)
[?25l:[20C[?12l[?25h: if r isnot 0
[?25l:[22C[?12l[?25h: put =' '.vv.'! '.r
[?25l:[22C[?12l[?25h: endif
[?25l:[20C[?12l[?25h: endfor
[?25l:[18C[?12l[?25h: endfor
[?25l:[16C[?12l[?25h: call RecVars(oname)
[?25l:[16C[?12l[?25h: for v in ['wopts3', 'bopts3']
[?25l:[18C[?12l[?25h: let r=E('del '.v.'["'.oname.'"]')
[?25l:[18C[?12l[?25h: if r isnot 0
[?25l:[20C[?12l[?25h: put =' del '.v.'! '.r
[?25l:[20C[?12l[?25h: endif
[?25l:[18C[?12l[?25h: endfor
[?25l:[16C[?12l[?25h: call RecVars(oname)
[?25l:[16C[?12l[?25h:endfor
[?25l:[14C[?12l[?25h:delfunction RecVars
[?25l:[14C[?12l[?25h:delfunction E
[?25l:[14C[?12l[?25h:delfunction Ev
[?25l:[14C[?12l[?25h:py3 del ev
[?25l:[14C[?12l[?25h:py3 del e
[?25l:[14C[?12l[?25h:only
[?25l:[14C[?12l[?25h:for buf in g:bufs[1:]
[?25l:[16C[?12l[?25h: execute 'bwipeout!' buf
[?25l:[16C[?12l[?25h:endfor
[?25l:[14C[?12l[?25h:py3 del gopts1
[?25l:[14C[?12l[?25h:py3 del wopts1
[?25l:[14C[?12l[?25h:py3 del wopts2
[?25l:[14C[?12l[?25h:py3 del wopts3
[?25l:[14C[?12l[?25h:py3 del bopts1
[?25l:[14C[?12l[?25h:py3 del bopts2
[?25l:[14C[?12l[?25h:py3 del bopts3
[?25l:[14C[?12l[?25h:py3 del oval1
[?25l:[14C[?12l[?25h:py3 del oval2
[?25l:[14C[?12l[?25h:py3 del oval3
[?25l:[14C[?12l[?25h:py3 del oname
[?25l:[14C[?12l[?25h:py3 del invval
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test buffer object
[?25l:[14C[?12l[?25h:vnew
[?25l:[14C[?12l[?25h:put ='First line'
[?25l:[14C[?12l[?25h:put ='Second line'
[?25l:[14C[?12l[?25h:put ='Third line'
[?25l:[14C[?12l[?25h:1 delete _
[?25l:[14C[?12l[?25h:py3 b=vim.current.buffer
[?25l:[14C[?12l[?25h:wincmd w
[?25l:[14C[?12l[?25h:mark a
[?25l:[14C[?12l[?25h:augroup BUFS
[?25l:[14C[?12l[?25h: autocmd BufFilePost * python3 cb.append(vim.eval('expand("<a
[23;80Hb[24;1Huf>")') + ':BufFilePost:' + vim.eval('bufnr("%")'))
[?25l:[14C[?12l[?25h: autocmd BufFilePre * python3 cb.append(vim.eval('expand("<ab
[23;80Hu[24;1Hf>")') + ':BufFilePre:' + vim.eval('bufnr("%")'))
[?25l:[14C[?12l[?25h:augroup END
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25h# Tests BufferAppend and BufferItem
[?25l:[14C[?12l[?25hcb.append(b[0])
[?25l:[14C[?12l[?25h# Tests BufferSlice and BufferAssSlice
[?25l:[14C[?12l[?25hcb.append('abc5') # Will be overwritten
[?25l:[14C[?12l[?25hcb[-1:] = b[:-2]
[?25l:[14C[?12l[?25h# Test BufferLength and BufferAssSlice
[?25l:[14C[?12l[?25hcb.append('def') # Will not be overwritten
[?25l:[14C[?12l[?25hcb[len(cb):] = b[:]
[?25l:[14C[?12l[?25h# Test BufferAssItem and BufferMark
[?25l:[14C[?12l[?25hcb.append('ghi') # Will be overwritten
[?25l:[14C[?12l[?25hcb[-1] = repr((len(cb) - cb.mark('a')[0], cb.mark('a')[1]))
[?25l:[14C[?12l[?25h# Test BufferRepr
[?25l:[14C[?12l[?25hcb.append(repr(cb) + repr(b))
[?25l:[14C[?12l[?25h# Modify foreign buffer
[?25l:[14C[?12l[?25hb.append('foo')
[?25l:[14C[?12l[?25hb[0]='bar'
[?25l:[14C[?12l[?25hb[0:0]=['baz']
[?25l:[14C[?12l[?25hvim.command('call append("$", getbufline(%i, 1, "$"))' % b.numbe
[23;80Hr[24;1H)
[?25l:[14C[?12l[?25h# Test assigning to name property
[?25l:[14C[?12l[?25himport os
[?25l:[14C[?12l[?25hold_name = cb.name
[?25l:[14C[?12l[?25hcb.name = 'foo'
[?25l:[14C[?12l[?25hcb.append(cb.name[-11:].replace(os.path.sep, '/'))
[?25l:[14C[?12l[?25hb.name = 'bar'
[?25l:[14C[?12l[?25hcb.append(b.name[-11:].replace(os.path.sep, '/'))
[?25l:[14C[?12l[?25hcb.name = old_name
[?25l:[14C[?12l[?25hcb.append(cb.name[-17:].replace(os.path.sep, '/'))
[?25l:[14C[?12l[?25hdel old_name
[?25l:[14C[?12l[?25h# Test CheckBuffer
[?25l:[14C[?12l[?25hfor _b in vim.buffers:
[?25l:[14C[?12l[?25h if _b is not cb:
[?25l:[14C[?12l[?25h vim.command('bwipeout! ' + str(_b.number))
[?25l:[14C[?12l[?25hdel _b
[?25l:[14C[?12l[?25hcb.append('valid: b:%s, cb:%s' % (repr(b.valid), repr(cb.valid))
[23;80H)[24;1H
[?25l:[14C[?12l[?25hfor expr in ('b[1]','b[:] = ["A", "B"]','b[:]','b.append("abc6")
[23;80H'[24;1H):
[?25l:[14C[?12l[?25h try:
[?25l:[14C[?12l[?25h exec(expr)
[?25l:[14C[?12l[?25h except vim.error:
[?25l:[14C[?12l[?25h pass
[?25l:[14C[?12l[?25h else:
[?25l:[14C[?12l[?25h # Usually a SEGV here
[?25l:[14C[?12l[?25h # Should not happen in any case
[?25l:[14C[?12l[?25h cb.append('No exception for ' + expr)
[?25l:[14C[?12l[?25hvim.command('cd .')
[?25l:[14C[?12l[?25hdel b
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test vim.buffers object
[?25l:[14C[?12l[?25h:set hidden
[?25l:[14C[?12l[?25h:edit a
[?25l:[14C[?12l[?25h:buffer #
[?25l:[14C[?12l[?25h:edit b
[?25l:[14C[?12l[?25h:buffer #
[?25l:[14C[?12l[?25h:edit c
[?25l:[14C[?12l[?25h:buffer #
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25h# Check GCing iterator that was not fully exhausted
[?25l:[14C[?12l[?25hi = iter(vim.buffers)
[?25l:[14C[?12l[?25hcb.append('i:' + str(next(i)))
[?25l:[14C[?12l[?25h# and also check creating more than one iterator at a time
[?25l:[14C[?12l[?25hi2 = iter(vim.buffers)
[?25l:[14C[?12l[?25hcb.append('i2:' + str(next(i2)))
[?25l:[14C[?12l[?25hcb.append('i:' + str(next(i)))
[?25l:[14C[?12l[?25h# The following should trigger GC and not cause any problems
[?25l:[14C[?12l[?25hdel i
[?25l:[14C[?12l[?25hdel i2
[?25l:[14C[?12l[?25hi3 = iter(vim.buffers)
[?25l:[14C[?12l[?25hcb.append('i3:' + str(next(i3)))
[?25l:[14C[?12l[?25hdel i3
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hprevnum = 0
[?25l:[14C[?12l[?25hfor b in vim.buffers:
[?25l:[14C[?12l[?25h # Check buffer order
[?25l:[14C[?12l[?25h if prevnum >= b.number:
[?25l:[14C[?12l[?25h cb.append('!!! Buffer numbers not in strictly ascending
[23;80Ho[24;1Hrder')
[?25l:[14C[?12l[?25h # Check indexing: vim.buffers[number].number == number
[?25l:[14C[?12l[?25h cb.append(str(b.number) + ':' + repr(vim.buffers[b.number])
[23;80H+[24;1H '=' + repr(b))
[?25l:[14C[?12l[?25h prevnum = b.number
[?25l:[14C[?12l[?25hdel prevnum
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hcb.append(str(len(vim.buffers)))
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hbnums = list(map(lambda b: b.number, vim.buffers))[1:]
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25h# Test wiping out buffer with existing iterator
[?25l:[14C[?12l[?25hi4 = iter(vim.buffers)
[?25l:[14C[?12l[?25hcb.append('i4:' + str(next(i4)))
[?25l:[14C[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(0)))
[?25l:[14C[?12l[?25htry:
[?25l:[14C[?12l[?25h next(i4)
[?25l:[14C[?12l[?25hexcept vim.error:
[?25l:[14C[?12l[?25h pass
[?25l:[14C[?12l[?25helse:
[?25l:[14C[?12l[?25h cb.append('!!!! No vim.error')
[?25l:[14C[?12l[?25hi4 = iter(vim.buffers)
[?25l:[14C[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(-1)))
[?25l:[14C[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(-1)))
[?25l:[14C[?12l[?25hcb.append('i4:' + str(next(i4)))
[?25l:[14C[?12l[?25htry:
[?25l:[14C[?12l[?25h next(i4)
[?25l:[14C[?12l[?25hexcept StopIteration:
[?25l:[14C[?12l[?25h cb.append('StopIteration')
[?25l:[14C[?12l[?25hdel i4
[?25l:[14C[?12l[?25hdel bnums
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test vim.{tabpage,window}list and vim.{tabpage,window} object
[23;80Hs[24;1H
[?25l:[14C[?12l[?25h:tabnew 0
[?25l:[14C[?12l[?25h:tabnew 1
[?25l:[14C[?12l[?25h:vnew a.1
[?25l:[14C[?12l[?25h:tabnew 2
[?25l:[14C[?12l[?25h:vnew a.2
[?25l:[14C[?12l[?25h:vnew b.2
[?25l:[14C[?12l[?25h:vnew c.2
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25hcb.append('Number of tabs: ' + str(len(vim.tabpages)))
[?25l:[14C[?12l[?25hcb.append('Current tab pages:')
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hdef W(w):
[?25l:[14C[?12l[?25h if '(unknown)' in repr(w):
[?25l:[14C[?12l[?25h return '<window object (unknown)>'
[?25l:[14C[?12l[?25h else:
[?25l:[14C[?12l[?25h return repr(w)
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hdef Cursor(w, start=len(cb)):
[?25l:[14C[?12l[?25h if w.buffer is cb:
[?25l:[14C[?12l[?25h return repr((start - w.cursor[0], w.cursor[1]))
[?25l:[14C[?12l[?25h else:
[?25l:[14C[?12l[?25h return repr(w.cursor)
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hfor t in vim.tabpages:
[?25l:[14C[?12l[?25h cb.append(' ' + repr(t) + '(' + str(t.number) + ')' + ': '
[23;80H+[24;1H str(len(t.windows)) + ' windows, current is ' + W(t.window))
[?25l:[14C[?12l[?25h cb.append(' Windows:')
[?25l:[14C[?12l[?25h for w in t.windows:
[?25l:[14C[?12l[?25h cb.append(' ' + W(w) + '(' + str(w.number) + ')' + ':
displays buffer ' + repr(w.buffer) + '; cursor is at ' + Cursor(w))
[?25l:[14C[?12l[?25h # Other values depend on the size of the terminal, so th
[23;80He[24;1Hy are checked partly:
[?25l:[14C[?12l[?25h for attr in ('height', 'row', 'width', 'col'):
[?25l:[14C[?12l[?25h try:
[?25l:[14C[?12l[?25h aval = getattr(w, attr)
[?25l:[14C[?12l[?25h if type(aval) is not int:
[?25l:[14C[?12l[?25h raise TypeError
[?25l:[14C[?12l[?25h if aval < 0:
[?25l:[14C[?12l[?25h raise ValueError
[?25l:[14C[?12l[?25h except Exception as e:
[?25l:[14C[?12l[?25h cb.append('!!!!!! Error while getting attribute
[23;80H'[24;1H + attr + ': ' + e.__class__.__name__)
[?25l:[14C[?12l[?25h del aval
[?25l:[14C[?12l[?25h del attr
[?25l:[14C[?12l[?25h w.cursor = (len(w.buffer), 0)
[?25l:[14C[?12l[?25hdel W
[?25l:[14C[?12l[?25hdel Cursor
[?25l:[14C[?12l[?25hcb.append('Number of windows in current tab page: ' + str(len(vi
[23;80Hm[24;1H.windows)))
[?25l:[14C[?12l[?25hif list(vim.windows) != list(vim.current.tabpage.windows):
[?25l:[14C[?12l[?25h cb.append('!!!!!! Windows differ')
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test vim.current
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25hdef H(o):
[?25l:[14C[?12l[?25h return repr(o)
[?25l:[14C[?12l[?25hcb.append('Current tab page: ' + repr(vim.current.tabpage))
[?25l:[14C[?12l[?25hcb.append('Current window: ' + repr(vim.current.window) + ': ' +
H(vim.current.window) + ' is ' + H(vim.current.tabpage.window))
[?25l:[14C[?12l[?25hcb.append('Current buffer: ' + repr(vim.current.buffer) + ': ' +
H(vim.current.buffer) + ' is ' + H(vim.current.window.buffer)+ ' is ' + H(vim.c
[23;80Hu[24;1Hrrent.tabpage.window.buffer))
[?25l:[14C[?12l[?25hdel H
[?25l:[14C[?12l[?25h# Assigning: fails
[?25l:[14C[?12l[?25htry:
[?25l:[14C[?12l[?25h vim.current.window = vim.tabpages[0].window
[?25l:[14C[?12l[?25hexcept ValueError:
[?25l:[14C[?12l[?25h cb.append('ValueError at assigning foreign tab window')
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hfor attr in ('window', 'tabpage', 'buffer'):
[?25l:[14C[?12l[?25h try:
[?25l:[14C[?12l[?25h setattr(vim.current, attr, None)
[?25l:[14C[?12l[?25h except TypeError:
[?25l:[14C[?12l[?25h cb.append('Type error at assigning None to vim.current.'
+ attr)
[?25l:[14C[?12l[?25hdel attr
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25h# Assigning: success
[?25l:[14C[?12l[?25hvim.current.tabpage = vim.tabpages[-2]
[?25l:[14C[?12l[?25hvim.current.buffer = cb
[?25l:[14C[?12l[?25hvim.current.window = vim.windows[0]
[?25l:[14C[?12l[?25hvim.current.window.cursor = (len(vim.current.buffer), 0)
[?25l:[14C[?12l[?25hcb.append('Current tab page: ' + repr(vim.current.tabpage))
[?25l:[14C[?12l[?25hcb.append('Current window: ' + repr(vim.current.window))
[?25l:[14C[?12l[?25hcb.append('Current buffer: ' + repr(vim.current.buffer))
[?25l:[14C[?12l[?25hcb.append('Current line: ' + repr(vim.current.line))
[?25l:[14C[?12l[?25hws = list(vim.windows)
[?25l:[14C[?12l[?25hts = list(vim.tabpages)
[?25l:[14C[?12l[?25hfor b in vim.buffers:
[?25l:[14C[?12l[?25h if b is not cb:
[?25l:[14C[?12l[?25h vim.command('bwipeout! ' + str(b.number))
[?25l:[14C[?12l[?25hdel b
[?25l:[14C[?12l[?25hcb.append('w.valid: ' + repr([w.valid for w in ws]))
[?25l:[14C[?12l[?25hcb.append('t.valid: ' + repr([t.valid for t in ts]))
[?25l:[14C[?12l[?25hdel w
[?25l:[14C[?12l[?25hdel t
[?25l:[14C[?12l[?25hdel ts
[?25l:[14C[?12l[?25hdel ws
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:tabonly!
[?25l:[14C[?12l[?25h:only!
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test types
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25hfor expr, attr in (
[?25l:[14C[?12l[?25h ('vim.vars', 'Dictionary'),
[?25l:[14C[?12l[?25h ('vim.options', 'Options'),
[?25l:[14C[?12l[?25h ('vim.bindeval("{}")', 'Dictionary'),
[?25l:[14C[?12l[?25h ('vim.bindeval("[]")', 'List'),
[?25l:[14C[?12l[?25h ('vim.bindeval("function(\'tr\')")', 'Function'),
[?25l:[14C[?12l[?25h ('vim.current.buffer', 'Buffer'),
[?25l:[14C[?12l[?25h ('vim.current.range', 'Range'),
[?25l:[14C[?12l[?25h ('vim.current.window', 'Window'),
[?25l:[14C[?12l[?25h ('vim.current.tabpage', 'TabPage'),
[?25l:[14C[?12l[?25h):
[?25l:[14C[?12l[?25h cb.append(expr + ':' + attr + ':' + repr(type(eval(expr)) is
getattr(vim, attr)))
[?25l:[14C[?12l[?25hdel expr
[?25l:[14C[?12l[?25hdel attr
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test __dir__() method
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25hfor name, o in (
[?25l:[14C[?12l[?25h ('current', vim.current),
[?25l:[14C[?12l[?25h ('buffer', vim.current.buffer),
[?25l:[14C[?12l[?25h ('window', vim.current.window),
[?25l:[14C[?12l[?25h ('tabpage', vim.current.tabpage),
[?25l:[14C[?12l[?25h ('range', vim.current.range),
[?25l:[14C[?12l[?25h ('dictionary', vim.bindeval('{}')),
[?25l:[14C[?12l[?25h ('list', vim.bindeval('[]')),
[?25l:[14C[?12l[?25h ('function', vim.bindeval('function("tr")')),
[?25l:[14C[?12l[?25h ('output', sys.stdout),
[?25l:[14C[?12l[?25h ):
[?25l:[14C[?12l[?25h cb.append(name + ':' + ','.join(dir(o)))
[?25l:[14C[?12l[?25hdel name
[?25l:[14C[?12l[?25hdel o
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test vim.*.__new__
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Dictionary({})'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Dictionary(a=1)'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Dictionary(((''a'', 1),))'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.List()'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.List(iter(''abc7''))'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'')'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4])'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[])'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', self={})'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], se
[23;80Hl[24;1Hf={})'))
[?25l:[14C[?12l[?25h:$put ='auto_rebind'
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', auto_rebind=False)')
[23;80H)[24;1H
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], au
[23;80Ht[24;1Ho_rebind=False)'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[], auto_rebind
[23;80H=[24;1HFalse)'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', self={}, auto_rebind
[23;80H=[24;1HFalse)'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], se
[23;80Hl[24;1Hf={}, auto_rebind=False)'))
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test vim.Function
[?25l:[14C[?12l[?25h:function Args(...)
[?25l:[16C[?12l[?25h: return a:000
[?25l:[16C[?12l[?25h:endfunction
[?25l:[16C[?12l[?25h:function SelfArgs(...) dict
[?25l:[18C[?12l[?25h: return [a:000, self]
[?25l:[18C[?12l[?25h:endfunction
[?25l:[18C[?12l[?25h:" The following four lines should not crash
[?25l:[18C[?12l[?25h:let Pt = function('tr', [[]], {'l': []})
[?25l:[18C[?12l[?25h:py3 Pt = vim.bindeval('Pt')
[?25l:[18C[?12l[?25h:unlet Pt
[?25l:[18C[?12l[?25h:py3 del Pt
[?25l:[18C[?12l[?25hpy3 << EOF
[?25l:[18C[?12l[?25hdef ecall(out_prefix, func, *args, **kwargs):
[?25l:[18C[?12l[?25h line = out_prefix + ': '
[?25l:[18C[?12l[?25h try:
[?25l:[18C[?12l[?25h ret = func(*args, **kwargs)
[?25l:[18C[?12l[?25h except Exception:
[?25l:[18C[?12l[?25h line += '!exception: ' + emsg(sys.exc_info())
[?25l:[18C[?12l[?25h else:
[?25l:[18C[?12l[?25h line += '!result: ' + str(vim.Function('string')(ret
[23;80H)[24;1H, 'utf-8')
[?25l:[18C[?12l[?25h cb.append(line)
[?25l:[18C[?12l[?25ha = vim.Function('Args')
[?25l:[18C[?12l[?25hpa1 = vim.Function('Args', args=['abcArgsPA1'])
[?25l:[18C[?12l[?25hpa2 = vim.Function('Args', args=[])
[?25l:[18C[?12l[?25hpa3 = vim.Function('Args', args=['abcArgsPA3'], self={'abcSe
[23;80Hl[24;1HfPA3': 'abcSelfPA3Val'})
[?25l:[18C[?12l[?25hpa4 = vim.Function('Args', self={'abcSelfPA4': 'abcSelfPA4Va
[23;80Hl[24;1H'})
[?25l:[18C[?12l[?25hcb.append('a: ' + repr(a))
[?25l:[18C[?12l[?25hcb.append('pa1: ' + repr(pa1))
[?25l:[18C[?12l[?25hcb.append('pa2: ' + repr(pa2))
[?25l:[18C[?12l[?25hcb.append('pa3: ' + repr(pa3))
[?25l:[18C[?12l[?25hcb.append('pa4: ' + repr(pa4))
[?25l:[18C[?12l[?25hsa = vim.Function('SelfArgs')
[?25l:[18C[?12l[?25hpsa1 = vim.Function('SelfArgs', args=['abcArgsPSA1'])
[?25l:[18C[?12l[?25hpsa2 = vim.Function('SelfArgs', args=[])
[?25l:[18C[?12l[?25hpsa3 = vim.Function('SelfArgs', args=['abcArgsPSA3'], self={
[23;80H'[24;1HabcSelfPSA3': 'abcSelfPSA3Val'})
[?25l:[18C[?12l[?25hpsa4 = vim.Function('SelfArgs', self={'abcSelfPSA4': 'abcSel
[23;80Hf[24;1HPSA4Val'})
[?25l:[18C[?12l[?25hpsa5 = vim.Function('SelfArgs', self={'abcSelfPSA5': 'abcSel
[23;80Hf[24;1HPSA5Val'}, auto_rebind=0)
[?25l:[18C[?12l[?25hpsa6 = vim.Function('SelfArgs', args=['abcArgsPSA6'], self={
[23;80H'[24;1HabcSelfPSA6': 'abcSelfPSA6Val'}, auto_rebind=())
[?25l:[18C[?12l[?25hpsa7 = vim.Function('SelfArgs', args=['abcArgsPSA7'], auto_r
[23;80He[24;1Hbind=[])
[?25l:[18C[?12l[?25hpsa8 = vim.Function('SelfArgs', auto_rebind=False)
[?25l:[18C[?12l[?25hpsa9 = vim.Function('SelfArgs', self={'abcSelfPSA9': 'abcSel
[23;80Hf[24;1HPSA9Val'}, auto_rebind=True)
[?25l:[18C[?12l[?25hpsaA = vim.Function('SelfArgs', args=['abcArgsPSAA'], self={
[23;80H'[24;1HabcSelfPSAA': 'abcSelfPSAAVal'}, auto_rebind=1)
[?25l:[18C[?12l[?25hpsaB = vim.Function('SelfArgs', args=['abcArgsPSAB'], auto_r
[23;80He[24;1Hbind={'abcARPSAB': 'abcARPSABVal'})
[?25l:[18C[?12l[?25hpsaC = vim.Function('SelfArgs', auto_rebind=['abcARPSAC'])
[?25l:[18C[?12l[?25hcb.append('sa: ' + repr(sa))
[?25l:[18C[?12l[?25hcb.append('psa1: ' + repr(psa1))
[?25l:[18C[?12l[?25hcb.append('psa2: ' + repr(psa2))
[?25l:[18C[?12l[?25hcb.append('psa3: ' + repr(psa3))
[?25l:[18C[?12l[?25hcb.append('psa4: ' + repr(psa4))
[?25l:[18C[?12l[?25hcb.append('psa5: ' + repr(psa5))
[?25l:[18C[?12l[?25hcb.append('psa6: ' + repr(psa6))
[?25l:[18C[?12l[?25hcb.append('psa7: ' + repr(psa7))
[?25l:[18C[?12l[?25hcb.append('psa8: ' + repr(psa8))
[?25l:[18C[?12l[?25hcb.append('psa9: ' + repr(psa9))
[?25l:[18C[?12l[?25hcb.append('psaA: ' + repr(psaA))
[?25l:[18C[?12l[?25hcb.append('psaB: ' + repr(psaB))
[?25l:[18C[?12l[?25hcb.append('psaC: ' + repr(psaC))
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hpsar = vim.Function('SelfArgs', args=[{'abcArgsPSAr': 'abcAr
[23;80Hg[24;1HsPSArVal'}], self={'abcSelfPSAr': 'abcSelfPSArVal'})
[?25l:[18C[?12l[?25hpsar.args[0]['abcArgsPSAr2'] = [psar.self, psar.args[0]]
[?25l:[18C[?12l[?25hpsar.self['rec'] = psar
[?25l:[18C[?12l[?25hpsar.self['self'] = psar.self
[?25l:[18C[?12l[?25hpsar.self['args'] = psar.args
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25htry:
[?25l:[18C[?12l[?25h cb.append('psar: ' + repr(psar))
[?25l:[18C[?12l[?25hexcept Exception:
[?25l:[18C[?12l[?25h cb.append('!!!!!!!! Caught exception: ' + emsg(sys.exc_i
[23;80Hn[24;1Hfo()))
[?25l:[18C[?12l[?25hEOF
[?25l:[18C[?12l[?25h:$put ='s(a): '.string(py3eval('a'))
[?25l:[18C[?12l[?25h:$put ='s(pa1): '.string(py3eval('pa1'))
[?25l:[18C[?12l[?25h:$put ='s(pa2): '.string(py3eval('pa2'))
[?25l:[18C[?12l[?25h:$put ='s(pa3): '.string(py3eval('pa3'))
[?25l:[18C[?12l[?25h:$put ='s(pa4): '.string(py3eval('pa4'))
[?25l:[18C[?12l[?25h:$put ='s(sa): '.string(py3eval('sa'))
[?25l:[18C[?12l[?25h:$put ='s(psa1): '.string(py3eval('psa1'))
[?25l:[18C[?12l[?25h:$put ='s(psa2): '.string(py3eval('psa2'))
[?25l:[18C[?12l[?25h:$put ='s(psa3): '.string(py3eval('psa3'))
[?25l:[18C[?12l[?25h:$put ='s(psa4): '.string(py3eval('psa4'))
[?25l:[18C[?12l[?25h:$put ='s(psa5): '.string(py3eval('psa5'))
[?25l:[18C[?12l[?25h:$put ='s(psa6): '.string(py3eval('psa6'))
[?25l:[18C[?12l[?25h:$put ='s(psa7): '.string(py3eval('psa7'))
[?25l:[18C[?12l[?25h:$put ='s(psa8): '.string(py3eval('psa8'))
[?25l:[18C[?12l[?25h:$put ='s(psa9): '.string(py3eval('psa9'))
[?25l:[18C[?12l[?25h:$put ='s(psaA): '.string(py3eval('psaA'))
[?25l:[18C[?12l[?25h:$put ='s(psaB): '.string(py3eval('psaB'))
[?25l:[18C[?12l[?25h:$put ='s(psaC): '.string(py3eval('psaC'))
[?25l:[18C[?12l[?25h:
[?25l:[18C[?12l[?25h:for v in ['sa', 'psa1', 'psa2', 'psa3', 'psa4', 'psa5', 'ps
[23;80Ha[24;1H6', 'psa7', 'psa8', 'psa9', 'psaA', 'psaB', 'psaC']
[?25l:[20C[?12l[?25h: let d = {'f': py3eval(v)}
[?25l:[20C[?12l[?25h: $put ='d.'.v.'(): '.string(d.f())
[?25l:[20C[?12l[?25h:endfor
[?25l:[18C[?12l[?25h:
[?25l:[18C[?12l[?25h:py3 ecall('a()', a, )
[?25l:[18C[?12l[?25h:py3 ecall('pa1()', pa1, )
[?25l:[18C[?12l[?25h:py3 ecall('pa2()', pa2, )
[?25l:[18C[?12l[?25h:py3 ecall('pa3()', pa3, )
[?25l:[18C[?12l[?25h:py3 ecall('pa4()', pa4, )
[?25l:[18C[?12l[?25h:py3 ecall('sa()', sa, )
[?25l:[18C[?12l[?25h:py3 ecall('psa1()', psa1, )
[?25l:[18C[?12l[?25h:py3 ecall('psa2()', psa2, )
[?25l:[18C[?12l[?25h:py3 ecall('psa3()', psa3, )
[?25l:[18C[?12l[?25h:py3 ecall('psa4()', psa4, )
[?25l:[18C[?12l[?25h:
[?25l:[18C[?12l[?25h:py3 ecall('a(42, 43)', a, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('pa1(42, 43)', pa1, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('pa2(42, 43)', pa2, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('pa3(42, 43)', pa3, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('pa4(42, 43)', pa4, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('sa(42, 43)', sa, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('psa1(42, 43)', psa1, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('psa2(42, 43)', psa2, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('psa3(42, 43)', psa3, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('psa4(42, 43)', psa4, 42, 43)
[?25l:[18C[?12l[?25h:
[?25l:[18C[?12l[?25h:py3 ecall('a(42, self={"20": 1})', a, 42, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('pa1(42, self={"20": 1})', pa1, 42, self={'20': 1
[23;80H}[24;1H)
[?25l:[18C[?12l[?25h:py3 ecall('pa2(42, self={"20": 1})', pa2, 42, self={'20': 1
[23;80H}[24;1H)
[?25l:[18C[?12l[?25h:py3 ecall('pa3(42, self={"20": 1})', pa3, 42, self={'20': 1
[23;80H}[24;1H)
[?25l:[18C[?12l[?25h:py3 ecall('pa4(42, self={"20": 1})', pa4, 42, self={'20': 1
[23;80H}[24;1H)
[?25l:[18C[?12l[?25h:py3 ecall('sa(42, self={"20": 1})', sa, 42, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('psa1(42, self={"20": 1})', psa1, 42, self={'20':
1})
[?25l:[18C[?12l[?25h:py3 ecall('psa2(42, self={"20": 1})', psa2, 42, self={'20':
1})
[?25l:[18C[?12l[?25h:py3 ecall('psa3(42, self={"20": 1})', psa3, 42, self={'20':
1})
[?25l:[18C[?12l[?25h:py3 ecall('psa4(42, self={"20": 1})', psa4, 42, self={'20':
1})
[?25l:[18C[?12l[?25h:
[?25l:[18C[?12l[?25h:py3 ecall('a(self={"20": 1})', a, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('pa1(self={"20": 1})', pa1, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('pa2(self={"20": 1})', pa2, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('pa3(self={"20": 1})', pa3, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('pa4(self={"20": 1})', pa4, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('sa(self={"20": 1})', sa, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('psa1(self={"20": 1})', psa1, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('psa2(self={"20": 1})', psa2, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('psa3(self={"20": 1})', psa3, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('psa4(self={"20": 1})', psa4, self={'20': 1})
[?25l:[18C[?12l[?25hpy3 << EOF
[?25l:[18C[?12l[?25hdef s(v):
[?25l:[18C[?12l[?25h if v is None:
[?25l:[18C[?12l[?25h return repr(v)
[?25l:[18C[?12l[?25h else:
[?25l:[18C[?12l[?25h return str(vim.Function('string')(v), 'utf-8')
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hcb.append('a.args: ' + s(a.args))
[?25l:[18C[?12l[?25hcb.append('pa1.args: ' + s(pa1.args))
[?25l:[18C[?12l[?25hcb.append('pa2.args: ' + s(pa2.args))
[?25l:[18C[?12l[?25hcb.append('pa3.args: ' + s(pa3.args))
[?25l:[18C[?12l[?25hcb.append('pa4.args: ' + s(pa4.args))
[?25l:[18C[?12l[?25hcb.append('sa.args: ' + s(sa.args))
[?25l:[18C[?12l[?25hcb.append('psa1.args: ' + s(psa1.args))
[?25l:[18C[?12l[?25hcb.append('psa2.args: ' + s(psa2.args))
[?25l:[18C[?12l[?25hcb.append('psa3.args: ' + s(psa3.args))
[?25l:[18C[?12l[?25hcb.append('psa4.args: ' + s(psa4.args))
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hcb.append('a.self: ' + s(a.self))
[?25l:[18C[?12l[?25hcb.append('pa1.self: ' + s(pa1.self))
[?25l:[18C[?12l[?25hcb.append('pa2.self: ' + s(pa2.self))
[?25l:[18C[?12l[?25hcb.append('pa3.self: ' + s(pa3.self))
[?25l:[18C[?12l[?25hcb.append('pa4.self: ' + s(pa4.self))
[?25l:[18C[?12l[?25hcb.append('sa.self: ' + s(sa.self))
[?25l:[18C[?12l[?25hcb.append('psa1.self: ' + s(psa1.self))
[?25l:[18C[?12l[?25hcb.append('psa2.self: ' + s(psa2.self))
[?25l:[18C[?12l[?25hcb.append('psa3.self: ' + s(psa3.self))
[?25l:[18C[?12l[?25hcb.append('psa4.self: ' + s(psa4.self))
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hcb.append('a.name: ' + s(a.name))
[?25l:[18C[?12l[?25hcb.append('pa1.name: ' + s(pa1.name))
[?25l:[18C[?12l[?25hcb.append('pa2.name: ' + s(pa2.name))
[?25l:[18C[?12l[?25hcb.append('pa3.name: ' + s(pa3.name))
[?25l:[18C[?12l[?25hcb.append('pa4.name: ' + s(pa4.name))
[?25l:[18C[?12l[?25hcb.append('sa.name: ' + s(sa.name))
[?25l:[18C[?12l[?25hcb.append('psa1.name: ' + s(psa1.name))
[?25l:[18C[?12l[?25hcb.append('psa2.name: ' + s(psa2.name))
[?25l:[18C[?12l[?25hcb.append('psa3.name: ' + s(psa3.name))
[?25l:[18C[?12l[?25hcb.append('psa4.name: ' + s(psa4.name))
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hcb.append('a.auto_rebind: ' + s(a.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('pa1.auto_rebind: ' + s(pa1.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('pa2.auto_rebind: ' + s(pa2.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('pa3.auto_rebind: ' + s(pa3.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('pa4.auto_rebind: ' + s(pa4.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('sa.auto_rebind: ' + s(sa.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa1.auto_rebind: ' + s(psa1.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa2.auto_rebind: ' + s(psa2.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa3.auto_rebind: ' + s(psa3.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa4.auto_rebind: ' + s(psa4.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa5.auto_rebind: ' + s(psa5.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa6.auto_rebind: ' + s(psa6.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa7.auto_rebind: ' + s(psa7.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa8.auto_rebind: ' + s(psa8.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa9.auto_rebind: ' + s(psa9.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psaA.auto_rebind: ' + s(psaA.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psaB.auto_rebind: ' + s(psaB.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psaC.auto_rebind: ' + s(psaC.auto_rebind))
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hdel s
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hdel a
[?25l:[18C[?12l[?25hdel pa1
[?25l:[18C[?12l[?25hdel pa2
[?25l:[18C[?12l[?25hdel pa3
[?25l:[18C[?12l[?25hdel pa4
[?25l:[18C[?12l[?25hdel sa
[?25l:[18C[?12l[?25hdel psa1
[?25l:[18C[?12l[?25hdel psa2
[?25l:[18C[?12l[?25hdel psa3
[?25l:[18C[?12l[?25hdel psa4
[?25l:[18C[?12l[?25hdel psa5
[?25l:[18C[?12l[?25hdel psa6
[?25l:[18C[?12l[?25hdel psa7
[?25l:[18C[?12l[?25hdel psa8
[?25l:[18C[?12l[?25hdel psa9
[?25l:[18C[?12l[?25hdel psaA
[?25l:[18C[?12l[?25hdel psaB
[?25l:[18C[?12l[?25hdel psaC
[?25l:[18C[?12l[?25hdel psar
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hdel ecall
[?25l:[18C[?12l[?25hEOF
[?25l:[18C[?12l[?25h:"
[?25l:[18C[?12l[?25h:" Test stdout/stderr
[?25l:[18C[?12l[?25h:redir => messages
[?25l:[18C[?12l[?25h:py3 sys.stdout.write('abc8') ; sys.stdout.write('def')
[?25l:[18C[?12l[?25h:py3 sys.stderr.write('abc9') ; sys.stderr.write('def')
[?25l:[18C[?12l[?25h:py3 sys.stdout.writelines(iter('abcA'))
[?25l:[18C[?12l[?25h:py3 sys.stderr.writelines(iter('abcB'))
[?25l:[18C[?12l[?25h:redir END
[?25l:[18C[?12l[?25h:$put =string(substitute(messages, '\d\+', '', 'g'))
[?25l:[18C[?12l[?25h:" Test subclassing
[?25l:[18C[?12l[?25h:fun Put(...)
[?25l:[20C[?12l[?25h: $put =string(a:000)
[?25l:[20C[?12l[?25h: return a:000
[?25l:[20C[?12l[?25h:endfun
[?25l:[20C[?12l[?25hpy3 << EOF
[?25l:[20C[?12l[?25hclass DupDict(vim.Dictionary):
[?25l:[20C[?12l[?25h def __setitem__(self, key, value):
[?25l:[20C[?12l[?25h super(DupDict, self).__setitem__(key, value)
[?25l:[20C[?12l[?25h super(DupDict, self).__setitem__('dup_' + key, val
[23;80Hu[24;1He)
[?25l:[20C[?12l[?25hdd = DupDict()
[?25l:[20C[?12l[?25hdd['a'] = 'b'
[?25l:[20C[?12l[?25h
[?25l:[20C[?12l[?25hclass DupList(vim.List):
[?25l:[20C[?12l[?25h def __getitem__(self, idx):
[?25l:[20C[?12l[?25h return [super(DupList, self).__getitem__(idx)] * 2
[?25l:[20C[?12l[?25h
[?25l:[20C[?12l[?25hdl = DupList()
[?25l:[20C[?12l[?25hdl2 = DupList(iter('abcC'))
[?25l:[20C[?12l[?25hdl.extend(dl2[0])
[?25l:[20C[?12l[?25h
[?25l:[20C[?12l[?25hclass DupFun(vim.Function):
[?25l:[20C[?12l[?25h def __call__(self, arg):
[?25l:[20C[?12l[?25h return super(DupFun, self).__call__(arg, arg)
[?25l:[20C[?12l[?25h
[?25l:[20C[?12l[?25hdf = DupFun('Put')
[?25l:[20C[?12l[?25hEOF
[?25l:[20C[?12l[?25h:$put =string(sort(keys(py3eval('dd'))))
[?25l:[20C[?12l[?25h:$put =string(py3eval('dl'))
[?25l:[20C[?12l[?25h:$put =string(py3eval('dl2'))
[?25l:[20C[?12l[?25h:$put =string(py3eval('df(2)'))
[?25l:[20C[?12l[?25h:$put =string(py3eval('dl') is# py3eval('dl'))
[?25l:[20C[?12l[?25h:$put =string(py3eval('dd') is# py3eval('dd'))
[?25l:[20C[?12l[?25h:$put =string(py3eval('df'))
[?25l:[20C[?12l[?25h:delfunction Put
[?25l:[20C[?12l[?25hpy3 << EOF
[?25l:[20C[?12l[?25hdel DupDict
[?25l:[20C[?12l[?25hdel DupList
[?25l:[20C[?12l[?25hdel DupFun
[?25l:[20C[?12l[?25hdel dd
[?25l:[20C[?12l[?25hdel dl
[?25l:[20C[?12l[?25hdel dl2
[?25l:[20C[?12l[?25hdel df
[?25l:[20C[?12l[?25hEOF
[?25l:[20C[?12l[?25h:"
[?25l:[20C[?12l[?25h:" Test chdir
[?25l:[20C[?12l[?25hpy3 << EOF
[?25l:[20C[?12l[?25himport os
[?25l:[20C[?12l[?25hfnamemodify = vim.Function('fnamemodify')
[?25l:[20C[?12l[?25hcb.append(str(fnamemodify('.', ':p:h:t')))
[?25l:[20C[?12l[?25hcb.append(vim.eval('@%'))
[?25l:[20C[?12l[?25hos.chdir('..')
[?25l:[20C[?12l[?25hpath = fnamemodify('.', ':p:h:t')
[?25l:[20C[?12l[?25hif path != b'src':
[?25l:[20C[?12l[?25h # Running tests from a shadow directory, so move up anot
[23;80Hh[24;1Her level
[?25l:[20C[?12l[?25h # This will result in @% looking like shadow/testdir/tes
[23;80Ht[24;1H87.in, hence the
[?25l:[20C[?12l[?25h # slicing to remove the leading path and path separator
[?25l:[20C[?12l[?25h os.chdir('..')
[?25l:[20C[?12l[?25h cb.append(str(fnamemodify('.', ':p:h:t')))
[?25l:[20C[?12l[?25h cb.append(vim.eval('@%')[len(path)+1:].replace(os.path.s
[23;80He[24;1Hp, '/'))
[?25l:[20C[?12l[?25h os.chdir(path)
[?25l:[20C[?12l[?25helse:
[?25l:[20C[?12l[?25h cb.append(str(fnamemodify('.', ':p:h:t')))
[?25l:[20C[?12l[?25h cb.append(vim.eval('@%').replace(os.path.sep, '/'))
[?25l:[20C[?12l[?25hdel path
[?25l:[20C[?12l[?25hos.chdir('testdir')
[?25l:[20C[?12l[?25hcb.append(str(fnamemodify('.', ':p:h:t')))
[?25l:[20C[?12l[?25hcb.append(vim.eval('@%'))
[?25l:[20C[?12l[?25hdel fnamemodify
[?25l:[20C[?12l[?25hEOF
[?25l:[20C[?12l[?25h:"
[?25l:[20C[?12l[?25h:" Test errors
[?25l:[20C[?12l[?25h:fun F() dict
[?25l:[22C[?12l[?25h:endfun
[?25l:[22C[?12l[?25h:fun D()
[?25l:[24C[?12l[?25h:endfun
[?25l:[24C[?12l[?25hpy3 << EOF
[?25l:[24C[?12l[?25hd = vim.Dictionary()
[?25l:[24C[?12l[?25hned = vim.Dictionary(foo='bar', baz='abcD')
[?25l:[24C[?12l[?25hdl = vim.Dictionary(a=1)
[?25l:[24C[?12l[?25hdl.locked = True
[?25l:[24C[?12l[?25hl = vim.List()
[?25l:[24C[?12l[?25hll = vim.List('abcE')
[?25l:[24C[?12l[?25hll.locked = True
[?25l:[24C[?12l[?25hnel = vim.List('abcO')
[?25l:[24C[?12l[?25hf = vim.Function('string')
[?25l:[24C[?12l[?25hfd = vim.Function('F')
[?25l:[24C[?12l[?25hfdel = vim.Function('D')
[?25l:[24C[?12l[?25hvim.command('delfunction D')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hdef subexpr_test(expr, name, subexprs):
[?25l:[24C[?12l[?25h cb.append('>>> Testing %s using %s' % (name, expr)
[23;80H)[24;1H
[?25l:[24C[?12l[?25h for subexpr in subexprs:
[?25l:[24C[?12l[?25h ee(expr % subexpr)
[?25l:[24C[?12l[?25h cb.append('<<< Finished')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hdef stringtochars_test(expr):
[?25l:[24C[?12l[?25h return subexpr_test(expr, 'StringToChars', (
[?25l:[24C[?12l[?25h '1', # Fail type checks
[?25l:[24C[?12l[?25h 'b"\\0"', # Fail PyString_AsStringAndSize(obj
[23;80He[24;1Hct, , NULL) check
[?25l:[24C[?12l[?25h '"\\0"', # Fail PyString_AsStringAndSize(byt
[23;80He[24;1Hs, , NULL) check
[?25l:[24C[?12l[?25h ))
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass Mapping(object):
[?25l:[24C[?12l[?25h def __init__(self, d):
[?25l:[24C[?12l[?25h self.d = d
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def __getitem__(self, key):
[?25l:[24C[?12l[?25h return self.d[key]
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def keys(self):
[?25l:[24C[?12l[?25h return self.d.keys()
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def items(self):
[?25l:[24C[?12l[?25h return self.d.items()
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hdef convertfrompyobject_test(expr, recurse=True):
[?25l:[24C[?12l[?25h # pydict_to_tv
[?25l:[24C[?12l[?25h stringtochars_test(expr % '{%s : 1}')
[?25l:[24C[?12l[?25h if recurse:
[?25l:[24C[?12l[?25h convertfrompyobject_test(expr % '{"abcF" : %s}
[23;80H'[24;1H, False)
[?25l:[24C[?12l[?25h # pymap_to_tv
[?25l:[24C[?12l[?25h stringtochars_test(expr % 'Mapping({%s : 1})')
[?25l:[24C[?12l[?25h if recurse:
[?25l:[24C[?12l[?25h convertfrompyobject_test(expr % 'Mapping({"abc
[23;80HG[24;1H" : %s})', False)
[?25l:[24C[?12l[?25h # pyseq_to_tv
[?25l:[24C[?12l[?25h iter_test(expr)
[?25l:[24C[?12l[?25h return subexpr_test(expr, 'ConvertFromPyObject', (
[?25l:[24C[?12l[?25h 'None', # Not conversible
[?25l:[24C[?12l[?25h '{b"": 1}', # Empty key not allowe
[23;80Hd[24;1H
[?25l:[24C[?12l[?25h '{"": 1}', # Same, but with unico
[23;80Hd[24;1He object
[?25l:[24C[?12l[?25h 'FailingMapping()', #
[?25l:[24C[?12l[?25h 'FailingMappingKey()', #
[?25l:[24C[?12l[?25h 'FailingNumber()', #
[?25l:[24C[?12l[?25h ))
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hdef convertfrompymapping_test(expr):
[?25l:[24C[?12l[?25h convertfrompyobject_test(expr)
[?25l:[24C[?12l[?25h return subexpr_test(expr, 'ConvertFromPyMapping',
[23;80H([24;1H
[?25l:[24C[?12l[?25h '[]',
[?25l:[24C[?12l[?25h ))
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hdef iter_test(expr):
[?25l:[24C[?12l[?25h return subexpr_test(expr, '*Iter*', (
[?25l:[24C[?12l[?25h 'FailingIter()',
[?25l:[24C[?12l[?25h 'FailingIterNext()',
[?25l:[24C[?12l[?25h ))
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hdef number_test(expr, natural=False, unsigned=False):
[?25l:[24C[?12l[?25h if natural:
[?25l:[24C[?12l[?25h unsigned = True
[?25l:[24C[?12l[?25h return subexpr_test(expr, 'NumberToLong', (
[?25l:[24C[?12l[?25h '[]',
[?25l:[24C[?12l[?25h 'None',
[?25l:[24C[?12l[?25h ) + (('-1',) if unsigned else ())
[?25l:[24C[?12l[?25h + (('0',) if natural else ()))
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingTrue(object):
[?25l:[24C[?12l[?25h def __bool__(self):
[?25l:[24C[?12l[?25h raise NotImplementedError('bool')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingIter(object):
[?25l:[24C[?12l[?25h def __iter__(self):
[?25l:[24C[?12l[?25h raise NotImplementedError('iter')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingIterNext(object):
[?25l:[24C[?12l[?25h def __iter__(self):
[?25l:[24C[?12l[?25h return self
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def __next__(self):
[?25l:[24C[?12l[?25h raise NotImplementedError('next')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingIterNextN(object):
[?25l:[24C[?12l[?25h def __init__(self, n):
[?25l:[24C[?12l[?25h self.n = n
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def __iter__(self):
[?25l:[24C[?12l[?25h return self
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def __next__(self):
[?25l:[24C[?12l[?25h if self.n:
[?25l:[24C[?12l[?25h self.n -= 1
[?25l:[24C[?12l[?25h return 1
[?25l:[24C[?12l[?25h else:
[?25l:[24C[?12l[?25h raise NotImplementedError('next N')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingMappingKey(object):
[?25l:[24C[?12l[?25h def __getitem__(self, item):
[?25l:[24C[?12l[?25h raise NotImplementedError('getitem:mappingkey'
[23;80H)[24;1H
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def keys(self):
[?25l:[24C[?12l[?25h return list("abcH")
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingMapping(object):
[?25l:[24C[?12l[?25h def __getitem__(self):
[?25l:[24C[?12l[?25h raise NotImplementedError('getitem:mapping')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def keys(self):
[?25l:[24C[?12l[?25h raise NotImplementedError('keys')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingList(list):
[?25l:[24C[?12l[?25h def __getitem__(self, idx):
[?25l:[24C[?12l[?25h if i == 2:
[?25l:[24C[?12l[?25h raise NotImplementedError('getitem:list')
[?25l:[24C[?12l[?25h else:
[?25l:[24C[?12l[?25h return super(FailingList, self).__getitem_
[23;80H_[24;1H(idx)
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass NoArgsCall(object):
[?25l:[24C[?12l[?25h def __call__(self):
[?25l:[24C[?12l[?25h pass
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingCall(object):
[?25l:[24C[?12l[?25h def __call__(self, path):
[?25l:[24C[?12l[?25h raise NotImplementedError('call')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingNumber(object):
[?25l:[24C[?12l[?25h def __int__(self):
[?25l:[24C[?12l[?25h raise NotImplementedError('int')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hcb.append("> Output")
[?25l:[24C[?12l[?25hcb.append(">> OutputSetattr")
[?25l:[24C[?12l[?25hee('del sys.stdout.softspace')
[?25l:[24C[?12l[?25hnumber_test('sys.stdout.softspace = %s', unsigned=True
[23;80H)[24;1H
[?25l:[24C[?12l[?25hnumber_test('sys.stderr.softspace = %s', unsigned=True
[23;80H)[24;1H
[?25l:[24C[?12l[?25hee('assert sys.stdout.isatty()==False')
[?25l:[24C[?12l[?25hee('assert sys.stdout.seekable()==False')
[?25l:[24C[?12l[?25hee('sys.stdout.close()')
[?25l:[24C[?12l[?25hee('sys.stdout.flush()')
[?25l:[24C[?12l[?25hee('assert sys.stderr.isatty()==False')
[?25l:[24C[?12l[?25hee('assert sys.stderr.seekable()==False')
[?25l:[24C[?12l[?25hee('sys.stderr.close()')
[?25l:[24C[?12l[?25hee('sys.stderr.flush()')
[?25l:[24C[?12l[?25hee('sys.stdout.attr = None')
[?25l:[24C[?12l[?25hcb.append(">> OutputWrite")
[?25l:[24C[?12l[?25hee('assert sys.stdout.writable()==True')
[?25l:[24C[?12l[?25hee('assert sys.stdout.readable()==False')
[?25l:[24C[?12l[?25hee('assert sys.stderr.writable()==True')
[?25l:[24C[?12l[?25hee('assert sys.stderr.readable()==False')
[?25l:[24C[?12l[?25hee('assert sys.stdout.closed()==False')
[?25l:[24C[?12l[?25hee('assert sys.stderr.closed()==False')
[?25l:[24C[?12l[?25hee('assert sys.stdout.errors=="strict"')
[?25l:[24C[?12l[?25hee('assert sys.stderr.errors=="strict"')
[?25l:[24C[?12l[?25hee('assert sys.stdout.encoding==sys.stderr.encoding')
[?25l:[24C[?12l[?25hee('sys.stdout.write(None)')
[?25l:[24C[?12l[?25hcb.append(">> OutputWriteLines")
[?25l:[24C[?12l[?25hee('sys.stdout.writelines(None)')
[?25l:[24C[?12l[?25hee('sys.stdout.writelines([1])')
[?25l:[24C[?12l[?25hiter_test('sys.stdout.writelines(%s)')
[?25l:[24C[?12l[?25hcb.append("> VimCommand")
[?25l:[24C[?12l[?25hstringtochars_test('vim.command(%s)')
[?25l:[24C[?12l[?25hee('vim.command("", 2)')
[?25l:[24C[?12l[?25h#! Not checked: vim->python exceptions translating: ch
[23;80He[24;1Hcked later
[?25l:[24C[?12l[?25hcb.append("> VimToPython")
[?25l:[24C[?12l[?25h#! Not checked: everything: needs errors in internal p
[23;80Hy[24;1Hthon functions
[?25l:[24C[?12l[?25hcb.append("> VimEval")
[?25l:[24C[?12l[?25hstringtochars_test('vim.eval(%s)')
[?25l:[24C[?12l[?25hee('vim.eval("", FailingTrue())')
[?25l:[24C[?12l[?25h#! Not checked: everything: needs errors in internal p
[23;80Hy[24;1Hthon functions
[?25l:[24C[?12l[?25hcb.append("> VimEvalPy")
[?25l:[24C[?12l[?25hstringtochars_test('vim.bindeval(%s)')
[?25l:[24C[?12l[?25hee('vim.eval("", 2)')
[?25l:[24C[?12l[?25h#! Not checked: vim->python exceptions translating: ch
[23;80He[24;1Hcked later
[?25l:[24C[?12l[?25hcb.append("> VimStrwidth")
[?25l:[24C[?12l[?25hstringtochars_test('vim.strwidth(%s)')
[?25l:[24C[?12l[?25hcb.append("> VimForeachRTP")
[?25l:[24C[?12l[?25hee('vim.foreach_rtp(None)')
[?25l:[24C[?12l[?25hee('vim.foreach_rtp(NoArgsCall())')
[?25l:[24C[?12l[?25hee('vim.foreach_rtp(FailingCall())')
[?25l:[24C[?12l[?25hee('vim.foreach_rtp(int, 2)')
[?25l:[24C[?12l[?25hcb.append('> import')
[?25l:[24C[?12l[?25hold_rtp = vim.options['rtp']
[?25l:[24C[?12l[?25hvim.options['rtp'] = os.getcwd().replace('\\', '\\\\')
[23;80H.[24;1Hreplace(',', '\\,')
[?25l:[24C[?12l[?25hee('import xxx_no_such_module_xxx')
[?25l:[24C[?12l[?25hee('import failing_import')
[?25l:[24C[?12l[?25hee('import failing')
[?25l:[24C[?12l[?25hvim.options['rtp'] = old_rtp
[?25l:[24C[?12l[?25hdel old_rtp
[?25l:[24C[?12l[?25hcb.append("> Options")
[?25l:[24C[?12l[?25hcb.append(">> OptionsItem")
[?25l:[24C[?12l[?25hee('vim.options["abcQ"]')
[?25l:[24C[?12l[?25hee('vim.options[""]')
[?25l:[24C[?12l[?25hstringtochars_test('vim.options[%s]')
[?25l:[24C[?12l[?25hcb.append(">> OptionsContains")
[?25l:[24C[?12l[?25hstringtochars_test('%s in vim.options')
[?25l:[24C[?12l[?25hcb.append("> Dictionary")
[?25l:[24C[?12l[?25hcb.append(">> DictionaryConstructor")
[?25l:[24C[?12l[?25hee('vim.Dictionary("abcI")')
[?25l:[24C[?12l[?25h##! Not checked: py_dict_alloc failure
[?25l:[24C[?12l[?25hcb.append(">> DictionarySetattr")
[?25l:[24C[?12l[?25hee('del d.locked')
[?25l:[24C[?12l[?25hee('d.locked = FailingTrue()')
[?25l:[24C[?12l[?25hee('vim.vvars.locked = False')
[?25l:[24C[?12l[?25hee('d.scope = True')
[?25l:[24C[?12l[?25hee('d.xxx = True')
[?25l:[24C[?12l[?25hcb.append(">> _DictionaryItem")
[?25l:[24C[?12l[?25hee('d.get("a", 2, 3)')
[?25l:[24C[?12l[?25hstringtochars_test('d.get(%s)')
[?25l:[24C[?12l[?25hee('d.pop("a")')
[?25l:[24C[?12l[?25hee('dl.pop("a")')
[?25l:[24C[?12l[?25hcb.append(">> DictionaryContains")
[?25l:[24C[?12l[?25hee('"" in d')
[?25l:[24C[?12l[?25hee('0 in d')
[?25l:[24C[?12l[?25hcb.append(">> DictionaryIterNext")
[?25l:[24C[?12l[?25hee('for i in ned: ned["a"] = 1')
[?25l:[24C[?12l[?25hdel i
[?25l:[24C[?12l[?25hcb.append(">> DictionaryAssItem")
[?25l:[24C[?12l[?25hee('dl["b"] = 1')
[?25l:[24C[?12l[?25hstringtochars_test('d[%s] = 1')
[?25l:[24C[?12l[?25hconvertfrompyobject_test('d["a"] = %s')
[?25l:[24C[?12l[?25hcb.append(">> DictionaryUpdate")
[?25l:[24C[?12l[?25hcb.append(">>> kwargs")
[?25l:[24C[?12l[?25hcb.append(">>> iter")
[?25l:[24C[?12l[?25hee('d.update(FailingMapping())')
[?25l:[24C[?12l[?25hee('d.update([FailingIterNext()])')
[?25l:[24C[?12l[?25hee('d.update([FailingIterNextN(1)])')
[?25l:[24C[?12l[?25hiter_test('d.update(%s)')
[?25l:[24C[?12l[?25hconvertfrompyobject_test('d.update(%s)')
[?25l:[24C[?12l[?25hstringtochars_test('d.update(((%s, 0),))')
[?25l:[24C[?12l[?25hconvertfrompyobject_test('d.update((("a", %s),))')
[?25l:[24C[?12l[?25hcb.append(">> DictionaryPopItem")
[?25l:[24C[?12l[?25hee('d.popitem(1, 2)')
[?25l:[24C[?12l[?25hcb.append(">> DictionaryHasKey")
[?25l:[24C[?12l[?25hee('d.has_key()')
[?25l:[24C[?12l[?25hcb.append("> List")
[?25l:[24C[?12l[?25hcb.append(">> ListConstructor")
[?25l:[24C[?12l[?25hee('vim.List(1, 2)')
[?25l:[24C[?12l[?25hee('vim.List(a=1)')
[?25l:[24C[?12l[?25hiter_test('vim.List(%s)')
[?25l:[24C[?12l[?25hconvertfrompyobject_test('vim.List([%s])')
[?25l:[24C[?12l[?25hcb.append(">> ListItem")
[?25l:[24C[?12l[?25hee('l[1000]')
[?25l:[24C[?12l[?25hcb.append(">> ListAssItem")
[?25l:[24C[?12l[?25hee('ll[1] = 2')
[?25l:[24C[?12l[?25hee('l[1000] = 3')
[?25l:[24C[?12l[?25hcb.append(">> ListAssSlice")
[?25l:[24C[?12l[?25hee('ll[1:100] = "abcJ"')
[?25l:[24C[?12l[?25hiter_test('l[:] = %s')
[?25l:[24C[?12l[?25hee('nel[1:10:2] = "abcK"')
[?25l:[24C[?12l[?25hcb.append(repr(tuple(nel)))
[?25l:[24C[?12l[?25hee('nel[1:10:2] = "a"')
[?25l:[24C[?12l[?25hcb.append(repr(tuple(nel)))
[?25l:[24C[?12l[?25hee('nel[1:1:-1] = "a"')
[?25l:[24C[?12l[?25hcb.append(repr(tuple(nel)))
[?25l:[24C[?12l[?25hee('nel[:] = FailingIterNextN(2)')
[?25l:[24C[?12l[?25hcb.append(repr(tuple(nel)))
[?25l:[24C[?12l[?25hconvertfrompyobject_test('l[:] = [%s]')
[?25l:[24C[?12l[?25hcb.append(">> ListConcatInPlace")
[?25l:[24C[?12l[?25hiter_test('l.extend(%s)')
[?25l:[24C[?12l[?25hconvertfrompyobject_test('l.extend([%s])')
[?25l:[24C[?12l[?25hcb.append(">> ListSetattr")
[?25l:[24C[?12l[?25hee('del l.locked')
[?25l:[24C[?12l[?25hee('l.locked = FailingTrue()')
[?25l:[24C[?12l[?25hee('l.xxx = True')
[?25l:[24C[?12l[?25hcb.append("> Function")
[?25l:[24C[?12l[?25hcb.append(">> FunctionConstructor")
[?25l:[24C[?12l[?25hcb.append(">>> FunctionConstructor")
[?25l:[24C[?12l[?25hee('vim.Function("123")')
[?25l:[24C[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx")')
[?25l:[24C[?12l[?25hee('vim.Function("xxx#non#existent#function#xxx")')
[?25l:[24C[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx2", arg
[23;80Hs[24;1H=[])')
[?25l:[24C[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx3", sel
[23;80Hf[24;1H={})')
[?25l:[24C[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx4", arg
[23;80Hs[24;1H=[], self={})')
[?25l:[24C[?12l[?25hcb.append(">>> FunctionNew")
[?25l:[24C[?12l[?25hee('vim.Function("tr", self="abcFuncSelf")')
[?25l:[24C[?12l[?25hee('vim.Function("tr", args=427423)')
[?25l:[24C[?12l[?25hee('vim.Function("tr", self="abcFuncSelf2", args="abcF
[23;80Hu[24;1HncArgs2")')
[?25l:[24C[?12l[?25hee('vim.Function(self="abcFuncSelf2", args="abcFuncArg
[23;80Hs[24;1H2")')
[?25l:[24C[?12l[?25hee('vim.Function("tr", "", self="abcFuncSelf2", args="
[23;80Ha[24;1HbcFuncArgs2")')
[?25l:[24C[?12l[?25hee('vim.Function("tr", "")')
[?25l:[24C[?12l[?25hcb.append(">> FunctionCall")
[?25l:[24C[?12l[?25hconvertfrompyobject_test('f(%s)')
[?25l:[24C[?12l[?25hconvertfrompymapping_test('fd(self=%s)')
[?25l:[24C[?12l[?25hcb.append("> TabPage")
[?25l:[24C[?12l[?25hcb.append(">> TabPageAttr")
[?25l:[24C[?12l[?25hee('vim.current.tabpage.xxx')
[?25l:[24C[?12l[?25hcb.append("> TabList")
[?25l:[24C[?12l[?25hcb.append(">> TabListItem")
[?25l:[24C[?12l[?25hee('vim.tabpages[1000]')
[?25l:[24C[?12l[?25hcb.append("> Window")
[?25l:[24C[?12l[?25hcb.append(">> WindowAttr")
[?25l:[24C[?12l[?25hee('vim.current.window.xxx')
[?25l:[24C[?12l[?25hcb.append(">> WindowSetattr")
[?25l:[24C[?12l[?25hee('vim.current.window.buffer = 0')
[?25l:[24C[?12l[?25hee('vim.current.window.cursor = (100000000, 100000000)
[23;80H'[24;1H)
[?25l:[24C[?12l[?25hee('vim.current.window.cursor = True')
[?25l:[24C[?12l[?25hnumber_test('vim.current.window.height = %s', unsigned
[23;80H=[24;1HTrue)
[?25l:[24C[?12l[?25hnumber_test('vim.current.window.width = %s', unsigned=
[23;80HT[24;1Hrue)
[?25l:[24C[?12l[?25hee('vim.current.window.xxxxxx = True')
[?25l:[24C[?12l[?25hcb.append("> WinList")
[?25l:[24C[?12l[?25hcb.append(">> WinListItem")
[?25l:[24C[?12l[?25hee('vim.windows[1000]')
[?25l:[24C[?12l[?25hcb.append("> Buffer")
[?25l:[24C[?12l[?25hcb.append(">> StringToLine (indirect)")
[?25l:[24C[?12l[?25hee('vim.current.buffer[0] = "\\na"')
[?25l:[24C[?12l[?25hee('vim.current.buffer[0] = b"\\na"')
[?25l:[24C[?12l[?25hcb.append(">> SetBufferLine (indirect)")
[?25l:[24C[?12l[?25hee('vim.current.buffer[0] = True')
[?25l:[24C[?12l[?25hcb.append(">> SetBufferLineList (indirect)")
[?25l:[24C[?12l[?25hee('vim.current.buffer[:] = True')
[?25l:[24C[?12l[?25hee('vim.current.buffer[:] = ["\\na", "bc"]')
[?25l:[24C[?12l[?25hcb.append(">> InsertBufferLines (indirect)")
[?25l:[24C[?12l[?25hee('vim.current.buffer.append(None)')
[?25l:[24C[?12l[?25hee('vim.current.buffer.append(["\\na", "bc"])')
[?25l:[24C[?12l[?25hee('vim.current.buffer.append("\\nbc")')
[?25l:[24C[?12l[?25hcb.append(">> RBItem")
[?25l:[24C[?12l[?25hee('vim.current.buffer[100000000]')
[?25l:[24C[?12l[?25hcb.append(">> RBAsItem")
[?25l:[24C[?12l[?25hee('vim.current.buffer[100000000] = ""')
[?25l:[24C[?12l[?25hcb.append(">> BufferAttr")
[?25l:[24C[?12l[?25hee('vim.current.buffer.xxx')
[?25l:[24C[?12l[?25hcb.append(">> BufferSetattr")
[?25l:[24C[?12l[?25hee('vim.current.buffer.name = True')
[?25l:[24C[?12l[?25hee('vim.current.buffer.xxx = True')
[?25l:[24C[?12l[?25hcb.append(">> BufferMark")
[?25l:[24C[?12l[?25hee('vim.current.buffer.mark(0)')
[?25l:[24C[?12l[?25hee('vim.current.buffer.mark("abcM")')
[?25l:[24C[?12l[?25hee('vim.current.buffer.mark("!")')
[?25l:[24C[?12l[?25hcb.append(">> BufferRange")
[?25l:[24C[?12l[?25hee('vim.current.buffer.range(1, 2, 3)')
[?25l:[24C[?12l[?25hcb.append("> BufMap")
[?25l:[24C[?12l[?25hcb.append(">> BufMapItem")
[?25l:[24C[?12l[?25hee('vim.buffers[100000000]')
[?25l:[24C[?12l[?25hnumber_test('vim.buffers[%s]', natural=True)
[?25l:[24C[?12l[?25hcb.append("> Current")
[?25l:[24C[?12l[?25hcb.append(">> CurrentGetattr")
[?25l:[24C[?12l[?25hee('vim.current.xxx')
[?25l:[24C[?12l[?25hcb.append(">> CurrentSetattr")
[?25l:[24C[?12l[?25hee('vim.current.line = True')
[?25l:[24C[?12l[?25hee('vim.current.buffer = True')
[?25l:[24C[?12l[?25hee('vim.current.window = True')
[?25l:[24C[?12l[?25hee('vim.current.tabpage = True')
[?25l:[24C[?12l[?25hee('vim.current.xxx = True')
[?25l:[24C[?12l[?25hdel d
[?25l:[24C[?12l[?25hdel ned
[?25l:[24C[?12l[?25hdel dl
[?25l:[24C[?12l[?25hdel l
[?25l:[24C[?12l[?25hdel ll
[?25l:[24C[?12l[?25hdel nel
[?25l:[24C[?12l[?25hdel f
[?25l:[24C[?12l[?25hdel fd
[?25l:[24C[?12l[?25hdel fdel
[?25l:[24C[?12l[?25hdel subexpr_test
[?25l:[24C[?12l[?25hdel stringtochars_test
[?25l:[24C[?12l[?25hdel Mapping
[?25l:[24C[?12l[?25hdel convertfrompyobject_test
[?25l:[24C[?12l[?25hdel convertfrompymapping_test
[?25l:[24C[?12l[?25hdel iter_test
[?25l:[24C[?12l[?25hdel number_test
[?25l:[24C[?12l[?25hdel FailingTrue
[?25l:[24C[?12l[?25hdel FailingIter
[?25l:[24C[?12l[?25hdel FailingIterNext
[?25l:[24C[?12l[?25hdel FailingIterNextN
[?25l:[24C[?12l[?25hdel FailingMapping
[?25l:[24C[?12l[?25hdel FailingMappingKey
[?25l:[24C[?12l[?25hdel FailingList
[?25l:[24C[?12l[?25hdel NoArgsCall
[?25l:[24C[?12l[?25hdel FailingCall
[?25l:[24C[?12l[?25hdel FailingNumber
[?25l:[24C[?12l[?25hEOF
[?25l:[24C[?12l[?25h:delfunction F
[?25l:[24C[?12l[?25h:"
[?25l:[24C[?12l[?25h:" Test import
[?25l:[24C[?12l[?25hpy3 << EOF
[?25l:[24C[?12l[?25hsys.path.insert(0, os.path.join(os.getcwd(), 'python_b
[23;80He[24;1Hfore'))
[?25l:[24C[?12l[?25hsys.path.append(os.path.join(os.getcwd(), 'python_afte
[23;80Hr[24;1H'))
[?25l:[24C[?12l[?25hvim.options['rtp'] = os.getcwd().replace(',', '\\,').r
[23;80He[24;1Hplace('\\', '\\\\')
[?25l:[24C[?12l[?25hl = []
[?25l:[24C[?12l[?25hdef callback(path):
[?25l:[24C[?12l[?25h l.append(os.path.relpath(path))
[?25l:[24C[?12l[?25hvim.foreach_rtp(callback)
[?25l:[24C[?12l[?25hcb.append(repr(l))
[?25l:[24C[?12l[?25hdel l
[?25l:[24C[?12l[?25hdef callback(path):
[?25l:[24C[?12l[?25h return os.path.relpath(path)
[?25l:[24C[?12l[?25hcb.append(repr(vim.foreach_rtp(callback)))
[?25l:[24C[?12l[?25hdel callback
[?25l:[24C[?12l[?25hfrom module import dir as d
[?25l:[24C[?12l[?25hfrom modulex import ddir
[?25l:[24C[?12l[?25hcb.append(d + ',' + ddir)
[?25l:[24C[?12l[?25himport before
[?25l:[24C[?12l[?25hcb.append(before.dir)
[?25l:[24C[?12l[?25himport after
[?25l:[24C[?12l[?25hcb.append(after.dir)
[?25l:[24C[?12l[?25himport topmodule as tm
[?25l:[24C[?12l[?25himport topmodule.submodule as tms
[?25l:[24C[?12l[?25himport topmodule.submodule.subsubmodule.subsubsubmodul
[23;80He[24;1H as tmsss
[?25l:[24C[?12l[?25hcb.append(tm.__file__.replace(os.path.sep, '/')[-len('
[23;80Hm[24;1Hodulex/topmodule/__init__.py'):])
[?25l:[24C[?12l[?25hcb.append(tms.__file__.replace(os.path.sep, '/')[-len(
[23;80H'[24;1Hmodulex/topmodule/submodule/__init__.py'):])
[?25l:[24C[?12l[?25hcb.append(tmsss.__file__.replace(os.path.sep, '/')[-le
[23;80Hn[24;1H('modulex/topmodule/submodule/subsubmodule/subsubsubmodule.py'):])
[?25l:[24C[?12l[?25hdel before
[?25l:[24C[?12l[?25hdel after
[?25l:[24C[?12l[?25hdel d
[?25l:[24C[?12l[?25hdel ddir
[?25l:[24C[?12l[?25hdel tm
[?25l:[24C[?12l[?25hdel tms
[?25l:[24C[?12l[?25hdel tmsss
[?25l:[24C[?12l[?25hEOF
[?25l:[24C[?12l[?25h:"
[?25l:[24C[?12l[?25h:" Test exceptions
[?25l:[24C[?12l[?25h:fun Exe(e)
[?25l:[26C[?12l[?25h: execute a:e
[?25l:[26C[?12l[?25h:endfun
[?25l:[26C[?12l[?25hpy3 << EOF
[?25l:[26C[?12l[?25hExe = vim.bindeval('function("Exe")')
[?25l:[26C[?12l[?25hee('vim.command("throw \'abcN\'")')
[?25l:[26C[?12l[?25hee('Exe("throw \'def\'")')
[?25l:[26C[?12l[?25hee('vim.eval("Exe(\'throw \'\'ghi\'\'\')")')
[?25l:[26C[?12l[?25hee('vim.eval("Exe(\'echoerr \'\'jkl\'\'\')")')
[?25l:[26C[?12l[?25hee('vim.eval("Exe(\'xxx_non_existent_command_xxx\')"
[23;80H)[24;1H')
[?25l:[26C[?12l[?25hee('vim.eval("xxx_unknown_function_xxx()")')
[?25l:[26C[?12l[?25hee('vim.bindeval("Exe(\'xxx_non_existent_command_xxx
[23;80H\[24;1H')")')
[?25l:[26C[?12l[?25hdel Exe
[?25l:[26C[?12l[?25hEOF
[?25l:[26C[?12l[?25h:delfunction Exe
[?25l:[26C[?12l[?25h:"
[?25l:[26C[?12l[?25h:" Regression: interrupting vim.command propagates t
[23;80Ho[24;1H next vim.command
[?25l:[26C[?12l[?25hpy3 << EOF
[?25l:[26C[?12l[?25hdef test_keyboard_interrupt():
[?25l:[26C[?12l[?25h try:
[?25l:[26C[?12l[?25h vim.command('while 1 | endwhile')
[?25l:[26C[?12l[?25h except KeyboardInterrupt:
[?25l:[26C[?12l[?25h cb.append('Caught KeyboardInterrupt')
[?25l:[26C[?12l[?25h except Exception:
[?25l:[26C[?12l[?25h cb.append('!!!!!!!! Caught exception: ' + em
[23;80Hs[24;1Hg(sys.exc_info()))
[?25l:[26C[?12l[?25h else:
[?25l:[26C[?12l[?25h cb.append('!!!!!!!! No exception')
[?25l:[26C[?12l[?25h try:
[?25l:[26C[?12l[?25h vim.command('$ put =\'Running :put\'')
[?25l:[26C[?12l[?25h except KeyboardInterrupt:
[?25l:[26C[?12l[?25h cb.append('!!!!!!!! Caught KeyboardInterrupt
[23;80H'[24;1H)
[?25l:[26C[?12l[?25h except Exception:
[?25l:[26C[?12l[?25h cb.append('!!!!!!!! Caught exception: ' + em
[23;80Hs[24;1Hg(sys.exc_info()))
[?25l:[26C[?12l[?25h else:
[?25l:[26C[?12l[?25h cb.append('No exception')
[?25l:[26C[?12l[?25hEOF
[?25l:[26C[?12l[?25h:debuggreedy
[?25l:[26C[?12l[?25h:call inputsave()
[?25l:[26C[?12l[?25h:call feedkeys("s\ns\ns\ns\nq\n")
[?25l:[26C[?12l[?25h:redir => output
[?25l:[26C[?12l[?25h:debug silent! py3 test_keyboard_interrupt()
[?25l:[26C[?12l[?25h:redir END
[?25l:[26C[?12l[?25h:0 debuggreedy
[?25l:[26C[?12l[?25h:call inputrestore()
[?25l:[26C[?12l[?25h:silent $put =output
[?25l:[26C[?12l[?25h:unlet output
[?25l:[26C[?12l[?25h:py3 del test_keyboard_interrupt
[?25l:[26C[?12l[?25h:"
[?25l:[26C[?12l[?25h:" Cleanup
[?25l:[26C[?12l[?25hpy3 << EOF
[?25l:[26C[?12l[?25hdel cb
[?25l:[26C[?12l[?25hdel ee
[?25l:[26C[?12l[?25hdel emsg
[?25l:[26C[?12l[?25hdel sys
[?25l:[26C[?12l[?25hdel os
[?25l:[26C[?12l[?25hdel vim
[?25l:[26C[?12l[?25hEOF
[?25l:[26C[?12l[?25h:endfun
[27m[23m[m[H[2J[?25l[1;1H: call Test()
: if i == 0
:[7Clet 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:[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[17L[?25l[1;1H: call Test()
: if i == 0
:[7Clet 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[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall RunTest()
[?25l8 more lin[24;13H[K[24;1H
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
[1m[37m[41mError detected while processing function RunTest[8]..Test:[m
[33mline 1106:[m
[1m[37m[41mabc9def[m
abcA
[33mline 1108:[m
[1m[37m[41mabcB[m
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
[27m[23m[m[H[2J[1;1H['.']
'.'
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[13;1H',))
vim.eval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error('Vimm[15;1H:E492: Not an editor command: xxx_non_existent_command_xxx',))
vim.eval("xxx_unknown_function_xxx()"):(<class 'vim.error'>, error('Vim:E117: Unn[17;1Hknown function: xxx_unknown_function_xxx',))
vim.bindeval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error(([19;1H'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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction RunTest
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction Test
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test12.in" 52 lines, 1199 characters[1;1HTests 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/[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for 'directory' option.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 40 lines, 965 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:!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[18;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset dir=.,~
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/start of testfile/,/end of testfile/w! Xtest1
[?25l"Xtest1" [24;10H[K[24;10H[New] 4L, 70C written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" do an ls of the current dir to find the swap file (should not be there)
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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=[24;1H
[?25l: :[?12l[?25helse
[?25l: [?12l[?25h: r !ls X*.swp >test.out
[?25l: [?12l[?25h:endif
[?25l[24;1H[K[24;1H:[?12l[?25h!echo first line >>test.out
[?25l[28C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25he Xtest1
[?25l"Xtest1" 4L, 70C[27m[23m[m[H[2J[1;1Hstart of testfile
line 2 Abcdefghij
line 3 Abcdefghij
end of testfile
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H"Xtest1" 4L, 70C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[m
[?25l: [?12l[?25h: s/\.*X/X/
[?25l: [?12l[?25h: .w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 11C appended
: [?12l[?25h: undo
[?25l1 line less; before #1 1 seconds ago
: [?12l[?25h:else
[?25l: [?12l[?25h: !ls X*.swp >>test.out
[?25l: [?12l[?25h:endif
[27m[23m[m[H[2J[?25l[1;1Hstart of testfile
line 2 Abcdefghij
line 3 Abcdefghij
end of testfile
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h!echo under Xtest1.swp >>test.out
[?25l[34C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir Xtest2
[?25l[14C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25hset dir=./Xtest2,.,~
[?25l[27m[23m[m[H[2J[1;1Hstart of testfile
line 2 Abcdefghij
line 3 Abcdefghij
end of testfile
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25he Xtest1
[?25l"Xtest1" 4L, 70C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!ls X*.swp >>test.out
[?25l[22C[?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[24;1H[K[24;1H:[?12l[?25h!echo under under >>test.out
[?25l[29C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!ls Xtest2 >>test.out
[?25l[22C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!echo under Xtest1.swp >>test.out
[?25l[34C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir Xtest.je
[?25l[16C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h/start of testfile/,/end of testfile/w! Xtest2/Xtest3
[?25l[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[24;1H"Xtest2/Xtest3" [24;17H[K[24;17H[New] 4L, 70C written[27m[23m[m[H[2J[1;1Hstart of testfile
line 2 Abcdefghij
line 3 Abcdefghij
end of testfile
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H"Xtest2/Xtest3" [New] 4L, 70C written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset dir=Xtest.je,~
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtest2/Xtest3
[?25l"Xtest2/Xtest3" 4L, 70C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hswap
[?25lXtest.je/Xtest3.swp[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!ls Xtest2 >>test.out
[?25l[22C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!echo under Xtest3 >>test.out
[?25l[30C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!ls Xtest.je >>test.out
[?25l[24C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!echo under Xtest3.swp >>test.out
[?25l[34C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test25.in" 31 lines, 840 characters[1;1HTest 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[34m^][m x:.w! test.out
:!rm -f test25.dir tags.test
:qa!
ENDTEST[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 540 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Create a link from test25.dir to the current directory.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!rm -f test25.dir
[?25l[18C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!ln -s . test25.dir
[?25l[20C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h" Create tags.text, with the current directory name inserted.
[?25l[27m[23m[m[H[2J[1;1HTest 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[34m^][m x:.w! test.out
:!rm -f test25.dir tags.test
:qa!
ENDTEST
[?12l[?25h[?25l
/[?12l[?25htags line
[?25l[1;2Hhis only works for Unix, because of the symbolic link.[1;56H[K[2;1H[K[3;1HSTARTTEST
:so small.vim
:set hidden[5;12H[K[6;2H" Create a link from test25.dir to the current directory.
:!rm -f test25.dir[7;19H[K[8;3Hln -s . test25.dir
:" Create tags.text, with the current directory name inserted.
/tags line[10;11H[K[11;1H:r !pwd[11;8H[K[12;1Hd$/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[17;20H[K[18;1HG[34m^][m x:.w! test.out[18;19H[K[19;1H:!rm -f test25.dir tags.test
:qa![20;6H[K[21;1HENDTEST[22;1H[K[23;1Htags line:
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hr !pwd
[?25l[?12l[?25h[27m[23m[m[H[2J[?25l[2;1HSTARTTEST
: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[34m^][m x:.w! test.out
:!rm -f test25.dir tags.test
:qa!
ENDTEST
tags line:
/<<PKGBUILDDIR>>/src/vim-athena/testdir
[?12l[?25h[?25l[23;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25htest
[?25l[1;23r[23;1H
[1;24r[23;1HSECTION_OFF /test25.dir/test25.in /^#define SECTION_OFF 3$/[24;1H[K[23;18H[?12l[?25h[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir/test25.dir[23;1H[1m[34m@ [1;23r[m[23;1H
[1;24r[22;1HSECTION_OFF /<<PKGBUILDDIR>>/src/vim-athena/testdir/test25.dirr[23;1H/test25.in /^#define SECTION_OFF 3$/[22;69H[?12l[?25h[?25l
:[?12l[?25h.w! tags.test
[?25l"tags.test" [24;13H[K[24;13H[New File] 1 line, 115 characters written[22;69H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Try jumping to a tag in the current file, but with a path that contains a
[?25l[22;69H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" symbolic link. When wrong, this will give the ATTENTION message. The next
[?25l[22;69H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" space will then be eaten by hit-return, instead of moving the cursor to 'd'.
[?25l[22;69H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tags=tags.test
[?25l[22;69H[?12l[?25h[?25l[1;23r[1;1H[6M[1;24r[19;1H/*tx.c*/
#define SECTION_OFF 3
#define NUM_SECTIONS 3
SECTION_OFF[24;1H[K[23;1H[?12l[?25h[20;1H#[?25lefine SECTION_OFF 3[20;23H[K[20;2H[?12l[?25h[?25l[24;1H:[?12l[?25h.w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 23 characters written[20;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!rm -f test25.dir tags.test
[?25l[28C[?1l>[?12l[?25h[?1049l
[No write since last change]
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test49.in" 32 lines, 705 characters[1;1HThis 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HThis is a test of the script language.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 23 lines, 475 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[7M[1;24r[17;1H:endfor
:for v in keys(g:)
: silent! exe "unlet " . v
:endfor
:unlet v
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hse nocp nomore viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang mess C
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso test49.vim
[?25l[1m[37m[41mError detected while processing function F:[m
[33mline 5:[m
[1m[37m[41mE583: multiple :else: else^I^I[m
[1m[37m[41mError detected while processing function G:[m
[33mline 5:[m
[1m[37m[41mE584: :elseif after :else: elseif 1^I^I" aborts function[m
[1m[37m[41mError detected while processing function H:[m
[33mline 7:[m
[1m[37m[41mE583: multiple :else: else^I^I[m
[1m[37m[41mError detected while processing function I:[m
[33mline 7:[m
[1m[37m[41mE584: :elseif after :else: elseif 1^I^I" aborts function[m
*** Test 16: OK (8722)
[1m[37m[41mError detected while processing function F:[m
[33mline 18:[m
[1m[37m[41mE171: Missing :endif: endwhile^I[m
[1m[37m[41mE171: Missing :endif: endwhile^I[m
[33mline 34:[m
[1m[37m[41mE171: Missing :endif: endwhile^I[m
[1m[37m[41mE171: Missing :endif: endwhile^I[m
[1m[37m[41mE171: Missing :endif: endwhile^I[m
[33mline 47:[m
[1m[37m[41mE580: :endif without :if: ^Iendif^I[m
[1m[37m[41mE580: :endif without :if: ^Iendif^I[m
[1m[37m[41mE580: :endif without :if: ^Iendif^I[m
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-athena/t[m
[23;80H[1m[37m[41me[24;1Hstdir/test49.vim:[m
[33mline 784:[m
[1m[37m[41mE171: Missing :endif: endwhile [m
*** Test 17: OK (285127993)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"/tmp/vijTzUc/0" [24;18H[Kcd 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-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
[24;18H[New] 53L, 1582C written[24;18H[K[24;18H14L, 358C appended[24;18H[K[24;18H26L, 824C appended[24;18H[K[24;18H34L, 986C appended
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/1[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/1" [24;18H[K[24;18H16L, 304C appended[24;18H[K[24;18H17L, 326C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/2[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/2"' -c 'breakad
[23;80Hd[24;2Hfile 8 /tmp/vijTzUc/1' -S /tmp/vijTzUc/1[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/2" [24;18H[K[24;18H3L, 6C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/3[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/3" [24;18H[K[24;18H6L, 127C appended[24;18H[K[24;18H7L, 149C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/4[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/4"' -c 'breakad
[23;80Hd[24;2Hfile 4 /tmp/vijTzUc/3' -S /tmp/vijTzUc/3[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/4" [24;18H[K[24;18H1L, 5C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/5[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/5" [24;18H[K[24;18H21L, 486C appended[24;18H[K[24;18H22L, 508C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/6[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/6"' -c 'breakad
[23;80Hd[24;2Hfunc 7 F' -S /tmp/vijTzUc/5[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/6" [24;18H[K[24;18H3L, 18C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/7[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/7" [24;18H[K[24;18H13L, 364C appended[24;18H[K[24;18H14L, 386C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/8[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/8"' -c 'breakad
[23;80Hd[24;2Hfunc 3 G' -S /tmp/vijTzUc/7[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/8" [24;18H[K[24;18H1L, 9C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 18: OK (67224583)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/9[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/9" [24;18H[K[24;18H12L, 201C appended[24;18H[K[24;18H13L, 223C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/10[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/10"' -S /tmp/vijTz
[23;80HU[24;1Hc/9[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/10" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/11[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/11" [24;19H[K[24;19H12L, 205C appended[24;19H[K[24;19H13L, 227C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/12[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/12"' -S /tmp/vijTz
[23;80HU[24;1Hc/11[?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[24;1H"/tmp/vijTzUc/12" 2L, 7C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/13[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/13" [24;19H[K1423 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
[24;19H6L, 122C appended[24;19H[K[24;19H7L, 144C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/14[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/14"' -S /tmp/vijTz
[23;80HU[24;1Hc/13[?1l>[?12l[?25h[?1049l
1916 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o es.mo es.po
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/14" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/15[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/15" [24;19H[K1733 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
[24;19H8L, 176C appended[24;19H[K[24;19H9L, 198C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/16[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/16"' -S /tmp/vijTz
[23;80HU[24;1Hc/15[?1l>[?12l[?25h[?1049l
1897 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o ja.mo ja.po
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/16" 1L, 6C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/17[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/17" [24;19H[K1918 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
[24;19H10L, 215C appended[24;19H[K[24;19H11L, 237C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/18[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/18"' -S /tmp/vijTz
[23;80HU[24;1Hc/17[?1l>[?12l[?25h[?1049l
1213 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o no.mo no.po
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/18" 1L, 8C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/19[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/19" [24;19H[K1668 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
[24;19H7L, 149C appended[24;19H[K[24;19H8L, 171C[24;19H[K1882 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
[24;19H8L, 170C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/20[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/20"' -S /tmp/vijTz
[23;80HU[24;1Hc/19[?1l>[?12l[?25h[?1049l
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[24;1H"/tmp/vijTzUc/20" 1L, 9C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 19: OK (69275973)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/21[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/21" [24;19H[K1882 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
[24;19H9L, 135C appended[24;19H[K[24;19H10L, 157C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/22[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/22"' -S /tmp/vijTz
[23;80HU[24;1Hc/21[?1l>[?12l[?25h[?1049l
1918 translated messages.
OLD_PO_FILE_INPUT=yes msgfmt -v -o zh_CN.cp936.mo zh_CN.cp936.po
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/22" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/23[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/23" [24;19H[K1633 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
[24;19H10L, 155C appended[24;19H[K[24;19H11L, 177C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/24[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/24"' -S /tmp/vijTz
[23;80HU[24;1Hc/23[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/24" 3L, 8C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/25[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/25" [24;19H[K[24;19H12L, 204C appended[24;19H[K[24;19H13L, 226C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/26[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/26"' -S /tmp/vijTz
[23;80HU[24;1Hc/25[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/26" 4L, 18C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/27[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/27" [24;19H[K[24;19H12L, 214C appended[24;19H[K[24;19H13L, 236C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/28[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/28"' -S /tmp/vijTz
[23;80HU[24;1Hc/27[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/28" 4L, 22C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/29[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/29" [24;19H[K[24;19H12L, 211C appended[24;19H[K[24;19H13L, 233C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/30[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/30"' -S /tmp/vijTz
[23;80HU[24;1Hc/29[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/30" 3L, 22C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/31[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/31" [24;19H[K[24;19H14L, 263C appended[24;19H[K[24;19H15L, 285C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/32[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/32"' -S /tmp/vijTz
[23;80HU[24;1Hc/31[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/32" 4L, 34C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/33[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/33" [24;19H[K[24;19H14L, 277C appended[24;19H[K[24;19H15L, 299C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/34[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/34"' -S /tmp/vijTz
[23;80HU[24;1Hc/33[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/34" 4L, 40C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 20: OK (1874575085)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/35[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/35" [24;19H[K[24;19H58L, 1022C appended[24;19H[K[24;19H59L, 1044C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/36[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/36"' -S /tmp/vijTz
[23;80HU[24;1Hc/35[?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
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/36" 9L, 56C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 21: OK (147932225)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/37[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/37" [24;19H[K[24;19H23L, 418C appended[24;19H[K[24;19H24L, 440C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/38[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/38"' -S /tmp/vijTz
[23;80HU[24;1Hc/37[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/38" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/39[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/39" [24;19H[K[24;19H23L, 437C appended[24;19H[K[24;19H24L, 459C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/40[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/40"' -c 'breaka
[23;80Hd[24;1Hd func 2 Interrupt' -S /tmp/vijTzUc/39[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/40" [24;19H[K[24;19H1L, 3C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/41[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/41" [24;19H[K[24;19H21L, 386C appended[24;19H[K[24;19H22L, 408C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/42[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/42"' -S /tmp/vijTz
[23;80HU[24;1Hc/41[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/42" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 22: OK (4161)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/43[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/43" [24;19H[K[24;19H25L, 432C appended[24;19H[K[24;19H26L, 454C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/44[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/44"' -S /tmp/vijTz
[23;80HU[24;1Hc/43[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/44" 3L, 8C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 23: OK (49)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/45[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/45" [24;19H[K[24;19H16L, 392C appended[24;19H[K[24;19H17L, 414C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/46[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/46"' -S /tmp/vijTz
[23;80HU[24;1Hc/45[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/46" 3L, 7C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 24: OK (41)
*** Test 25: OK (260177811)
*** Test 26: OK (1681500476)
*** Test 27: OK (1996459)
function F()
1 try
2[10CXpath 1[33C" X: 1
3[10Ctry
4[14CXpath 2[29C" X: 2
5[14Creturn
6[14CXpath 4[29C" X: 0
7[10Cfinally
8[14CXpath 8[29C" X: 8
9[10Cendtry
10[9CXpath 16[32C" X: 0
11 finally
12[9CXpath 32[32C" X: 32
13 endtry
14 Xpath 64[36C" X: 0
endfunction[9;1H"/tmp/vijTzUc/47"[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[9;19H[noeol] 17L, 552C
14 substitutions on 14 lines
Pattern not found: ^\s*$
"/tmp/vijTzUc/47" [11;20H[K[11;19H14L, 502C written
"test49.in" [11;13H[K[11;13H32L, 705C
function G()
1 try
2[10CXpath 128[31C" X: 128
3[10Creturn
4[10CXpath 256[31C" X: 0
5 finally
6[10CXpath 512[31C" X: 512
7[10Ccall F()
8[10CXpath 1024[30C" X: 1024
9 endtry
10 Xpath 2048[34C" X: 0
endfunction[12;1H"/tmp/vijTzUc/48"[13;1H[K[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;4H[K[12;19H[noeol] 13L, 406C
10 substitutions on 10 lines
Pattern not found: ^\s*$
"/tmp/vijTzUc/48" [14;20H[K[14;19H10L, 378C written
"test49.in" [14;13H[K[14;13H32L, 705C
function H()
1 try
2[10CXpath 4096[30C" X: 4096
3[10Ccall G()
4[10CXpath 8192[30C" X: 8192
5 finally
6[10CXpath 16384[29C" X: 16384
7[10Creturn
8[10CXpath 32768[29C" X: 0
9 endtry
10 Xpath 65536[33C" X: 0
endfunction[13;1H"/tmp/vijTzUc/49"[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[13;19H[noeol] 13L, 409C
10 substitutions on 10 lines
Pattern not found: ^\s*$
"/tmp/vijTzUc/49" [15;20H[K[15;19H10L, 381C written
"test49.in" [15;13H[K[15;13H32L, 705C
*** Test 28: OK (1996459)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim" [readonly] 90[17;1H08L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/50[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[18;1H[K[18;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/50" [18;19H[K[18;19H39L, 721C appended[18;19H[K[18;19H40L, 743C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim" [readonly] 90[19;1H08L, 206669C
:!>/tmp/vijTzUc/51[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[21;1H:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'l[22;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/51"' -S /tmp/vijTzU[23;1Hc/50[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[23;1H"/tmp/vijTzUc/51" 6L, 21C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim" [readonly] 90[24;1H08L, 206669C[23;2Htest49.in" [23;13H[K[24;1H[K[23;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim" [readonly] 90[24;1H08L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/52[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/52" [24;19H[K[24;19H23L, 509C appended[24;19H[K[24;19H24L, 531C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/53[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/53"' -S /tmp/vijTz
[23;80HU[24;1Hc/52[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/53" 4L, 34C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 29: OK (170428555)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/54[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/54" [24;19H[K[24;19H60L, 1101C appended[24;19H[K[24;19H61L, 1123C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/55[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nv
[23;80Hi[24;1Hminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/55"' -
[23;80Hc[24;2H'breakadd func 3 F' -c 'breakadd file 19 /tmp/vijTzUc/54' -c 'breakadd file 31
/tmp/vijTzUc/54' -S /tmp/vijTzUc/54[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/55" [24;19H[K[24;19H16L, 89C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 30: OK (190905173)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/56[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/56" [24;19H[K[24;19H60L, 1122C appended[24;19H[K[24;19H61L, 1144C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/57[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/57"' -S /tmp/vijTz
[23;80HU[24;1Hc/56[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/57" 16L, 89C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 31: OK (190905173)
*** Test 32: OK (354833067)
*** Test 33: OK (1216907538)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/58[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/58" [24;19H[K[24;19H63L, 1288C appended[24;19H[K[24;19H64L, 1310C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/59[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi
[23;80Hm[24;1Hinfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTz
[23;80HU[24;1Hc/59"' -c 'breakadd func 16 C' -S /tmp/vijTzUc/58[?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/blowfish.o blowfish.c
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/59" [24;19H[K[24;19H17L, 127C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 34: OK (2146584868)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/60[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/60" [24;19H[K[24;19H63L, 1285C appended[24;19H[K[24;19H64L, 1307C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/61[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi
[23;80Hm[24;1Hinfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTz
[23;80HU[24;1Hc/61"' -c 'breakadd func 16 B' -S /tmp/vijTzUc/60[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/61" [24;19H[K[24;19H17L, 127C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 35: OK (2146584868)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/62[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/62" [24;19H[K[24;19H66L, 1430C appended[24;19H[K[24;19H67L, 1452C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/63[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vimin
[23;80Hf[24;1Ho+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/
[23;80H6[24;1H3"' -c 'breakadd func 16 R' -S /tmp/vijTzUc/62[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/63" [24;19H[K[24;19H9L, 81C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 36: OK (1071644672)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/64[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/64" [24;19H[Kgcc -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
[24;19H73L, 1488C appended[24;19H[K[24;19H74L, 1510C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/65[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/65"' -c 'breakadd
[23;80Hf[24;1Hunc 16 F' -S /tmp/vijTzUc/64[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/65" [24;19H[K[24;19H9L, 81C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 37: OK (1071644672)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/66[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/66" [24;19H[K[24;19H82L, 1519C appended[24;19H[K[24;19H83L, 1541C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/67[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi
[23;80Hm[24;1Hinfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTz
[23;80HU[24;1Hc/67"' -c 'breakadd func 16 E' -S /tmp/vijTzUc/66[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/67" [24;19H[K[24;19H8L, 63C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 38: OK (357908480)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/68[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/68" [24;19H[K[24;19H83L, 1538C appended[24;19H[K[24;19H84L, 1560C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/69[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -
[23;80Hc[24;2H'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVi
[23;80Hm[24;1HResult = "/tmp/vijTzUc/69"' -c 'breakadd func 16 I' -c 'breakadd func 22 I' -S
[23;80H/[24;1Htmp/vijTzUc/68[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/69" 8L, 63C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 39: OK (357908480)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/70[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/70" [24;19H[K[24;19H82L, 1519C appended[24;19H[K[24;19H83L, 1541C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/71[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi
[23;80Hm[24;1Hinfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTz
[23;80HU[24;1Hc/71"' -c 'breakadd func 16 T' -S /tmp/vijTzUc/70[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/71" [24;19H[K[24;19H8L, 63C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 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
2[10CXpath 1[33C" X: 1
3[10Cthrow "arrgh"
4[10CXpath 2[33C" X: 0
5 catch /arrgh/
6[10CXpath 4[33C" X: 4
7 endtry
8 Xpath 8[37C" X: 8
endfunction[15;1H"/tmp/vijTzUc/72"[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[15;19H[noeol] 11L, 334C
8 substitutions on 8 lines
Pattern not found: ^\s*$
"/tmp/vijTzUc/72" [17;20H[K[17;19H8L, 295C written
"test49.in" [17;13H[K[17;13H32L, 705C
function T1()
1 XloopNEXT
2 try
3[10CXloop 1[33C" X: 16 + 16*16
4[10Cthrow "arrgh"
5[10CXloop 2[33C" X: 0
6 finally
7[10CXloop 4[33C" X: 64 + 64*16
8 endtry
9 Xloop 8[37C" X: 0
endfunction[14;1H"/tmp/vijTzUc/73"[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[14;19H[noeol] 12L, 364C
9 substitutions on 9 lines
Pattern not found: ^\s*$
"/tmp/vijTzUc/73" [16;20H[K[16;19H9L, 323C written
"test49.in" [16;13H[K[16;13H32L, 705C
function T2()
1 try
2[10CXpath 4096[30C" X: 4096
3[10Ccall T1()
4[10CXpath 8192[30C" X: 0
5 finally
6[10CXpath 16384[29C" X: 16384
7 endtry
8 Xpath 32768[33C" X: 0
endfunction[15;1H"/tmp/vijTzUc/74"[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[15;19H[noeol] 11L, 332C
8 substitutions on 8 lines
Pattern not found: ^\s*$
"/tmp/vijTzUc/74" [17;20H[K[17;19H8L, 305C written
"test49.in" [17;13H[K[17;13H32L, 705C
*** Test 50: OK (363550045)
*** Test 51: OK (40744667)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim" [readonly] 90[20;1H08L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/76[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[21;1H[K[21;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/76" [21;19H[K[21;19H2L, 41C appended[21;19H[K[21;19H3L, 63C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim" [readonly] 90[22;1H08L, 206669C
:!>/tmp/vijTzUc/77[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/77"' -S /tmp/vijTzUc/76[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/77" [24;19H[K[24;19H1L, 2C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/75" [24;19H[K[24;19H8L, 182C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/78[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/78" [24;19H[K[24;19H7L, 115C appended[24;19H[K[24;19H8L, 137C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/79[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/79"' -S /tmp/vijTzUc/78[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/79" [24;19H[K[24;19H1L, 2C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/75" [24;19H[K[24;19H8L, 181C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/80[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/80" [24;19H[K[24;19H12L, 180C appended[24;19H[K[24;19H13L, 202C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/81[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/81"' -S /tmp/vijTzUc/80[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/81" [24;19H[K[24;19H2L, 8C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/75" [24;19H[K[24;19H10L, 209C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/82[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/82" [24;19H[K[24;19H8L, 139C appended[24;19H[K[24;19H9L, 161C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/83[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/83"' -S /tmp/vijTzUc/82[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/83" [24;19H[K[24;19H2L, 11C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/75" [24;19H[K[24;19H10L, 217C
"test49.in" [24;13H[Kgcc -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
[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/84[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/84" [24;19H[K[24;19H5L, 87C appended[24;19H[K[24;19H6L, 109C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/85[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir!
[23;80H>[24;1H/tmp/vijTzUc/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
1' -c 'let ExtraVimResult = "/tmp/vijTzUc/85"' -c 'breakadd file 4 /tmp/vijTzUc
[23;80H/[24;1H84' -S /tmp/vijTzUc/84[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/85" [24;19H[K[24;19H1L, 7C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/75" [24;19H[K[24;19H[noeol] 9L, 202C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/86[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/86" [24;19H[K[24;19H7L, 189C appended[24;19H[K[24;19H8L, 211C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/87[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/87"' -S /tmp/vijTzUc/86[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/87" [24;19H[K[24;19H1L, 8C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/75" [24;19H[K[24;19H9L, 252C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/88[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/88" [24;19H[K[24;19H7L, 199C appended[24;19H[K[24;19H8L, 221C[24;19H[K[24;19H8L, 220C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/89[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/89"' -S /tmp/vijTzUc/88[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/89" [24;19H[K[24;19H1L, 10C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/75" [24;19H[K[24;19H9L, 214C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 52: OK (1247112011)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/91[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/91" [24;19H[K[24;19H1L, 10C appended[24;19H[K[24;19H2L, 32C[24;19H[K[24;19H2L, 31C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/92[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/92"' -S /tmp/vijTzUc/91[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/92" [24;19H[K[24;19H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/90" [24;19H[K[24;19H6L, 154C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/93[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/93" [24;19H[K[24;19H3L, 39C appended[24;19H[K[24;19H4L, 61C
3 substitutions on 3 lines
"/tmp/vijTzUc/93" [24;20H[Kgcc -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
[24;19H4L, 58C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/94[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/94"' -S /tmp/vijTzUc/93[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/94" [24;19H[K[24;19H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/90" [24;19H[K[24;19H6L, 158C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/95[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/95" [24;19H[K[24;19H4L, 45C appended[24;19H[K[24;19H5L, 67C
4 substitutions on 4 lines
"/tmp/vijTzUc/95" [24;20H[K[24;19H5L, 63C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/96[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/96"' -S /tmp/vijTzUc/95[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/96" [24;19H[K[24;19H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/90" [24;19H[K[24;19H6L, 158C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/97[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/97" [24;19H[K[24;19H3L, 33C appended[24;19H[K[24;19H4L, 55C
3 substitutions on 3 lines
"/tmp/vijTzUc/97" [24;20H[K[24;19H4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/98[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/98"' -S /tmp/vijTzUc/97[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/98" [24;19H[K[24;19H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/90" [24;19H[K[24;19H6L, 158C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/99[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/99" [24;19H[K[24;19H5L, 65C appended[24;19H[K[24;19H6L, 87C
5 substitutions on 5 lines
"/tmp/vijTzUc/99" [24;20H[Kgcc -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
[24;19H6L, 82C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/100[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/100"' -S /tmp/vijTzUc/99[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/100" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/90" [24;19H[K[24;19H6L, 158C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/101[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/101" [24;20H[K[24;20H1L, 9C appended[24;20H[K[24;20H2L, 31C[24;20H[K[24;20H2L, 30C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/102[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/102"' -S /tmp/vijTzUc/101[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/102" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/90" [24;19H[K[24;19H6L, 153C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/103[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/103" [24;20H[K[24;20H3L, 38C appended[24;20H[K[24;20H4L, 60C
3 substitutions on 3 lines
"/tmp/vijTzUc/103"[24;20H[K[24;20H4L, 57C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/104[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/104"' -S /tmp/vijTzUc/103[?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/diff.o diff.c
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/104" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/90" [24;19H[K[24;19H6L, 157C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/105[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/105" [24;20H[K[24;20H4L, 44C appended[24;20H[K[24;20H5L, 66C
4 substitutions on 4 lines
"/tmp/vijTzUc/105"[24;20H[K[24;20H5L, 62C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/106[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/106"' -S /tmp/vijTzUc/105[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/106" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/90" [24;19H[K[24;19H6L, 157C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/107[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/107" [24;20H[K[24;20H3L, 32C appended[24;20H[K[24;20H4L, 54C
3 substitutions on 3 lines
"/tmp/vijTzUc/107"[24;20H[K[24;20H4L, 51C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/108[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/108"' -S /tmp/vijTzUc/107[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/108" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/90" [24;19H[K[24;19H6L, 157C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/109[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/109" [24;20H[K[24;20H5L, 64C appended[24;20H[K[24;20H6L, 86C
5 substitutions on 5 lines
"/tmp/vijTzUc/109"[24;20H[K[24;20H6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/110[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/110"' -S /tmp/vijTzUc/109[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/110" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/90" [24;19H[K[24;19H6L, 157C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/111[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/111" [24;20H[K[24;20H1L, 11C appended[24;20H[K[24;20H2L, 33C[24;20H[K[24;20H2L, 32C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/112[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/112"' -S /tmp/vijTzUc/111[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/112" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/90" [24;19H[K[24;19H6L, 157C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/113[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/113" [24;20H[K[24;20H3L, 40C appended[24;20H[K[24;20H4L, 62C
3 substitutions on 3 lines
"/tmp/vijTzUc/113"[24;20H[K[24;20H4L, 59C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/114[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/114"' -S /tmp/vijTzUc/113[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/114" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/90" [24;19H[K[24;19H6L, 161C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/115[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/115" [24;20H[K[24;20H4L, 46C appended[24;20H[K[24;20H5L, 68C
4 substitutions on 4 lines
"/tmp/vijTzUc/115"[24;20H[K[24;20H5L, 64C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/116[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/116"' -S /tmp/vijTzUc/115[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/116" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/90" [24;19H[K[24;19H6L, 161C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/117[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/117" [24;20H[K[24;20H3L, 34C appended[24;20H[K[24;20H4L, 56C
3 substitutions on 3 lines
"/tmp/vijTzUc/117"[24;20H[K[24;20H4L, 53C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/118[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/118"' -S /tmp/vijTzUc/117[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/118" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/90" [24;19H[K[24;19H6L, 161C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/119[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/119" [24;20H[K[24;20H5L, 66C appended[24;20H[K[24;20H6L, 88C
5 substitutions on 5 lines
"/tmp/vijTzUc/119"[24;20H[K[24;20H6L, 83C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/120[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/120"' -S /tmp/vijTzUc/119[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/120" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/90" [24;19H[K[24;19H6L, 161C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/121[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/121" [24;20H[K[24;20H4L, 37C appended[24;20H[K[24;20H5L, 59C
4 substitutions on 4 lines
"/tmp/vijTzUc/121"[24;20H[K[24;20H5L, 55C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/122[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/122"' -S /tmp/vijTzUc/121[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/122" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/90" [24;19H[K[24;19H6L, 150C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/123[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/123" [24;20H[K[24;20H4L, 41C appended[24;20H[K[24;20H5L, 63C
4 substitutions on 4 lines
"/tmp/vijTzUc/123"[24;20H[K[24;20H5L, 59C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/124[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vijTzUc/124"' -S /tmp/vijTzUc/123[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/124" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/90" [24;19H[K[24;19H6L, 159C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 53: OK (131071)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/126[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/126" [24;20H[K[24;20H1L, 13C appended[24;20H[K[24;20H2L, 35C[24;20H[K[24;20H2L, 34C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/127[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/127"' -S /tmp/vijTzUc/126[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/127" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/125" [24;20H[K[24;20H6L, 164C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/128[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/128" [24;20H[K[24;20H3L, 36C appended[24;20H[K[24;20H4L, 58C
3 substitutions on 3 lines
"/tmp/vijTzUc/128"[24;20H[K[24;20H4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/129[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/129"' -S /tmp/vijTzUc/128[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/129" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/125" [24;20H[K[24;20H6L, 168C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/130[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/130" [24;20H[K[24;20H3L, 38C appended[24;20H[K[24;20H4L, 60C
3 substitutions on 3 lines
"/tmp/vijTzUc/130"[24;20H[Kgcc -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
[24;20H4L, 57C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/131[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/131"' -S /tmp/vijTzUc/130[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/131" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/125" [24;20H[K[24;20H6L, 154C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/132[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/132" [24;20H[K[24;20H4L, 48C appended[24;20H[K[24;20H5L, 70C
4 substitutions on 4 lines
"/tmp/vijTzUc/132"[24;20H[K[24;20H5L, 66C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/133[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/133"' -S /tmp/vijTzUc/132[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/133" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/125" [24;20H[K[24;20H6L, 168C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/134[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/134" [24;20H[K[24;20H4L, 53C appended[24;20H[K[24;20H5L, 75C
4 substitutions on 4 lines
"/tmp/vijTzUc/134"[24;20H[K[24;20H5L, 71C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/135[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/135"' -S /tmp/vijTzUc/134[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/135" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/125" [24;20H[K[24;20H6L, 155C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/136[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/136" [24;20H[K[24;20H5L, 62C appended[24;20H[K[24;20H6L, 84C
5 substitutions on 5 lines
"/tmp/vijTzUc/136"[24;20H[K[24;20H6L, 79C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/137[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/137"' -S /tmp/vijTzUc/136[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/137" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/125" [24;20H[K[24;20H6L, 155C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/138[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/138" [24;20H[K[24;20H5L, 64C appended[24;20H[K[24;20H6L, 86C
5 substitutions on 5 lines
"/tmp/vijTzUc/138"[24;20H[K[24;20H6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/139[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/139"' -S /tmp/vijTzUc/138[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/139" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/125" [24;20H[K[24;20H6L, 154C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/140[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/140" [24;20H[K[24;20H3L, 36C appended[24;20H[K[24;20H4L, 58C
3 substitutions on 3 lines
"/tmp/vijTzUc/140"[24;20H[Kgcc -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
[24;20H4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/141[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/141"' -S /tmp/vijTzUc/140[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/141" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/125" [24;20H[K[24;20H6L, 168C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/142[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/142" [24;20H[K[24;20H5L, 67C appended[24;20H[K[24;20H6L, 89C
5 substitutions on 5 lines
"/tmp/vijTzUc/142"[24;20H[K[24;20H6L, 84C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/143[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/143"' -S /tmp/vijTzUc/142[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/143" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/125" [24;20H[K[24;20H6L, 167C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/144[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/144" [24;20H[K[24;20H5L, 68C appended[24;20H[K[24;20H6L, 90C
5 substitutions on 5 lines
"/tmp/vijTzUc/144"[24;20H[K[24;20H6L, 85C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/145[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/145"' -S /tmp/vijTzUc/144[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/145" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/125" [24;20H[K[24;20H6L, 168C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/146[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/146" [24;20H[K[24;20H7L, 95C appended[24;20H[K[24;20H8L, 117C
7 substitutions on 7 lines
"/tmp/vijTzUc/146"[24;20H[K[24;20H8L, 110C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/147[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/147"' -S /tmp/vijTzUc/146[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/147" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/125" [24;20H[K[24;20H6L, 167C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 54: OK (2047)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/149[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/149" [24;20H[K[24;20H1L, 13C appended[24;20H[K[24;20H2L, 35C[24;20H[K[24;20H2L, 34C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/150[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/150"' -S /tmp/vijTzUc/149[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/150" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/148" [24;20H[K[24;20H6L, 172C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/151[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/151" [24;20H[K[24;20H3L, 36C appended[24;20H[K[24;20H4L, 58C
3 substitutions on 3 lines
"/tmp/vijTzUc/151"[24;20H[K[24;20H4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/152[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/152"' -S /tmp/vijTzUc/151[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/152" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/148" [24;20H[K[24;20H6L, 176C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/153[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/153" [24;20H[K[24;20H4L, 48C appended[24;20H[K[24;20H5L, 70C
4 substitutions on 4 lines
"/tmp/vijTzUc/153"[24;20H[K[24;20H5L, 66C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/154[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/154"' -S /tmp/vijTzUc/153[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/154" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/148" [24;20H[K[24;20H6L, 176C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/155[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/155" [24;20H[K[24;20H3L, 36C appended[24;20H[K[24;20H4L, 58C
3 substitutions on 3 lines
"/tmp/vijTzUc/155"[24;20H[K[24;20H4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/156[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/156"' -S /tmp/vijTzUc/155[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/156" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/148" [24;20H[K[24;20H6L, 176C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/157[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/157" [24;20H[K[24;20H5L, 68C appended[24;20H[K[24;20H6L, 90C
5 substitutions on 5 lines
"/tmp/vijTzUc/157"[24;20H[K[24;20H6L, 85C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/158[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/158"' -S /tmp/vijTzUc/157[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/158" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/148" [24;20H[K[24;20H6L, 176C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/159[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/159" [24;20H[K[24;20H1L, 10C appended[24;20H[K[24;20H2L, 32C[24;20H[K[24;20H2L, 31C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/160[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/160"' -S /tmp/vijTzUc/159[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/160" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/148" [24;20H[K[24;20H6L, 166C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/161[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/161" [24;20H[K[24;20H3L, 33C appended[24;20H[K[24;20H4L, 55C
3 substitutions on 3 lines
"/tmp/vijTzUc/161"[24;20H[K[24;20H4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/162[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/162"' -S /tmp/vijTzUc/161[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/162" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/148" [24;20H[K[24;20H6L, 170C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/163[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/163" [24;20H[K[24;20H4L, 45C appended[24;20H[K[24;20H5L, 67C
4 substitutions on 4 lines
"/tmp/vijTzUc/163"[24;20H[K[24;20H5L, 63C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/164[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/164"' -S /tmp/vijTzUc/163[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/164" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/148" [24;20H[K[24;20H6L, 170C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/165[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/165" [24;20H[K[24;20H3L, 33C appended[24;20H[K[24;20H4L, 55C
3 substitutions on 3 lines
"/tmp/vijTzUc/165"[24;20H[K[24;20H4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/166[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/166"' -S /tmp/vijTzUc/165[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/166" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/148" [24;20H[K[24;20H6L, 170C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/167[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/167" [24;20H[K[24;20H5L, 65C appended[24;20H[K[24;20H6L, 87C
5 substitutions on 5 lines
"/tmp/vijTzUc/167"[24;20H[K[24;20H6L, 82C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/168[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/168"' -S /tmp/vijTzUc/167[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/168" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/148" [24;20H[K[24;20H6L, 170C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 55: OK (1023)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/170[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/170" [24;20H[K[24;20H1L, 11C appended[24;20H[K[24;20H2L, 33C[24;20H[K[24;20H2L, 32C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/171[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/171"' -S /tmp/vijTzUc/170[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/171" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/169" [24;20H[K[24;20H6L, 158C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/172[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/172" [24;20H[K[24;20H3L, 34C appended[24;20H[K[24;20H4L, 56C
3 substitutions on 3 lines
"/tmp/vijTzUc/172"[24;20H[K[24;20H4L, 53C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/173[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/173"' -S /tmp/vijTzUc/172[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/173" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/169" [24;20H[K[24;20H6L, 162C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/174[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/174" [24;20H[K[24;20H3L, 40C appended[24;20H[K[24;20H4L, 62C
3 substitutions on 3 lines
"/tmp/vijTzUc/174"[24;20H[K[24;20H4L, 59C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/175[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/175"' -S /tmp/vijTzUc/174[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/175" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/169" [24;20H[K[24;20H6L, 162C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/176[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/176" [24;20H[K[24;20H3L, 32C appended[24;20H[K[24;20H4L, 54C
3 substitutions on 3 lines
"/tmp/vijTzUc/176"[24;20H[K[24;20H4L, 51C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/177[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/177"' -S /tmp/vijTzUc/176[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/177" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/169" [24;20H[K[24;20H6L, 152C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/178[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/178" [24;20H[K[24;20H3L, 35C appended[24;20H[K[24;20H4L, 57C
3 substitutions on 3 lines
"/tmp/vijTzUc/178"[24;20H[K[24;20H4L, 54C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/179[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/179"' -S /tmp/vijTzUc/178[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/179" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/169" [24;20H[K[24;20H6L, 155C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/180[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/180" [24;20H[K[24;20H4L, 44C appended[24;20H[K[24;20H5L, 66C
4 substitutions on 4 lines
"/tmp/vijTzUc/180"[24;20H[K[24;20H5L, 62C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/181[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/181"' -S /tmp/vijTzUc/180[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/181" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/169" [24;20H[K[24;20H6L, 152C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/182[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/182" [24;20H[K[24;20H4L, 47C appended[24;20H[K[24;20H5L, 69C
4 substitutions on 4 lines
"/tmp/vijTzUc/182"[24;20H[K[24;20H5L, 65C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/183[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/183"' -S /tmp/vijTzUc/182[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/183" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/169" [24;20H[K[24;20H6L, 155C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/184[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/184" [24;20H[K[24;20H5L, 64C appended[24;20H[K[24;20H6L, 86C
5 substitutions on 5 lines
"/tmp/vijTzUc/184"[24;20H[K[24;20H6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/185[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/185"' -S /tmp/vijTzUc/184[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/185" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/169" [24;20H[K[24;20H6L, 152C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/186[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/186" [24;20H[K[24;20H5L, 67C appended[24;20H[K[24;20H6L, 89C
5 substitutions on 5 lines
"/tmp/vijTzUc/186"[24;20H[K[24;20H6L, 84C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/187[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vijTzUc/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vijTzUc/187"' -S /tmp/vijTzUc/186[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/187" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/169" [24;20H[K[24;20H6L, 155C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 56: OK (511)
function FuncException()
1 let g:exception = v:exception
endfunction[22;1H"/tmp/vijTzUc/188" [22;20H[K[23;1H[K[24;4H[K[22;20H[noeol] 4L, 80C
Pattern not found: ^\s*$
"/tmp/vijTzUc/188"[23;20H[K[23;20H1L, 36C written
"test49.in" [23;13H[K[23;13H32L, 705C
function FuncThrowpoint()
1 let g:throwpoint = v:throwpoint
endfunction[22;1H"/tmp/vijTzUc/189" [22;20H[K[23;1H[K[24;4H[K[22;20H[noeol] 4L, 83C
Pattern not found: ^\s*$
"/tmp/vijTzUc/189"[23;20H[K[23;20H1L, 38C written
"test49.in" [23;13H[K[23;13H32L, 705C
function T(arg, line)
1 if a:line == 2
2[10Cthrow a:arg[13C" in line 2
3 elseif a:line == 4
4[10Cthrow a:arg[13C" in line 4
5 elseif a:line == 6
6[10Cthrow a:arg[13C" in line 6
7 elseif a:line == 8
8[10Cthrow a:arg[13C" in line 8
9 endif
endfunction[14;1H"/tmp/vijTzUc/190"[14;20H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[14;20H[noeol] 12L, 341C
9 substitutions on 9 lines
8 substitutions on 8 lines
Pattern not found: ^\s*$
"/tmp/vijTzUc/190"[17;20H[K[17;20H9L, 292C written
"test49.in" [17;13H[K[17;13H32L, 705C
function G(arg, line)
1 call T(a:arg, a:line)
endfunction[18;1H"/tmp/vijTzUc/191"[18;20H[K[19;1H[K[20;4H[K[18;20H[noeol] 4L, 69C
Pattern not found: ^\s*$
"/tmp/vijTzUc/191"[19;20H[K[19;20H1L, 30C written
"test49.in" [19;13H[K[19;13H32L, 705C
function F(arg, line)
1 call G(a:arg, a:line)
endfunction[20;1H"/tmp/vijTzUc/192"[20;20H[K[21;1H[K[22;4H[K[20;20H[noeol] 4L, 69C
Pattern not found: ^\s*$
"/tmp/vijTzUc/192"[21;20H[K[21;20H1L, 30C written
"test49.in" [21;13H[K[21;13H32L, 705C
*** Test 57: OK (2147450880)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim" [readonly] 90[23;1H08L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/193[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/193" [24;20H[K[24;20H87L, 1700C appended[24;20H[K[24;20H88L, 1722C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/194[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/194"' -c 'break
[23;80Ha[24;1Hdd func 4 T' -S /tmp/vijTzUc/193[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/194" [24;20H[K[24;20H8L, 36C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 58: OK (624945)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/195[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/195" [24;20H[K[24;20H293L, 5789C appended[24;20H[K[24;20H294L, 5811C
3 substitutions on 3 lines
"/tmp/vijTzUc/195"[24;20H[K[24;20H294L, 5808C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/196[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo
[23;80H'[24;2H-c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/196"' -c 'br
[23;80He[24;1Hakadd file 115 /tmp/vijTzUc/195' -c 'breakadd file 225 /tmp/vijTzUc/195' -S /tm
[23;80Hp[24;1H/vijTzUc/195[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/196" 28L, 162C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 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"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/197[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/197" [24;20H[K[24;20H33L, 765C appended[24;20H[K[24;20H34L, 787C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/198[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/198"' -c 'break
[23;80Ha[24;1Hdd file 7 /tmp/vijTzUc/197' -S /tmp/vijTzUc/197[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/198" [24;20H[K[24;20H3L, 27C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 60: OK (311511339)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/199[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/199" [24;20H[K[24;20H115L, 2272C appended[24;20H[K[24;20H116L, 2294C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/200[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vimin
[23;80Hf[24;1Ho+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/
[23;80H2[24;1H00"' -c 'breakadd file 8 /tmp/vijTzUc/199' -c 'breakadd file 36 /tmp/vijTzUc/19
[23;80H9[24;1H' -c 'breakadd file 40 /tmp/vijTzUc/199' -c 'breakadd file 69 /tmp/vijTzUc/199'
-c 'breakadd file 95 /tmp/vijTzUc/199' -c 'breakadd file 97 /tmp/vijTzUc/199' -
[23;80HS[24;2H/tmp/vijTzUc/199[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"[13C200" 14L, 81C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 61: OK (374889517)
function F()
1 while 1
2 " Missing :endwhile
endfunction[21;1H"/tmp/vijTzUc/201"[22;1H[K[23;1H[K[24;4H[K[21;20H[noeol] 5L, 73C
Pattern not found: ^\s*$
"/tmp/vijTzUc/201"[22;20H[K[22;20H2L, 40C written
"test49.in" [22;13H[K[22;13H32L, 705C
*** Test 62: OK (286331153)
"/i/m/p/o/s/s/i/b/l/e" [23;24H[K[24;1H[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-athena/t[m
[23;80H[1m[37m[41me[24;1Hstdir/test49.vim:[m
[33mline 5500:[m
[1m[37m[41m"/i/m/p/o/s/s/i/b/l/e" E212: Can't open file for writing[m
*** Test 63: OK (236978127)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/202[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/202" [24;20H[K[24;20H149L, 2828C appended[24;20H[K[24;20H150L, 2850C
6 substitutions on 6 lines
"/tmp/vijTzUc/202"[24;20H[K[24;20H150L, 2844C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/203[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/203"' -c 'break
[23;80Ha[24;1Hdd file 63 /tmp/vijTzUc/202' -S /tmp/vijTzUc/202[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/203" [24;20H[K[24;20H16L, 97C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 64: OK (1499645335)
*** Test 65: OK (70187)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/204[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/204" [24;20H[K[24;20H78L, 1520C appended[24;20H[K[24;20H79L, 1542C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/205[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/205"' -c 'break
[23;80Ha[24;1Hdd func 8 F' -S /tmp/vijTzUc/204[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/205" [24;20H[K[24;20H6L, 22C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 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/vijTzUc/206" [New File]
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vijTzUc/207" [New File]
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 74: OK (224907669)
*** Test 75: OK (2000403408)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/208[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/208" [24;20H[K[24;20H253L, 6369C appended[24;20H[K[24;20H254L, 6391C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/209[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|
[23;80Hs[24;1Het viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp
[23;80H/[24;1HvijTzUc/209"' -c 'breakadd func 2 INT' -S /tmp/vijTzUc/208[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/209" [24;20H[K[24;20H28L, 167C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 76: OK (1610087935)
[1m[37m[41mError detected while processing function ERR:[m
[33mline 2:[m
[1m[37m[41mE492: Not an editor command: asdf[m
[1m[37m[41mE492: Not an editor command: asdf[m
[1m[37m[41mE492: Not an editor command: asdf[m
*** Test 77: OK (1388671)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/210[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/210" [24;20H[K[24;20H161L, 4543C appended[24;20H[K[24;20H162L, 4565C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/211[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/211"' -S /tmp/vijT
[23;80Hz[24;1HUc/210[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/211" 1L, 10C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 78: OK (134217728)
[1m[37m[41mError detected while processing function NEXT:[m
[33mline 1:[m
[1m[37m[41mE121: Undefined variable: novar[m
[1m[37m[41mE15: Invalid expression: novar | Xloop 1[m
[1m[37m[41mE121: Undefined variable: novar[m
[1m[37m[41mE488: Trailing characters[m
[1m[37m[41mE108: No such variable: "novar"[m
[1m[37m[41mE488: Trailing characters[m
[1m[37m[41mE121: Undefined variable: novar[m
[1m[37m[41mE15: Invalid expression: novar[m
[1m[37m[41mE475: Invalid argument: {novar} | Xloop 1[m
[1m[37m[41mE121: Undefined variable: novar[m
[1m[37m[41mE15: Invalid expression: novar[m
[1m[37m[41mE475: Invalid argument: { novar} | Xloop 1[m
*** Test 79: OK (70288929)
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-athena/t[m
[23;80H[1m[37m[41me[24;1Hstdir/test49.vim:[m
[33mline 7985:[m
[1m[37m[41mE584: :elseif after :else: elseif 1 ||| 2[m
[33mline 7995:[m
[1m[37m[41mE584: :elseif after :else: elseif 1 ||| 2[m
[33mline 8003:[m
[1m[37m[41mE582: :elseif without :if: elseif 1 ||| 2[m
[33mline 8011:[m
[1m[37m[41mE582: :elseif without :if: elseif 1 ||| 2[m
*** Test 80: OK (17895765)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/212[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/212" [24;20H[K[24;20H15L, 272C appended[24;20H[K[24;20H16L, 294C[24;20H[K[24;20H16L, 293C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/213[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/213"' -S /tmp/vijT
[23;80Hz[24;1HUc/212[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/213" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/214[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/214" [24;20H[K[24;20H12L, 227C appended[24;20H[K[24;20H13L, 249C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/215[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/215"' -c 'break
[23;80Ha[24;1Hdd file 8 /tmp/vijTzUc/214' -S /tmp/vijTzUc/214[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/215" [24;20H[K[24;20H2L, 8C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 81: OK (387)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/216[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/216" [24;20H[K[24;20H20L, 417C appended[24;20H[K[24;20H21L, 439C[24;20H[K[24;20H21L, 438C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/217[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/217"' -S /tmp/vijT
[23;80Hz[24;1HUc/216[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/217" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/218[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/218" [24;20H[K[24;20H24L, 480C appended[24;20H[K[24;20H25L, 502C[24;20H[K[24;20H25L, 501C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/219[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/219"' -S /tmp/vijT
[23;80Hz[24;1HUc/218[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/219" 1L, 4C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/220[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/220" [24;20H[K[24;20H17L, 390C appended[24;20H[K[24;20H18L, 412C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/221[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/221"' -c 'break
[23;80Ha[24;1Hdd file 7 /tmp/vijTzUc/220' -S /tmp/vijTzUc/220[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/221" [24;20H[K[24;20H1L, 6C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/222[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/222" [24;20H[K[24;20H21L, 444C appended[24;20H[K[24;20H22L, 466C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/223[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/223"' -c 'break
[23;80Ha[24;1Hdd func 6 I' -S /tmp/vijTzUc/222[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/223" [24;20H[K[24;20H1L, 8C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 82: OK (8454401)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/224[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/224" [24;20H[K[24;20H17L, 307C appended[24;20H[K[24;20H18L, 329C[24;20H[K[24;20H18L, 328C written
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/225[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/225"' -S /tmp/vijT
[23;80Hz[24;1HUc/224[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/225" 3L, 7C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/226[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/226" [24;20H[K[24;20H14L, 266C appended[24;20H[K[24;20H15L, 288C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/227[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/227"' -c 'break
[23;80Ha[24;1Hdd file 8 /tmp/vijTzUc/226' -S /tmp/vijTzUc/226[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/227" [24;20H[K[24;20H3L, 13C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 83: OK (2835)
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/228[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/228" [24;20H[K[24;20H154L, 3580C appended[24;20H[K[24;20H155L, 3602C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/229[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo
[23;80H'[24;2H-c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/229"' -c 'br
[23;80He[24;1Hakadd func 1 INT' -S /tmp/vijTzUc/228[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/229" [24;20H[K[24;20H18L, 118C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 84: OK (934782101)
TMP
"/tmp/vijTzUc/230" [noeol] 2L, 6C[24;1H[K[24;1H/
"test49.in" 32L, 705C
"/n/o/n/e/x/i/s/t/e/n/t"
"/tmp/vijTzUc/232" 1L, 1C
"test49.in" [24;13H[K[24;13H32L, 705C
:!echo XYZ >/tmp/vijTzUc/233[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/234" [New File]
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 85: OK (198689)
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-athena/t[m
[23;80H[1m[37m[41me[24;1Hstdir/test49.vim:[m
[33mline 8769:[m
[1m[37m[41mE123: Undefined function: F[m
Make_all.mak
"Make_all.mak" line 1 of 207 --0%-- col 1
[33mline 8772:[m
[1m[37m[41mE926: Current location list was changed[m
[33mline 8773:[m
[1m[37m[41mE193: :endfunction not inside a function[m
[1m[37m[41mError detected while processing function ExecAsScript[2]..MakeScript:[m
[33mline 3:[m
[1m[37m[41mE123: Undefined function: F[m
"/tmp/vijTzUc/235" [1m[37m[41mc[m[24;20H[K[24;20H[noeol] 4L, 109C
[31msearch hit BOTTOM, continuing at TOP[m
[33mline 10:[m[24;11H[K[24;1H
[1m[37m[41mE486: Pattern not found: .*F(.*)[m
[31msearch hit BOTTOM, continuing at TOP[m
[33mline 11:[m[24;11H[K[24;1H
[1m[37m[41mE486: Pattern not found: ^\d*\s*endfunction\>[m
4 substitutions on 4 lines
"/tmp/vijTzUc/235"[24;20H[K[24;20H3L, 109C written
"Make_all.mak" [24;16H[K[24;16H207L, 3846C
[1m[37m[41mError detected while processing /tmp/vijTzUc/235:[m
[33mline 1:[m
[1m[37m[41mE492: Not an editor command: Error detected while processing function ExecAsScr[m
[23;80H[1m[37m[41mi[24;1Hpt[2]..MakeScript:[m
[33mline 2:[m
[1m[37m[41mE492: Not an editor command: line 3:[m
[33mline 3:[m
[1m[37m[41mE492: Not an editor command: E123: Undefined function: F[m
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-athena/t[m
[23;80H[1m[37m[41me[24;1Hstdir/test49.vim:[m
[33mline 8779:[m
[1m[37m[41mE130: Unknown function: F[m
*** Test 86: OK (0)
5
*** Test 87: OK (0)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
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vijTzUc/0' >/tmp/vijTzUc/236[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vijTzUc/236" [24;20H[K[24;20H151L, 3929C appended[24;20H[K[24;20H152L, 3951C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vijTzUc/237[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nvimi
[23;80Hn[24;1Hfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vijTzUc/237"' -c
[23;80H'[24;1Hbreakadd func 5 ThrowOnInterrupt' -S /tmp/vijTzUc/236[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vijTzUc/237" [24;20H[K[24;20H16L, 281C
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/test49.vim"
<TJJ2/vim-8.0.0197/src/vim-athena/testdir/test49.vim" [readonly] 9008L, 206669C
"Make_all.mak" [24;16H[K[24;16H207L, 3846C
*** Test 88: OK (50443995)
[32mPress ENTER or type command to continue[m[24;1H[K[24;1H:[?12l[?25h" Go back to this file and append the results from register r.
[?25l[27m[23m[m[H[2J[1;1H#
# 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 = \[9;9Htest1.out
# Tests that run on all systems.
SCRIPTS_ALL = \[13;9Htest3.out \[14;9Htest4.out \[15;9Htest5.out \[16;9Htest7.out \[17;9Htest8.out \[18;9Htest9.out \[19;9Htest14.out \[20;9Htest15.out \[21;9Htest19.out \[22;9Htest20.out \[23;9Htest22.out \[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hbuf test49.in
[?25l"test49.in" [24;13H[K[24;13H32L, 705C[1;1H:so test49.vim
:" Go back to this file and append the results from register r.
:buf test49.in
G"rp:/^Results/,$w! test.out
:"[5;3H[K[6;1H:" make valgrind happy
:redir => funclis[7;20H[K[8;1H:silent func[8;13H[K[9;1H:redir END[9;11H[K[10;1H:for line in split(funclist, "\n")
: let name = matchstr(line, 'function \zs[A-Z]\w*\ze(')
: if name != ''
: exe "delfunc " . name
: endif[14;9H[K[15;1H:endfor[15;9H[K[16;1H:for v in keys(g:)[16;19H[K[17;1H: silent! exe "unlet " . v
:endfor[18;9H[K[19;1H:unlet v[19;9H[K[20;1H:qa![20;9H[K[21;1HENDTEST[21;9H[K[22;9H[K[23;1HResults of test49.vim:[22;1H[?12l[?25h
[?25l
83 more lines[24;14H[K[1;23r[23;1H
[1;24r[23;1H*** Test 16: OK (8722)[24;1H[K[24;1H83 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^Results/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New] 84L, 2484C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make valgrind happy
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir => funclist
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsilent func
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[5L[?25l[1;1H:" Go back to this file and append the results from register r.
:buf test49.in
G"rp:/^Results/,$w! test.out
:"
:" make valgrind happy[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hfor v in keys(g:)
[?25l
: [?12l[?25h: silent! exe "unlet " . v
[?25l: [?12l[?25h:endfor
[1;1H[2L[?25l[1;1H:" Go back to this file and append the results from register r.
:buf test49.in[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet v
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test97.in" 23 lines, 484 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest whether glob()/globpath() return correct results with certain escaped[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 377 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make sure glob() doesn't use the shell
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset shell=doesnotexist
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" consistent sorting of file names
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nofileignorecase
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =glob('Xxx\{')
[?25l[2;1H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =glob('Xxx\$')
[?25l[3;1H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xxx{
[?25l
Cannot execute shell doesnotexist
[m
E79: Cannot expand wildcards
"Xxx{" [New File] 3 lines, 3 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! Xxx\$
[?25l"Xxx$" [24;8H[K[24;8H[New File] 3 lines, 3 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =glob('Xxx\{')
[?25l[27m[23m[m[H[2J[4;1HXxx{
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [4;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h$put =glob('Xxx\$')
[?25l[5;1HXxx$[5;5H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(globpath('sautest/autoload', '*.vim'))
[?25l[6;1H'sautest/autoload/Test104.vim[6;30H[K[7;1Hsautest/autoload/footest.vim'[7;30H[K[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(globpath('sautest/autoload', '*.vim', 0, 1))
[?25l[8;1H['sautest/autoload/Test104.vim', 'sautest/autoload/footest.vim'][8;65H[K[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" [New File] 8 lines, 138 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_listlbr_utf8.in" 134 lines, 4027 characters[1;1HTest for linebreak and list option in utf-8 mode
STARTTEST
:so small.vim
:if !exists("+linebreak") || !has("conceal") || !has("signs") | e! test.ok | w! [6;1Htest.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)
:[7Clet c=''
:[7Cfor j in range(1,a:lines)
:[11Cfor i in range(1,a:width)
:[15Clet c.=nr2char(screenchar(j, i))
:[11Cendfor
:[11Clet c.="\n"
:[7Cendfor
:[7Creturn c
:endfu[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for linebreak and list option in utf-8 mode[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 129 lines, 3948 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:set list nolinebreak cc=3
:sign define foo text=[34m^V[muff0b
: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[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !exists("+linebreak") || !has("conceal") || !has("signs") | e! test.ok | w!
test.out | qa! | endif
[?25l[1;1H[L[1;1H:set list nolinebreak cc=3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hso mbyte.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf8
[?25l[27m[23m[m[H[2J[1;1H:set list nolinebreak cc=3
:sign define foo text=[34m^V[muff0b
: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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h10new|:vsp|:vert resize 20
[?25l[1;1H [7m|[2;21H|[3;21H|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [m[1;23H[K[2;22H[1m[34m~ [3;22H~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [m[12;2Hcall DoRecordScreen()[12;23H[K[13;2H" 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!")[15;57H[K[16;2Helse[16;6H[K[17;2H call append('$', "Screen attributes are the same!")
:endif[18;7H[K[19;2H%w! test.out
:qa[20;6H[K[21;1HENDTEST
dummy text
[7mtest_listlbr_utf8.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"
[?25l[2;1H abcdef hijkl
mn pqrstuvwxyz 1060
ABCDEFGHIJKLMNOP [11;11H[1m[7m[+][m[2;22H abcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP [2;79H[K[11;32H[7m[+][2;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H abcdef hijkl
mn pqrstuvwxyz 1060
ABCDEFGHIJKLMNOP
[1m[34m~
~
~
~
~
~ [m
[1m[34m~ [m[24;1H[K[1;9H[?12l[?25h[?25l[24;1H:[?12l[?25hset ts=4 sw=4 sts=4 linebreak sbr=+ wrap
[?25l[1;5Habcdef
[1m[34m+[mhijklmn
[1m[34m+[mpqrstuvwxyz 1060ABC
[1m[34m+[mDEFGHIJKLMNOP [2;26Habcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP [2;75H[K[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfu! ScreenChar(width, lines)
[?25l
: [?12l[?25h:[34m^I[mlet c=''
[?25l: [?12l[?25h:[34m^I[mfor j in range(1,a:lines)
[?25l: [?12l[?25h:[34m^I[m for i in range(1,a:width)
[?25l: [?12l[?25h:[34m^I[m [34m^I[mlet c.=nr2char(screenchar(j, i))
[?25l: [?12l[?25h:[34m^I[m endfor
[?25l: [?12l[?25h: let c.="\n"
[?25l: [?12l[?25h:[34m^I[mendfor
[?25l: [?12l[?25h:[34m^I[mreturn c
[?25l: [?12l[?25h:endfu
[1;1H[9L[?25l[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz 1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[m[5;1H[1m[34m~
~
~
~
~ [m[2;26Habcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hfu! DoRecordScreen()
[?25l
: [?12l[?25h:[34m^I[mwincmd l
[?25l: [?12l[?25h:[34m^I[m$put =printf(\"\n%s\", g:test)
[?25l: [?12l[?25h:[34m^I[m$put =g:line
[?25l: [?12l[?25h:[34m^I[mwincmd p
[?25l: [?12l[?25h:endfu
[1;1H[5L[?25l[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz 1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[m
[1m[34m~ [m[2;26Habcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 1: set linebreak + set list + fancy listchars"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eo
[23;80Hl[24;1H:\ub6"
[?25l[1;1H[L[1;1H[34m▕[1;2H—[1;3H—[1;4H—[m[1;5Habcdef[10C[7m|[m[2;9H[34m▕[2;10H—[2;11H—[2;12H—[3;13H␣[4;15Hˑ[m[1m[34m¶[m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H[34m▕[1;2H—[1;3H—[1;4H—[m[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[34m▕[2;10H—[2;11H—[2;12H—[m[2;21H[7m|[m
[1m[34m+[mpqrstuvwxyz[34m␣[m1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP[34mˑ[m[1m[34m¶[m[4;21H[7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26Habcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [1;5H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[5;1H[1m[34m¶[m[5;2H
Test 1: set
[1m[34m+[mlinebreak + set
[1m[34m+[mlist + fancy
[1m[34m+[mlistchars[1m[34m¶[m[9;12H
▕[10;2H—[10;3H—[10;4H—[10;5Habcdef[34mˑˑˑˑˑˑˑˑˑˑ[m
[1m[34m@ [m[3;22H[K[4;22HTest 1: set linebreak + set list + fancy listchars[4;72H[K[5;22H▕[5;23H—[5;24H—[5;25H—[5;26Habcdef [5;42H[K[6;22H+hijklmn▕[6;31H—[6;32H—[6;33H—[6;34H [6;42H[K[7;22H+pqrstuvwxyz␣1060ABC[7;42H[K[8;22H+DEFGHIJKLMNOPˑ¶[8;38H [8;42H[K[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 2: set nolinebreak list"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset list nolinebreak
[?25l[1;12Hhijklmn[34m▕[1;20H—[m[2;2Hpqrstuvwxyz[34m␣[m1060ABC[3;2HDEFGHIJKLMNOP[34mˑ[m[1m[34m¶[m[3;17H
[1m[34m¶[m[4;2H
Test 1: set linebrea
[1m[34m+[mk + set list + fanc[7;2Hy listchars[1m[34m¶[m[7;14H
▕[8;2H—[8;3H—[8;4H—[8;5Habcdef[34mˑˑˑˑˑˑˑˑˑˑ[m[9;2H[1m[34m¶[m[9;3H
+hijklmn▕[10;10H—[10;11H—[10;12H—[10;13H[34mˑˑˑˑˑˑˑˑ[m
[1m[34m@ [1;5H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H[34m▕[1;2H—[1;3H—[1;4H—[m[1;5Habcdef hijklmn[34m▕[1;20H—[m[1;21H[7m|[m
[1m[34m+[mpqrstuvwxyz[34m␣[m1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP[34mˑ[m[1m[34m¶[m[3;21H[7m|[m
[1m[34m¶[m[4;21H[7m|[m
Test 1: set linebrea[7m|[m
[1m[34m+[mk + set list + fanc[7m|[m
[1m[34m+[my listchars[1m[34m¶[m[7;21H[7m|[m
▕[8;2H—[8;3H—[8;4H—[8;5Habcdef[34mˑˑˑˑˑˑˑˑˑˑ[m[7m|[m
[1m[34m+¶[m[9;21H[7m|[m
+hijklmn▕[10;10H—[10;11H—[10;12H—[10;13H[34mˑˑˑˑˑˑˑˑ[m[7m|[m
[1m[34m@ [m
[1m[7m[No Name] [+] [m[2;26Habcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP[4;22HTest 1: set linebreak + set list + fancy listchars[5;22H▕[5;23H—[5;24H—[5;25H—[5;26Habcdef[6;22H+hijklmn▕[6;31H—[6;32H—[6;33H—[7;22H+pqrstuvwxyz␣1060ABC[8;22H+DEFGHIJKLMNOPˑ¶[9;22H[1m[34m~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [m[10;1H+hijklmn▕[10;10H—[10;11H—[10;12H—[10;13H[34mˑˑˑˑˑˑˑˑ[m
[1m[34m@ [1;5H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[1;22H▕[1;23H—[1;24H—[1;25H—[1;26Habcdef [2;22H+hijklmn▕[2;31H—[2;32H—[2;33H—[2;34H [3;22H+pqrstuvwxyz␣1060ABC [4;22H+DEFGHIJKLMNOPˑ¶[4;38H [5;22H[1m[34m~ [6;22H~ [m[7;22H [8;22H [9;22H [10;22H [5;22H[K[6;22HTest 2: set nolinebreak list[6;50H[K[7;22H▕[7;23H—[7;24H—[7;25H—[7;26Habcdef hijklmn▕[7;41H—[8;22H+pqrstuvwxyz␣1060ABC[9;22H+DEFGHIJKLMNOPˑ¶[10;22H¶[24;1H[K[24;1H4 more lines[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 3: set linebreak nolist"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\t*mask = nil;\"
[?25l[1;1H▕[1;2H—[1;3H—[1;4H—[1;19H▕[1;20H—[2;2H[1m[34m¶[m[2;3H
+pqrstuvwxyz␣1060ABC
[1m[34m+¶[m[5;1H+DEFGHIJKLMNOPˑ¶[5;17H[34mˑˑˑˑ[m[6;2H[1m[34m¶[m[6;4H
¶[7;2H[34mˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[m
[1m[34m+¶[m[8;3H
[34m▕[9;2H—[9;3H—[9;4H—[m[9;5H*mask = nil;[1m[34m¶[10;1H~ [9;5H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$
[?25l[9;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H[34m▕[1;2H—[1;3H—[1;4H—[m[1;5H*mask = nil;[1m[34m¶[m[1;18H
[1m[34m~ [m
[3;1H[1m[34m~
~
~
~
~
~
~
~ [m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hset nolist linebreak
[?25l[1;1H [12C
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;5H*mask = nil; [7m|[2;21H|[3;21H|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[1;22H▕[1;23H—[1;24H—[1;25H—[1;26Habcdef[2;22H+hijklmn▕[2;31H—[2;32H—[2;33H—[3;22H+pqrstuvwxyz␣1060ABC[4;22H+DEFGHIJKLMNOPˑ¶[6;22HTest 2: set nolinebreak list[7;22H▕[7;23H—[7;24H—[7;25H—[7;26Habcdef hijklmn▕[7;41H—[8;22H+pqrstuvwxyz␣1060ABC[9;22H+DEFGHIJKLMNOPˑ¶[10;22H¶[11;22H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [1;5H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[2;1H
Test 3: set
[1m[34m+[mlinebreak nolist
*mask = nil;
~
~
~ [1;22H+pqrstuvwxyz␣1060ABC [2;22H+DEFGHIJKLMNOPˑ¶[2;38H [3;22H¶[3;23H [4;22H [5;22H [6;22H [7;22H [8;22H [9;22H [10;22H [4;26H*mask = nil;[6;22HTest 3: set linebreak nolist[7;26H*mask = nil;[8;22H~[9;22H~[10;22H~[24;1H[K[24;1H4 more lines[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 4: set linebreak list listchars and concealing"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet c_defines=['#define ABCDE[34m^I^I[m1','#define ABCDEF[34m^I^I[m1','#define ABCDEFG[34m^I^I[m
[23;80H1[24;1H','#define ABCDEFGH[34m^I[m1', '#define MSG_MODE_FILE[34m^I^I^I[m1','#define MSG_MODE_CONSO
[23;80HL[24;1HE[34m^I^I[m2','#define MSG_MODE_FILE_AND_CONSOLE[34m^I[m3','#define MSG_MODE_FILE_THEN_CONS
[23;80HO[24;1HLE[34m^I[m4']
[?25l[1;1H[3L[1;5H*mask = nil; [7m|[2;21H|[m
Test 3: set[9C[7m|[m[1;22H+pqrstuvwxyz␣1060ABC[2;22H+DEFGHIJKLMNOPˑ¶[3;22H¶[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hcall append('$', c_defines)
[?25l[9;1H#define
[1m[34m+[mABCDE 1 [1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hvert resize 40
[?25l[1;21H [7m|[m[2;21H [7m|[m[3;13Hlinebreak nolist[12C[7m|[m
*mask = nil; [7m|[m
~ [19C[7m|[m[6;21H [7m|[m[7;21H [7m|[m
#define ABCDE[7C1 [18C[7m|[m[9;9HABCDEF 1 [18C[7m|[m
#define ABCDEFG 1 [18C[7m|[m[11;22H[1m[7m [m[1;42H+pqrstuvwxyz␣1060ABC[2;42H+DEFGHIJKLMNOPˑ¶[3;42H¶[4;46H*mask = nil;[6;42HTest 3: set linebreak nolist[7;46H*mask = nil;[8;42H~[9;42H~[10;42H~[11;42H[7m[No Name] [+][1;5H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$-7
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H#define ABCDE 1
#define ABCDEF 1
#define ABCDEFG 1
[4;1H#define ABCDEFGH 1
#define MSG_MODE_FILE[11C1
#define MSG_MODE_CONSOLE[8C2
#define MSG_MODE_FILE_AND_CONSOLE 3
#define MSG_MODE_FILE_THEN_CONSOLE 4
[1m[34m~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset list linebreak listchars=tab:>- cole=1
[?25l[1;14H[34m>-->---[2;15H>->---[3;16H>>---[4;17H>---[5;22H>-->--->---[6;25H>--->---[7;34H>--[8;35H>-[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsyn match Conceal conceal cchar=>'AB\|MSG_MODE'
[?25l[1;9H[37m[40mAB[2;9H>[mCDEF[34m>-[m[3;9H[37m[40m>[mCDEFG[34m>-[m[4;9H[37m[40m>[mCDEFGH[34m>-[m[5;9H[37m[40m>[m_FILE[34m>-------[m[6;9H[37m[40m>[m_CONSOLE[34m>-------[m[7;9H[37m[40m>[m_FILE_AND_CONSOLE[34m>-------[m[8;9H[37m[40m>[m_FILE_THEN_CONSOLE[34m>-------[m[1;59H[37m[40mAB[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H#define [37m[40mAB[mCDE[34m>-->---[m1[19C[7m|[m
#define [37m[40m>[mCDEF[34m>-->---[m1[19C[7m|[m
#define [37m[40m>[mCDEFG[34m>->---[m1[19C[7m|[m
#define [37m[40m>[mCDEFGH[34m>----[m1[19C[7m|[m
#define [37m[40m>[m_FILE[34m>--------->--->---[m1[7C[7m|[m
#define [37m[40m>[m_CONSOLE[34m>---------->---[m2[7C[7m|[m
#define [37m[40m>[m_FILE_AND_CONSOLE[34m>---------[m3 [7m|[m
#define [37m[40m>[m_FILE_THEN_CONSOLE[34m>--------[m4 [7m|[9;41H|[10;41H|[m[9;1H[1m[34m~
~ [m
[1m[7m[No Name] [+] [m[1;42H+pqrstuvwxyz␣1060[37m[40mAB[mC[2;42H+DEFGHIJKLMNOPˑ¶[3;42H¶[4;46H*mask = nil;[6;42HTest 3: set linebreak nolist[7;46H*mask = nil;[8;42H~[9;42H~[10;42H~[11;42H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),7)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l[1;9H[37m[40m>[mCDE[34m>-[m[24;1H7 more lines[24;13H[K[9;1H
Test 4: set linebreak list listchars
[1m[34m@ [m[1;42H#define >CDEFG>->---1[2;42H[1m[34m+[m [2;44H[K[3;42H#define >CDEFGH>----1[4;42H[1m[34m+[m[4;46H[K[5;42H#define >_FILE>--------->--->---1[6;42H[1m[34m+[m [6;44H[K[7;42H#define >_CONSOLE>---------->---2[8;42H[1m[34m+[m[9;42H#define >_FILE_AND_CONSOLE>---------3[10;42H[1m[34m+[m[1;9H[37m[40mAB[mCDE[34m>
[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 5: set linebreak list listchars and concealing part2"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet c_defines=['bbeeeeee[34m^I^I[m;[34m^I[msome text']
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', c_defines)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$
[?25l[1;1H[1m[34m@ [m
[1;1HTest 4: set linebreak list listchars
[1m[34m+[mand concealing
#define [37m[40m>[mCDE>-->---1
#define >CDEF>-->---1
#define >CDEFG>->---1
#define >CDEFGH>----1
#define >_FILE>--------->--->---1
#define >_CONSOLE>---------->---2
#define >_FILE_AND_CONSOLE>---------3
bbeeeeee[34m>--->---[m;[34m>--[msome text[24;1H[K[10;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnorm! zt
[?25l[1;1Hbbeeeeee[34m>--->---[m;[34m>--[msome text
[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset nowrap ts=2 list linebreak listchars=tab:>- cole=2 concealcursor=n
[?25l[1;11H[34m>[m[1C;[34m>[msome text [1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn clear
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn match meaning /;\s*\zs.*/
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn match hasword /^\x\{8}/ contains=word
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn match word /\<\x\{8}\>/ contains=beginword,endword contained
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn match beginword /\<\x\x/ contained conceal
[?25l[1;1Heeeeee[34m>--[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsyn match endword /\x\{6}\>/ contained
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi meaning guibg=blue
[?25l[1;15Hsome text[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi beginword guibg=green
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi endword guibg=red
[?25l[1;1Heeeeee[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1Heeeeee[34m>--->-[m;[34m>[msome text[17C[7m|[2;41H|[3;41H|[4;41H|[5;41H|[6;41H|[7;41H|[8;41H|[9;41H|[10;41H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[1;42H#define >CDEFG>->---1[2;42H[1m[34m+[m[3;42H#define >CDEFGH>----1[4;42H[1m[34m+[m[5;42H#define >_FILE>--------->--->---1[6;42H[1m[34m+[m[7;42H#define >_CONSOLE>---------->---2[8;42H[1m[34m+[m[9;42H#define >_FILE_AND_CONSOLE>---------3[10;42H[1m[34m+[m[11;42H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),1)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l[2;1H
Test 5: set linebreak list listchars and
eeeeee>--->-;>some text [1;42H#define >_CONSOLE>---------->---2 [2;42H[1m[34m+[m [3;42H#define >_FILE_AND_CONSOLE>---------3 [4;42H[1m[34m+[m [5;42H [6;42H [7;42H [8;42H [9;42H [10;42H [5;42Hbbeeeeee ; some text[7;42HTest 5: set linebreak list listchars an[8;42H[1m[34m+[md concealing part2[9;42Heeeeee>--->-;>some text [10;42H[1m[34m+[m [24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 6: Screenattributes for comment"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[5;1HTest 6: Screenattributes for comment [5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', ' /*[34m^I^I[m and some more */')
[?25l[6;1H /*[34m>>-[m and some more */ [5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe "set ft=c ts=7 linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail
[23;80H:[24;1H\u02d1,eol:\ub6"
[?25l[1;1H[L[1;1Heeeeee[34m▕[1;8H—[1;9H—[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[1;15H▕[1;16H—[1;17H—[1;18H—[1;19H—[1;20H—[1;21H—[m[1;22H;[34m▕[1;24H—[1;25H—[1;26H—[1;27H—[1;28H—[m[1;29Hsome text[1m[34m¶[m[1;41H[7m|[m
[1m[34m¶[m[4;24H[34mˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[m[5;37H[1m[34m¶[m[6;4H[34m▕[6;5H—[6;6H—[6;7H—[6;8H▕[6;9H—[6;10H—[6;11H—[6;12H—[6;13H—[6;14H—[m[6;15H and some more */[1m[34m¶[m[1;42H#define >_CONSOLE>---------->---2[5;54H ; some text[24;1H[K[5;1H[?12l[?25h[?25l[24;1H:[?12l[?25hsyntax on
[?25l[1;1Hbbeeeeee[34m▕[m[1;29Hsome text[3;6H[31m5[m[4;14H>some text[5;6H[31m6[m[19C[33mfor[m
[34m/*[11C and some more */[m[1;42H[35m#define >_CONSOLE>---------->---[m[31m2[m[35m [2;43H [3;42H#define >_FILE_AND_CONSOLE>---------[m[31m3[m[35m [4;43H [m[5;42Hbbeeeeee[20Csome text[7;47H[31m5[m[9;55H>some text [10;43H [5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi SpecialKey term=underline ctermfg=red guifg=red
[?25l[1;9H[1m[31m▕[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[1;15H▕[1;16H—[1;17H—[1;18H—[1;19H—[1;20H—[1;21H—[1;23H▕[1;24H—[1;25H—[1;26H—[1;27H—[1;28H—[4;24Hˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[6;4H▕[6;5H—[6;6H—[6;7H—[6;8H▕[6;9H—[6;10H—[6;11H—[6;12H—[6;13H—[6;14H—[5;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet attr=[]
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnnoremap <expr> GG ":let attr += ['".screenattr(screenrow(),screencol())."']\n
[23;80H"[24;1H[?25l[1;1H[L[1;1Hbbeeeeee[1m[31m▕[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[1;15H▕[1;16H—[1;17H—[1;18H—[1;19H—[1;20H—[1;21H—[m[1;22H;[1m[31m▕[1;24H—[1;25H—[1;26H—[1;27H—[1;28H—[m[1;29Hsome text[1m[34m¶[m[1;41H[7m|[m[35m#define >_CONSOLE>---------->---[m[31m2[m[35m [m[24;1H[K[5;1H[?12l[?25h[?25l[24;1H:[?12l[?25h$
[?25l[6;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt0
[?25l[1;1H [34m/*[m[1m[31m▕[1;5H—[1;6H—[1;7H—[1;8H▕[1;9H—[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[m[1;15H[34m and some more */[m[1m[34m¶[m[1;33H
[1m[34m~
~
~
~ [m
[6;1H[1m[34m~
~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:let attr += ['0']
[1;1H[?12l[?25h[1;2H[?25l[24;1H[K[24;1H:let attr += ['69']
[1;2H[?12l[?25h[1;3H[?25l[24;1H[K[24;1H:let attr += ['69']
[1;3H[?12l[?25h[1;4H[?25l[24;1H[K[24;1H:let attr += ['107']
[1;4H[?12l[?25h[1;8H[?25l[24;1H[K[24;1H:let attr += ['107']
[1;8H[?12l[?25h[1;15H[?25l[24;1H[K[24;1H:let attr += ['69']
[1;15H[?12l[?25h[1;16H[?25l[24;1H[K[24;1H:let attr += ['69']
[1;16H[?12l[?25h[1;17H[?25l[24;1H[K[24;1H:let attr += ['69']
[1;17H[?12l[?25h[1;18H[?25l[24;1H[K[24;1H:let attr += ['69']
[1;18H[?12l[?25h[1;19H[?25l[24;1H[K[24;1H:let attr += ['69']
[1;19H[?12l[?25h[1;20H[1;20H[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', ['ScreenAttributes for test6:'])
[?25l[2;1HScreenAttributes [33mfor[m test6:[1m[34m¶[m[2;29H [1;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;2H[34m/*[m[1m[31m▕[1;5H—[1;6H—[1;7H—[1;8H▕[1;9H—[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[m[1;15H[34m and some more */[m[1m[34m¶[m[1;41H[7m|[m
ScreenAttributes [33mfor[m test6:[1m[34m¶[m[2;41H[7m|[m
Attribut [31m0[m and [31m1[m and [31m3[m and [31m5[m are differe[7m|[4;41H|[m
[1m[34m~ [m[1;42H[35m#define >_CONSOLE>---------->---[m[31m2[m[35m [m[2;42H[1m[34m+[m[35m [3;42H#define >_FILE_AND_CONSOLE>---------[m[31m3[m[35m [m[4;42H[1m[34m+[m[35m [m[24;1H[K[1;20H[?12l[?25h[?25l[24;1H:[?12l[?25hset cpo&vim linebreak selection=exclusive
[?25l[1;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 8: set linebreak with visual block mode and v_b_A and select
[23;80Hi[24;1Hon=exclusive and multibyte char"
[?25l[1;1H[L[1;2H[34m/*[m[1m[31m▕[1;5H—[1;6H—[1;7H—[1;8H▕[1;9H—[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[m[1;15H[34m and some more */[m[1m[34m¶[m[1;41H[7m|[m[35m#define >_CONSOLE>---------->---[m[31m2[m[35m [m[24;1H[K[1;20H[?12l[?25h[?25l[24;1H:[?12l[?25h$put =g:test
[?25l[4;1HTest [31m8[m: set linebreak with visual block [4;1H[?12l[?25h[4;1H[?25l[5;1H[32mlong[m line:[1m[31mˑ[m[1m[34m¶[m[5;13H [5;11H[?12l[?25h[?25l[1;1H[1m[34m¶[m[1;2H
[1m[34m¶[m[2;2H
[1m[34m¶[m[3;2H
[1m[34m¶[m[4;2H
oobar foobar foobar foobar foobar[1m[31mˑ[m[1m[34m¶[5;34H[?12l[?25h[?25l[m
foobar foobar TARGET[1m[34m¶[m[5;22H [5;21H[?12l[?25h[?25lÃ' at end[1m[34m¶[5;29H[?12l[?25h[5;29H[?25l[m[24;1H[K[24;1H:[?12l[?25hexe "norm! $3B\<C-v>eAx\<Esc>"
[?25l[5;22Hx' at end[1m[34m¶[5;15H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[5;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 9: a multibyte sign and colorcolumn"
[?25l[5;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet attr=[]
[?25l[5;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet attr2=[]
[?25l[5;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;1H [34m/*[m[1m[31m▕[1;5H—[1;6H—[1;7H—[1;8H▕[1;9H—[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[m[1;15H[34m and some more */[m[1m[34m¶[m[2;1HScreenAttributes [33mfor[m test6:[1m[34m¶[m[3;1HAttribut [31m0[m and [31m1[m and [31m3[m and [31m5[m are differe
Test [31m8[m: set linebreak with visual block
[32mlong[m line: foobar foobar foobar foobar f
[1m[34m¶[m[6;2H [6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='a b c'
[?25l[7;1Ha b c[1m[34m¶[m[7;7H [7;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='a b c'
[?25l[8;1Ha b c[1m[34m¶[m[8;7H [8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset list nolinebreak cc=3
[?25l[1;3H[34m[41m*[m
Sc[41mr
[mAt[41mt
[mTe[41ms[m[5;3H[32m[41mn[m[6;3H[41m
[ma [41mb
[ma [41mb[8;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsign define foo text=^+
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsign place 1 name=foo line=50 buffer=2
[?25l[1;1H[34m[47m [m [34m/[m[34m[41m*[m[1m[31m▕[1;7H—[1;8H—[1;9H—[1;10H▕[1;11H—[1;12H—[1;13H—[1;14H—[1;15H—[1;16H—[m[1;17H[34m and some more */[m[1m[34m¶[m[2;1H[34m[47m [mSc[41mr[meenAttributes [33mfor[m test6:[1m[34m¶[m[3;1H[34m[47m [mAt[41mt[mribut [31m0[m and [31m1[m and [31m3[m and [31m5[m are diff
[34m[47m [mTe[41ms[mt [31m8[m: set linebreak with visual bloc
[34m[47m [m[32mlo[m[32m[41mn[m[32mg[m line: foobar foobar foobar foobar
[34m[47m [m[1m[34m¶[m[6;5H[41m [m
+a [41mb[m c[1m[34m¶[m[8;1H[34m[47m [ma [41mb[m c[1m[34m¶[m[9;1H[34m[47m
[m[9;3H[1m[34m~[10;3H~[m[1;42H[34m[47m [m[35m#define >_CONSOLE>[8C-->---[m[31m2[m[2;42H[34m[47m [m[1m[34m+[m[35m [m[3;42H[34m[47m [m[35m#define >_FILE_AND_CONSOLE>[7C--[m[31m3[m[4;42H[34m[47m [m[1m[34m+[m[35m [m[5;42H[34m[47m [mbbeeeeee[11C ; some text[6;42H[34m[47m [7;42H [mTest [31m5[m: set linebreak list listchars [8;42H[34m[47m [m[1m[34m+[mand concealing part2[9;42H[34m[47m [meeeeee>--->-;>some text[10;42H[34m[47m [m[1m[34m+[8;3H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnorm! 2kztj
[?25l[1;1H[34m[47m [m[1m[34m¶[m[1;4H [41m [m
+a [41mb[m c[1m[34m¶[m[2;9H
[34m[47m [ma [41mb[m c[1m[34m¶[m[3;9H
[34m[47m [m[1m[34m~ [m
[34m[47m [m[1m[34m~ [m
[6;1H[34m[47m
[m[6;3H[1m[34m~ [7;3H~ [8;3H~ [9;3H~ [10;3H~ [m[24;1H[K[2;3H[?12l[?25h[?25l[24;1H:[?12l[?25hlet line1=line('.')
[?25l[2;3H[?12l[?25h[2;3H[?25l[24;1H[K[24;1H:let attr += ['0']
[2;3H[?12l[?25h[2;4H[?25l[24;1H[K[24;1H:let attr += ['0']
[2;4H[?12l[?25h[2;5H[?25l[24;1H[K[24;1H:let attr += ['92']
[2;5H[?12l[?25h[2;6H[?25l[24;1H[K[24;1H:let attr += ['0']
[2;6H[?12l[?25h[2;7H[3;7H[?25l[24;1H[K[24;1H:[?12l[?25hlet line2=line('.')
[?25l[3;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet attr2=attr
[?25l[3;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet attr=[]
[?25l[3;7H[?12l[?25h[3;3H[?25l[24;1H[K[24;1H:let attr += ['0']
[3;3H[?12l[?25h[3;4H[?25l[24;1H[K[24;1H:let attr += ['0']
[3;4H[?12l[?25h[3;5H[?25l[24;1H[K[24;1H:let attr += ['92']
[3;5H[?12l[?25h[3;6H[?25l[24;1H[K[24;1H:let attr += ['0']
[3;6H[?12l[?25h[3;7H[3;7H[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H[34m[47m [m[1m[34m¶[m[1;5H[41m [m[35C[7m|[m
+a [41mb[m c[1m[34m¶[m[2;41H[7m|[m
[34m[47m [ma [41mb[m c[1m[34m¶[m[3;41H[7m|[4;41H|[5;41H|[6;41H|[7;41H|[8;41H|[9;41H|[10;41H|[m[4;1H[34m[47m
[m[4;3H[1m[34m~ [5;3H~ [6;3H~ [7;3H~ [8;3H~ [9;3H~ [10;3H~ [m
[1m[7m[No Name] [+] [m[1;42H[34m[47m [m[35m#define >_CONSOLE>---------->---[m[31m2[m[35m [m[2;42H[34m[47m [m[1m[34m+[m[35m [m[3;42H[34m[47m [m[35m#define >_FILE_AND_CONSOLE>---------[m[31m3[m[4;42H[34m[47m [m[1m[34m+[m[35m [m[5;42H[34m[47m [mbbeeeeee[13C; some text[6;42H[34m[47m [7;42H [mTest [31m5[m: set linebreak list listchars[8;42H[34m[47m [m[1m[34m+[mand concealing part2[9;42H[34m[47m [meeeeee>--->-;>some text[10;42H[34m[47m [m[1m[34m+[m[11;42H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [3;7H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),3)
[?25l[3;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l[24;1H3 more lines[24;13H[K[4;3H[1m[34m¶[m[4;4H [41m [m [5;3HTe[41ms[mt [31m9[m: a multibyte sign and colorcolu[6;3H [41m¶[m[6;6H[1m[31mˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[m[7;3H+[41ma[m b c¶[7;11H[1m[31mˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[m[8;3H [41ma[m b c¶[8;11H[1m[31mˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[m[1;44Ha b c[1;49H[K[2;44H[K[3;44HTest [31m9[m: a multibyte sign and colorcol[4;45Humn[5;44H ¶[5;47H [13C [6;44H[1m[34m+[m[7;44H+a b c¶[7;52H [8;45H [8;49H[K[9;44H a b c¶[9;52H [3;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected: attr[2] is different because of colorcolumn
[?25l[3;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1H[34m[47m [m[1m[34m¶[m[1;5H[41m [m[35C[7m|[m
+a [41mb[m c[1m[34m¶[m[2;41H[7m|[m
[34m[47m [ma [41mb[m c[1m[34m¶[m[3;41H[7m|[m
[34m[47m [m[1m[34m¶[m[4;5H[41m [m[35C[7m|[m[9;3HSc[41mr[meen attributes are the same![1m[34m¶[m[9;35H [1;42H[34m[47m [ma b c[2;42H[34m[47m [3;42H [mTest [31m9[m: a multibyte sign and colorcol[4;42H[34m[47m [m[1m[34m+[mumn[24;1H[K[3;7H[?12l[?25h[?25l[24;1H:[?12l[?25h%w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 57 lines, 1882 characters written[11;1H[1m[7mtest.out] [m[27C[7mtest.out [3;7H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test54.in" 22 lines, 658 characters[1;1HSome 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.oo[9;1Hut
:else
: !rm -f test.out
: au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out
:endif
:e somefile[11C" here, autocommand for xx shall write test.out
:[21C" but autocommand shall not apply to buffer named <buffer>[16;1H:bwipe xx[13C" here, autocommand shall be auto-deleted
:e xx[17C" nothing shall be written
:e somefile[11C" nothing shall be written
:qa!
ENDTEST
start of test file xx
end of test file xx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HSome tests for buffer-local autocommands[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 15 lines, 555 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[20;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he xx
[?25l"xx" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hif has("vms")
[?25l
: [?12l[?25h: !del test.out.*
[?25l: [?12l[?25h: au BufLeave <buffer> :!write sys$output "buffer-local autommand in %" > te
[23;80Hs[24;1Ht.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=[24;1H
[?25l: :[?12l[?25h au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out
[?25l: [?12l[?25h:endif
[?25l[24;1H[K[24;1H:[?12l[?25he somefile " here, autocommand for xx shall write test.out
[?25l:!echo buffer-local autommand in xx>> test.out[24;47H[K[24;47H
[?12l[?25h[?25l[m"somefile" [New File]
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h " but autocommand shall not apply to buffer named <buffer
[23;80H>[24;1H[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hbwipe xx " here, autocommand shall be auto-deleted
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he xx " nothing shall be written
[?25l"xx" [New File][24;23H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he somefile " nothing shall be written
[?25l"somefile" [New File][24;23H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test17.in" 135 lines, 2431 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for:[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 27 lines, 564 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[10M[1;24r[14;1H:" 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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1H:"
:if has("unix")
:let $CDIR = "."
/CDIR[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[10L[?25l[1;1H: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':[14;56H[K[15;4H > nmake -f Make_dos.mak test17.out[15;39H[K[16;2Hw! test.out[16;13H[K[17;1Hgf[17;3H[K[18;1H:set ff=unix
:w! test.out
:brewind[20;9H[K[21;1HENDTEST[21;8H[K[22;1H[K[23;9H${CDIR}/test17a.in[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25h" Dummy writing for making that sure gf doesn't fail even if the current
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" file is modified. It can be occurred when executing the following command
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" directly on Windows without fixing the 'fileformat':
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" > nmake -f Make_dos.mak test17.out
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 135 lines, 2431 characters written[23;9H[?12l[?25h[?25l
"/<<PKGBUILDDIR>>/src/vim-athena/testdir/./test17a.in" 3 lines, 8
[23;80H8[24;2Hcharacters
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[2L[?25l[1;1HThis file is just to test "gf" in test 17.
The contents is not important.
Just testing!
[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ff=unix
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H3 lines, 88 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters[1;1H:" 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[4;39H[K[5;1H:w! test.out[5;13H[K[6;1Hgf[6;3H[K[7;1H:set ff=unix[7;13H[K[8;1H:w! test.out[8;13H[K[9;1H:brewind[9;9H[K[10;1HENDTEST[10;8H[K[11;1H[K[12;1H ${CDIR}/test17a.in[12;27H[K[13;1H $TDIR/test17a.in[13;25H[K[14;1H[K[15;1HSTARTTEST[15;10H[K[16;1H:" check for 'include' without \zs or \ze[16;42H[K[17;1H:lang C[17;8H[K[18;1H:call delete("./Xbase.a")[18;26H[K[19;1H:call delete("Xdir1", "rf")[19;28H[K[20;1H:!mkdir Xdir1[20;14H[K[21;1H:!mkdir "Xdir1/dir2"[21;21H[K[22;1H:e! Xdir1/dir2/foo.a[22;21H[K[23;1Hi#include "bar.a"[34m^[[m:[23;23H[K[12;8H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H23 lines, 396 characters written[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[16;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:e Xdir1/dir2/baz.a
i#include[12C"foo.a"[34m^[[m:
:w
:e Xbase.a
:set path=Xdir1/dir2
i#include <foo.a>[34m^[[m:
: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" check for 'include' without \zs or \ze
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang C
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("./Xbase.a")
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir Xdir1
[?25l[13C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[20C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25he! Xdir1/dir2/foo.a
[?25l"Xdir1/dir2/foo.a" [New File][27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m#include "bar.a"[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;18H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/foo.a" [New File] 1 line, 19 characters written[1;18H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/bar.a
[?25l"Xdir1/dir2/bar.a" [New File][1;1H[K[1;1H[?12l[?25h[?25l#include "baz.a"[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/bar.a" [New File] 1 line, 22 characters written[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/baz.a
[?25l"Xdir1/dir2/baz.a" [New File][1;1H[K[1;1H[?12l[?25h[?25l#include[12C"foo.a"[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;27H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/baz.a" [New File] 1 line, 28 characters written[1;27H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xbase.a
[?25l"Xbase.a" [New File][1;1H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset path=Xdir1/dir2
[?25l[1;1H[?12l[?25h[?25l#include <foo.a>[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xbase.a" [New File] 1 line, 20 characters written[1;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir! >>test.out
[?25l[1;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcheckpath!
[?25l[24;1H[K[24;1H[35m--- Included files in path ---[m
[34mXdir1/dir2/foo.a[m
Xdir1/dir2/foo.a -->
[34mXdir1/dir2/bar.a[m
Xdir1/dir2/bar.a -->
[34mXdir1/dir2/baz.a[m
Xdir1/dir2/baz.a -->
[34m"foo.a"[m (Already listed)
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[8L[1;1H#include <foo.a>
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[24;1H[K[1;19H[?12l[?25h[?25l[24;1H:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters[1;1Hi#include "foo.a"[34m^[[m:
:w[2;3H[K[3;1H:e Xbase.a[3;11H[K[4;1H:set path=Xdir1/dir2[4;21H[K[5;1Hi#include <foo.a>[34m^[[m:[5;24H[K[6;1H:w[6;3H[K[7;1H:redir! >>test.out[7;19H[K[8;1H:checkpath![8;12H[K[9;1H:redir END[9;11H[K[10;1H:brewind[10;9H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1HSTARTTEST[13;10H[K[14;1H:" check for 'include' with \zs and \ze[14;40H[K[15;1H:call delete("./Xbase.b")[15;26H[K[16;1H:call delete("Xdir1", "rf")[16;28H[K[17;1H:!mkdir Xdir1[17;14H[K[18;1H:!mkdir "Xdir1/dir2"[18;21H[K[19;1H:let &include='^\s*%inc\s*/\zs[^/]\+\ze'[19;41H[K[20;1H:function! DotsToSlashes()[20;27H[K[21;1H: return substitute(v:fname, '\.', '/', 'g') . '.b'[21;53H[K[22;1H:endfunction[22;13H[K[23;1H:let &includeexpr='DotsToSlashes()'[23;36H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H27 lines, 532 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:e Xdir1/dir2/baz.b
i%inc[12C/foo/[34m^[[m:
:w
:e Xbase.b
:set path=Xdir1/dir2
i%inc /foo/[34m^[[m:
: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][12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" check for 'include' with \zs and \ze
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("./Xbase.b")
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir Xdir1
[?25l[13C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[20C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25hlet &include='^\s*%inc\s*/\zs[^/]\+\ze'
[?25l[27m[23m[m[H[2J[1;1H:e Xdir1/dir2/baz.b
i%inc[12C/foo/[34m^[[m:
:w
:e Xbase.b
:set path=Xdir1/dir2
i%inc /foo/[34m^[[m:
: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][13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfunction! DotsToSlashes()
[?25l
: [?12l[?25h: return substitute(v:fname, '\.', '/', 'g') . '.b'
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1H:e Xdir1/dir2/baz.b
i%inc[12C/foo/[34m^[[m:[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet &includeexpr='DotsToSlashes()'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xdir1/dir2/foo.b
[?25l"Xdir1/dir2/foo.b" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m%inc /bar/[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/foo.b" [New File] 1 line, 13 characters written[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/bar.b
[?25l"Xdir1/dir2/bar.b" [New File][1;1H[K[1;1H[?12l[?25h[?25l%inc /baz/[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/bar.b" [New File] 1 line, 16 characters written[1;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/baz.b
[?25l"Xdir1/dir2/baz.b" [New File][1;1H[K[1;1H[?12l[?25h[?25l%inc[12C/foo/[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/baz.b" [New File] 1 line, 22 characters written[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xbase.b
[?25l"Xbase.b" [New File][1;1H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset path=Xdir1/dir2
[?25l[1;1H[?12l[?25h[?25l%inc /foo/[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xbase.b" [New File] 1 line, 14 characters written[1;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir! >>test.out
[?25l[1;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcheckpath!
[?25l[24;1H[K[24;1H[35m--- Included files in path ---[m
[34mXdir1/dir2/foo.b[m
Xdir1/dir2/foo.b -->
[34mXdir1/dir2/bar.b[m
Xdir1/dir2/bar.b -->
[34mXdir1/dir2/baz.b[m
Xdir1/dir2/baz.b -->
[34mfoo[m (Already listed)
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[8L[1;1H%inc /foo/
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[24;1H[K[1;13H[?12l[?25h[?25l[24;1H:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters[1;1Hi%inc /foo/[34m^[[m:
:w[2;3H[K[3;1H:e Xbase.b[3;11H[K[4;1H:set path=Xdir1/dir2[4;21H[K[5;1Hi%inc /foo/[34m^[[m:[5;18H[K[6;1H:w[6;3H[K[7;1H:redir! >>test.out[7;19H[K[8;1H:checkpath![8;12H[K[9;1H:redir END[9;11H[K[10;1H:brewind[10;9H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1HSTARTTEST[13;10H[K[14;1H:" check for 'include' with \zs and no \ze[14;43H[K[15;1H:call delete("./Xbase.c")[15;26H[K[16;1H:call delete("Xdir1", "rf")[16;28H[K[17;1H:!mkdir Xdir1[17;14H[K[18;1H:!mkdir "Xdir1/dir2"[18;21H[K[19;1H:let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'[19;73H[K[20;1H:function! StripNewlineChar()[20;30H[K[21;1H: if v:fname =~ '\n$'[21;23H[K[22;1H: return v:fname[:-2][22;25H[K[23;1H: endif[23;9H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H39 lines, 745 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:w
:e Xdir1/dir2/baz.c
i%inc[12Cfoo.c[34m^[[m:
:w
:e Xdir1/dir2/FALSE.c
i%inc[12Cfoo.c[34m^[[m:
:w
:e Xbase.c
:set path=Xdir1/dir2
i%inc FALSE.c foo.c[34m^[[m:
: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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" check for 'include' with \zs and no \ze
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("./Xbase.c")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir Xdir1
[?25l[13C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[20C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25hlet &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'
[?25l[27m[23m[m[H[2J[1;1H:w
:e Xdir1/dir2/baz.c
i%inc[12Cfoo.c[34m^[[m:
:w
:e Xdir1/dir2/FALSE.c
i%inc[12Cfoo.c[34m^[[m:
:w
:e Xbase.c
:set path=Xdir1/dir2
i%inc FALSE.c foo.c[34m^[[m:
: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
[1;1H[5L[?25l[1;1H:w
:e Xdir1/dir2/baz.c
i%inc[12Cfoo.c[34m^[[m:
:w
:e Xdir1/dir2/FALSE.c[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet &includeexpr='StripNewlineChar()'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xdir1/dir2/foo.c
[?25l"Xdir1/dir2/foo.c" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m%inc bar.c[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/foo.c" [New File] 1 line, 13 characters written[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/bar.c
[?25l"Xdir1/dir2/bar.c" [New File][1;1H[K[1;1H[?12l[?25h[?25l%inc baz.c[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/bar.c" [New File] 1 line, 16 characters written[1;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/baz.c
[?25l"Xdir1/dir2/baz.c" [New File][1;1H[K[1;1H[?12l[?25h[?25l%inc[12Cfoo.c[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/baz.c" [New File] 1 line, 22 characters written[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/FALSE.c
[?25l"Xdir1/dir2/FALSE.c" [New File][1;1H[K[1;1H[?12l[?25h[?25l%inc[12Cfoo.c[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/FALSE.c" [New File] 1 line, 22 characters written[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xbase.c
[?25l"Xbase.c" [New File][1;1H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset path=Xdir1/dir2
[?25l[1;1H[?12l[?25h[?25l%inc FALSE.c foo.c[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xbase.c" [New File] 1 line, 22 characters written[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir! >>test.out
[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcheckpath!
[?25l[24;1H[K[24;1H[35m--- Included files in path ---[m
[34mXdir1/dir2/foo.c[m
Xdir1/dir2/foo.c -->
[34mXdir1/dir2/bar.c[m
Xdir1/dir2/bar.c -->
[34mXdir1/dir2/baz.c[m
Xdir1/dir2/baz.c -->
[34mfoo.c[m (Already listed)
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[8L[1;1H%inc FALSE.c foo.c
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[24;1H[K[1;21H[?12l[?25h[?25l[24;1H:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters[1;1H:w[1;3H[K[2;1H:e Xdir1/dir2/baz.c[2;20H[K[3;1Hi%inc foo.c[34m^[[m:[3;26H[K[4;1H:w[4;3H[K[5;1H:e Xdir1/dir2/FALSE.c[5;22H[K[6;1Hi%inc foo.c[34m^[[m:[6;26H[K[7;1H:w[7;3H[K[8;1H:e Xbase.c[8;11H[K[9;1H:set path=Xdir1/dir2[9;21H[K[10;1Hi%inc FALSE.c foo.c[34m^[[m:[10;26H[K[11;1H:w[11;3H[K[12;1H:redir! >>test.out[12;19H[K[13;1H:checkpath![13;12H[K[14;1H:redir END[14;11H[K[15;1H:brewind[15;9H[K[16;1H:" change "\" to "/" for Windows and fix 'fileformat'[16;54H[K[17;1H:e test.out[17;12H[K[18;1H:%s#\\#/#g[18;11H[K[19;1H:set ff&[19;9H[K[20;1H:w[20;3H[K[21;1H:q[21;3H[K[22;1HENDTEST[22;8H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" change "\" to "/" for Windows and fix 'fileformat'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he test.out
[?25l"test.out" 33 lines, 655 characters[1;1HThis file is just to test "gf" in test 17.
The contents is not important.
Just testing![3;18H[K[4;1H[K[5;1H[K[6;1H--- Included files in path ---
Xdir1/dir2/foo.a
Xdir1/dir2/foo.a -->
Xdir1/dir2/bar.a[9;19H[K[10;1H Xdir1/dir2/bar.a -->[10;23H[K[11;1H Xdir1/dir2/baz.a
Xdir1/dir2/baz.a -->
"foo.a" (Already listed)[14;1H[K[15;1H[K[16;1H--- Included files in path ---[16;31H[K[17;1HXdir1/dir2/foo.b
Xdir1/dir2/foo.b -->
Xdir1/dir2/bar.b
Xdir1/dir2/bar.b -->
Xdir1/dir2/baz.b
Xdir1/dir2/baz.b -->[23;7Hfoo (Already listed)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%s#\\#/#g
[?25l[1m[37m[41mE486: Pattern not found: \\[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ff&
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" 33 lines, 655 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test30.in" 237 lines, 3762 characters[1;1HTest 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[34m^[[m
:$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.[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for a lot of variations of the 'fileformats' option[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 221 lines, 3592 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$r XXtt64
Go7[34m^[[m:$r XXtt71
:$r XXtt72
Go8[34m^[[m:$r XXtt81
:$r XXtt82
Go9[34m^[[m:$r XXtt91
:$r XXtt92
:$r XXtt93
Go10[34m^[[m:$r XXUnix
:set nobinary ff&
:w
:qa!
ENDTEST
unix
unix
eof
dos[34m^M[m
dos[34m^M[m
eof
mac[34m^M[mmac[34m^M[13;1H[?12l[?25h
[?25l[24;1H[m:so! Xdotest
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" first write three test files, one in each format
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformat=unix
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^unix/;/eof/-1w! XXUnix
[?25l"XXUnix" [24;10H[K[24;10H[New File] 2 lines, 10 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^dos/;/eof/-1w! XXDos
[?25l"XXDos" [24;9H[K[24;9H[New File] 2 lines, 10 characters written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin noeol
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! XXMac
[?25l"XXMac" [24;9H[K[24;9H[New File][Incomplete last line] 1 line, 8 characters written[19;1H[?12l[?25h[23;1H[?25l[1;23r[23;1H
[1;24r[23;1Hnoeol[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$w! XXEol
[?25l"XXEol" [24;9H[K[24;9H[New File][Incomplete last line] 1 line, 5 characters written[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nobin eol
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25henew!
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l3 buffers wiped out[24;21H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" create mixed format files
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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=[24;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=[24;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=[24;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=[24;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=[24;1H
[?25l: :[?12l[?25hendif
[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h" try reading and writing with 'fileformats' empty
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformat=unix
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUnix
[?25l"XXUnix" [24;10H[K[24;10H2 lines, 10 characters[1;1Hunix
unix[2;5H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 2 lines, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXDos
[?25l"XXDos" [24;9H[K[24;9H2 lines, 10 characters[1;1Hdos[34m^M[m
dos[34m^M[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt01
[?25l"XXtt01" [24;10H[K[24;10H[New File] 2 lines, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXMac
[?25l"XXMac" [24;9H[K[24;9H[Incomplete last line] 1 line, 8 characters[1;1Hmac[2Cmac[34m^M[m
[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt02
[?25l"XXtt02" [24;10H[K[24;10H[New File] 1 line, 9 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters
3 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fileformat=dos
[?25l[1;1H[2L[1;1H:$r XXtt64
Go7[34m^[[m:$r XXtt71
:$r XXtt72[3;11H[K[4;1HGo8[34m^[[m:$r XXtt81[4;16H[K[5;1H:$r XXtt82[5;11H[K[6;1HGo9[34m^[[m:$r XXtt91[6;16H[K[7;1H:$r XXtt92[7;11H[K[8;1H:$r XXtt93[8;11H[K[9;1HGo10[34m^[[m:$r XXUnix[9;17H[K[10;1H:set nobinary ff&[10;18H[K[11;1H:w[11;3H[K[12;1H:qa![12;5H[K[13;1HENDTEST[13;8H[K[14;1H[K[15;1Hunix[15;5H[K[16;1Hunix[16;5H[K[17;1Heof[17;4H[K[18;1H[K[19;1Hdos[34m^M[m[19;6H[K[20;1Hdos[34m^M[m[20;6H[K[21;1Heof[21;4H[K[22;1H[K[23;1Hmac[34m^M[mmac[34m^M[m[23;11H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25he! XXUnix
[?25l"XXUnix" [24;10H[K[24;10H[CR missing][dos format] 2 lines, 10 characters[1;1Hunix[1;5H[K[2;1Hunix[2;5H[K[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt11
[?25l"XXtt11" [24;10H[K[24;10H[New File][dos format] 2 lines, 12 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXDos
[?25l"XXDos" [24;9H[K[24;9H[dos format] 2 lines, 10 characters[1;1Hdos[1;4H[K[2;1Hdos[2;4H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXtt12
[?25l"XXtt12" [24;10H[K[24;10H[New File][dos format] 2 lines, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXMac
[?25l"XXMac" [24;9H[K[24;9H[Incomplete last line][dos format] 1 line, 8 characters[1;1Hmac[34m^M[mmac[34m^M[m
[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt13
[?25l"XXtt13" [24;10H[K[24;10H[New File][dos format] 1 line, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters
3 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fileformat=mac
[?25l[1;1H[2L[1;1H:$r XXtt64
Go7[34m^[[m:$r XXtt71
:$r XXtt72[3;11H[K[4;1HGo8[34m^[[m:$r XXtt81[4;16H[K[5;1H:$r XXtt82[5;11H[K[6;1HGo9[34m^[[m:$r XXtt91[6;16H[K[7;1H:$r XXtt92[7;11H[K[8;1H:$r XXtt93[8;11H[K[9;1HGo10[34m^[[m:$r XXUnix[9;17H[K[10;1H:set nobinary ff&[10;18H[K[11;1H:w[11;3H[K[12;1H:qa![12;5H[K[13;1HENDTEST[13;8H[K[14;1H[K[15;1Hunix[15;5H[K[16;1Hunix[16;5H[K[17;1Heof[17;4H[K[18;1H[K[19;1Hdos[19;4H[K[20;1Hdos[20;4H[K[21;1Heof[21;4H[K[22;1H[K[23;1Hmac[34m^J[mmac[23;9H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25he! XXUnix
[?25l"XXUnix" [24;10H[K[24;10H[Incomplete last line][mac format] 1 line, 10 characters[1;1Hunix[34m^J[munix[34m^J[m
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt21
[?25l"XXtt21" [24;10H[K[24;10H[New File][mac format] 1 line, 11 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXDos
[?25l"XXDos" [24;9H[K[24;9H[Incomplete last line][mac format] 3 lines, 10 characters[1;1Hdos[1;4H[K[2;1H[34m^J[mdos[2;6H[K[3;1H[34m^J[m[3;3H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXtt22
[?25l"XXtt22" [24;10H[K[24;10H[New File][mac format] 3 lines, 11 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXMac
[?25l"XXMac" [24;9H[K[24;9H[mac format] 2 lines, 8 characters[1;1Hmac
mac[2;4H[K[3;1H[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt23
[?25l"XXtt23" [24;10H[K[24;10H[New File][mac format] 2 lines, 8 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" [24;13H[K[24;13H[Incomplete last line][mac format] 5 lines, 3762 characters
3 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[2L[1;1H[34m^J[mdos
[34m^J[meof[34m^J^J[mmac
mac[3;4H[K[4;1H[34m^J[m[4;3H[K[24;1H[K[4;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" try reading and writing with 'fileformats' set to one format
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=unix
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;5H[K[2;1Hunix[2;5H[K[3;1Hdos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m[5;11H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXtt31
[?25l"XXtt31" [24;10H[K[24;10H[New File] 5 lines, 29 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=dos
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line][CR missing][dos format] 5 lines, 28 character
[23;80Hs[24;1H
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt32
[?25l"XXtt32" [24;10H[K[24;10H[New File][dos format] 5 lines, 32 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters[1;1H[3L[1;1HTest for a lot of variations of the 'fileformats' option
Note: This test will fail if "cat" is not available.[24;1H[K[24;1H"test30.in" [CR missing][dos format] 237 lines, 3762 characters[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=mac
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[mac format] 4 lines, 28 characters[1;1Hunix[34m^J[munix[34m^J[mdos[1;16H[K[2;1H[34m^J[mdos
[34m^J[mmac[3;7H[K[4;1Hmac
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt33
[?25l"XXtt33" [24;10H[K[24;10H[New File][mac format] 4 lines, 28 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H[Incomplete last line][mac format] 5 lines, 3762 characters[1;1H[34m^J[mdos[1;6H[K[2;3Heof[34m^J^J[mmac
mac[3;4H[K[4;1H[34m^J[m[4;3H[K[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" try reading and writing with 'fileformats' set to two formats
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=unix,dos
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;5H[K[2;1Hunix[2;5H[K[3;1Hdos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m[5;11H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXtt41
[?25l"XXtt41" [24;10H[K[24;10H[New File] 5 lines, 29 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxMac
[?25l"XXUxMac" [24;11H[K[24;11H[Incomplete last line] 3 lines, 18 characters[1;1Hunix[1;6H[K[2;1Hunix
mac[34m^M[mmac[34m^M[m[3;12H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt42
[?25l"XXtt42" [24;10H[K[24;10H[New File] 3 lines, 19 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxMac
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXDosMac
[?25l"XXDosMac" [24;12H[K[24;12H[Incomplete last line][dos format] 3 lines, 18 characters[1;1Hdo[1;4H[K[2;1Hdos
mac[34m^M[mmac[34m^M[m[3;12H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt43
[?25l"XXtt43" [24;10H[K[24;10H[New File][dos format] 3 lines, 20 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXDosMac
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=unix,mac
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDs
[?25l"XXUxDs" [24;10H[K[24;10H4 lines, 20 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt51
[?25l"XXtt51" [24;10H[K[24;10H[New File] 4 lines, 20 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDs
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt52
[?25l"XXtt52" [24;10H[K[24;10H[New File] 5 lines, 29 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXDosMac
[?25l"XXDosMac" [24;12H[K[24;12H[mac format] 4 lines, 18 characters[1;1Hdo[1;4H[K[2;1H[34m^J[mdos
[34m^J[mmac[3;7H[K[4;1Hmac
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt53
[?25l"XXtt53" [24;10H[K[24;10H[New File][mac format] 4 lines, 18 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXDosMac
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXEol
[?25l"XXEol" [24;9H[K[24;9H[Incomplete last line] 1 line, 5 characters[1;1Hnoeol[1;6H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H=[?12l[?25h&ffs
[?25l[24;1H[K[24;1H=[?12l[?25h&ff
[?25l[1;23r[1;1H[L[1;24r[1;1Hunix,mac:unix[24;1H[K[1;13H[?12l[?25h[?25l[24;1H:[?12l[?25hw! XXtt54
[?25l"XXtt54" [24;10H[K[24;10H[New File] 2 lines, 20 characters written[1;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[3;53H[K[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=dos,mac
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDs
[?25l"XXUxDs" [24;10H[K[24;10H[CR missing][dos format] 4 lines, 20 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[3;4H[K[4;1Hdos
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt61
[?25l"XXtt61" [24;10H[K[24;10H[New File][dos format] 4 lines, 22 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDs
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxMac
[?25l"XXUxMac" [24;11H[K[24;11H[Incomplete last line][CR missing][dos format] 3 lines, 18 characters[1;1Hunix[1;6H[K[2;1Hunix
mac[34m^M[mmac[34m^M[m[3;12H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H=[?12l[?25h&ffs
[?25l[24;1H[K[24;1H=[?12l[?25h&ff
[?25l[1;23r[1;1H[L[1;24r[1;1Hdos,mac:dos[24;1H[K[1;11H[?12l[?25h[?25l[24;1H:[?12l[?25hw! XXtt62
[?25l"XXtt62" [24;10H[K[24;10H[New File][dos format] 4 lines, 35 characters written[1;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxMac
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line][CR missing][dos format] 5 lines, 28 character
[23;80Hs[24;1H
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt63
[?25l"XXtt63" [24;10H[K[24;10H[New File][dos format] 5 lines, 32 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters[1;1H[3L[1;1HTest for a lot of variations of the 'fileformats' option
Note: This test will fail if "cat" is not available.[24;1H[K[24;1H"test30.in" [CR missing][dos format] 237 lines, 3762 characters[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXMacEol
[?25l"XXMacEol" [24;12H[K[24;12H[Incomplete last line][mac format] 3 lines, 13 characters[1;1Hmac[1;4H[K[2;1Hmac
noeol[3;7H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H=[?12l[?25h&ffs
[?25l[24;1H[K[24;1H=[?12l[?25h&ff
[?25l[1;23r[1;1H[L[1;24r[1;1Hdos,mac:mac[24;1H[K[1;11H[?12l[?25h[?25l[24;1H:[?12l[?25hw! XXtt64
[?25l"XXtt64" [24;10H[K[24;10H[New File][mac format] 4 lines, 26 characters written[1;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXMacEol
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" try reading and writing with 'fileformats' set to three formats
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=unix,dos,mac
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt71
[?25l"XXtt71" [24;10H[K[24;10H[New File] 5 lines, 29 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXEol
[?25l"XXEol" [24;9H[K[24;9H[Incomplete last line] 1 line, 5 characters[1;1Hnoeol[1;6H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H=[?12l[?25h&ffs
[?25l[24;1H[K[24;1H=[?12l[?25h&ff
[?25l[1;23r[1;1H[L[1;24r[1;1Hunix,dos,mac:unix[24;1H[K[1;17H[?12l[?25h[?25l[24;1H:[?12l[?25hw! XXtt72
[?25l"XXtt72" [24;10H[K[24;10H[New File] 2 lines, 24 characters written[1;17H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[3;53H[K[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=mac,dos,unix
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt81
[?25l"XXtt81" [24;10H[K[24;10H[New File] 5 lines, 29 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXEol
[?25l"XXEol" [24;9H[K[24;9H[Incomplete last line][mac format] 1 line, 5 characters[1;1Hnoeol[1;6H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H=[?12l[?25h&ffs
[?25l[24;1H[K[24;1H=[?12l[?25h&ff
[?25l[1;23r[1;1H[L[1;24r[1;1Hmac,dos,unix:mac[24;1H[K[1;16H[?12l[?25h[?25l[24;1H:[?12l[?25hw! XXtt82
[?25l"XXtt82" [24;10H[K[24;10H[New File][mac format] 2 lines, 23 characters written[1;16H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[3;53H[K[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" try with 'binary' set
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=mac,unix,dos
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset binary
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt91
[?25l"XXtt91" [24;10H[K[24;10H[New File][Incomplete last line] 5 lines, 28 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=mac
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt92
[?25l"XXtt92" [24;10H[K[24;10H[New File][Incomplete last line] 5 lines, 28 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=dos
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt93
[?25l"XXtt93" [24;10H[K[24;10H[New File][Incomplete last line] 5 lines, 28 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Append "END" to each file so that we can see what the last written char was.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformat=unix nobin
[?25l[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[24;1H--No lines in buffer--[24;23H[K[1;1H[?12l[?25h[?25lEND[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt01
[?25l"XXtt01" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt02
[?25l"XXtt02" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt11
[?25l"XXtt11" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt12
[?25l"XXtt12" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt13
[?25l"XXtt13" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt21
[?25l"XXtt21" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt22
[?25l"XXtt22" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt23
[?25l"XXtt23" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt31
[?25l"XXtt31" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt32
[?25l"XXtt32" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt33
[?25l"XXtt33" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt41
[?25l"XXtt41" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt42
[?25l"XXtt42" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt43
[?25l"XXtt43" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt51
[?25l"XXtt51" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt52
[?25l"XXtt52" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt53
[?25l"XXtt53" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt54
[?25l"XXtt54" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt61
[?25l"XXtt61" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt62
[?25l"XXtt62" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt63
[?25l"XXtt63" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt64
[?25l"XXtt64" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt71
[?25l"XXtt71" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt72
[?25l"XXtt72" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt81
[?25l"XXtt81" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt82
[?25l"XXtt82" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt91
[?25l"XXtt91" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt92
[?25l"XXtt92" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt93
[?25l"XXtt93" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Concatenate the results.
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make fileformat of test.out the native fileformat.
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Add a newline at the end.
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset binary
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H2 lines, 10 characters[1;1Hunix
unix[2;5H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt01
[?25l"XXtt01" [24;10H[K[24;10H3 lines, 14 characters[3;1Hdos[34m^M[m[3;6H[K[4;1Hdos[34m^M[m[4;6H[K[5;1HEND[5;4H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt02
[?25l"XXtt02" [24;10H[K[24;10H2 lines, 13 characters[6;1Hmac[34m^M[mmac[34m^M[m[6;11H[K[7;1HEND[7;4H[K[6;1H[?12l[?25h
[?25l
1[8;2H[K[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt11
[?25l"XXtt11" [24;10H[K[24;10H3 lines, 16 characters[9;1Hunix[34m^M[m[9;7H[K[10;1Hunix[34m^M[m[10;7H[K[11;1HEND[11;4H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt12
[?25l"XXtt12" [24;10H[K[24;10H3 lines, 14 characters[12;1Hdos[34m^M[m[12;6H[K[13;1Hdos[34m^M[m[13;6H[K[14;1HEND[14;4H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt13
[?25l"XXtt13" [24;10H[K[24;10H2 lines, 14 characters[15;1Hmac[34m^M[mmac[34m^M^M[m[15;13H[K[16;1HEND[16;4H[K[15;1H[?12l[?25h
[?25l
2[17;2H[K[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt21
[?25l"XXtt21" [24;10H[K[24;10H3 lines, 15 characters[18;1Hunix[18;5H[K[19;1Hunix[19;5H[K[20;1H[34m^M[mEND[20;6H[K[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt22
[?25l"XXtt22" [24;10H[K[24;10H3 lines, 15 characters[21;1Hdos[34m^M[m[21;6H[K[22;1Hdos[34m^M[m[22;6H[K[23;1H[34m^M[mEND[23;6H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt23
[?25l"XXtt23" [24;10H[K[24;10H1 line, 12 characters[1;23r[23;1H
[1;24r[23;1Hmac[34m^M[mmac[34m^M[mEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H3[?12l[?25h[?25l
:[?12l[?25h$r XXtt31
[?25l"XXtt31" [24;10H[K[24;10H6 lines, 33 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt32
[?25l"XXtt32" [24;10H[K[24;10H6 lines, 36 characters[1;23r[1;1H[6M[1;24r[18;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m
END
unix[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt33
[?25l"XXtt33" [24;10H[K[24;10H5 lines, 32 characters[1;23r[1;1H[6M[1;24r[18;1Hunix[34m^M[m
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M^M[m
END
unix[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[20;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[mEND
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H4[?12l[?25h[?25l
:[?12l[?25h$r XXtt41
[?25l"XXtt41" [24;10H[K[24;10H6 lines, 33 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt42
[?25l"XXtt42" [24;10H[K[24;10H4 lines, 23 characters[1;23r[1;1H[6M[1;24r[18;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m
END
unix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt43
[?25l"XXtt43" [24;10H[K[24;10H4 lines, 24 characters[1;23r[1;1H[4M[1;24r[20;1Hunix
mac[34m^M[mmac[34m^M[m
END
dos[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M^M[m
END
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H5[?12l[?25h[?25l
:[?12l[?25h$r XXtt51
[?25l"XXtt51" [24;10H[K[24;10H5 lines, 24 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt52
[?25l"XXtt52" [24;10H[K[24;10H6 lines, 33 characters[1;23r[1;1H[5M[1;24r[19;1Hunix
dos[34m^M[m
dos[34m^M[m
END
unix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt53
[?25l"XXtt53" [24;10H[K[24;10H3 lines, 22 characters[1;23r[1;1H[6M[1;24r[18;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m
END
dos[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt54
[?25l"XXtt54" [24;10H[K[24;10H3 lines, 24 characters[1;23r[1;1H[3M[1;24r[21;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[mEND
unix,mac:unix[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hnoeol
END
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H6[?12l[?25h[?25l
:[?12l[?25h$r XXtt61
[?25l"XXtt61" [24;10H[K[24;10H5 lines, 26 characters[1;23r[23;1H
[1;24r[23;1Hunix[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt62
[?25l"XXtt62" [24;10H[K[24;10H5 lines, 39 characters[1;23r[1;1H[5M[1;24r[19;1Hunix[34m^M[m
dos[34m^M[m
dos[34m^M[m
END
dos,mac:dos[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt63
[?25l"XXtt63" [24;10H[K[24;10H6 lines, 36 characters[1;23r[1;1H[5M[1;24r[19;1Hunix[34m^M[m
unix[34m^M[m
mac[34m^M[mmac[34m^M^M[m
END
unix[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt64
[?25l"XXtt64" [24;10H[K[24;10H1 line, 30 characters[1;23r[1;1H[6M[1;24r[18;1Hunix[34m^M[m
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M^M[m
END
dos,mac:mac[34m^M[mmac[34m^M[mmac[34m^M[mnoeol[34m^M[mEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H7[?12l[?25h[?25l
:[?12l[?25h$r XXtt71
[?25l"XXtt71" [24;10H[K[24;10H6 lines, 33 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt72
[?25l"XXtt72" [24;10H[K[24;10H3 lines, 28 characters[1;23r[1;1H[6M[1;24r[18;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m
END
unix,dos,mac:unix[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hnoeol
END
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H8[?12l[?25h[?25l
:[?12l[?25h$r XXtt81
[?25l"XXtt81" [24;10H[K[24;10H6 lines, 33 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt82
[?25l"XXtt82" [24;10H[K[24;10H1 line, 27 characters[1;23r[1;1H[6M[1;24r[18;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m
END
mac,dos,unix:mac[34m^M[mnoeol[34m^M[mEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H9[?12l[?25h[?25l
:[?12l[?25h$r XXtt91
[?25l"XXtt91" [24;10H[K[24;10H5 lines, 32 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt92
[?25l"XXtt92" [24;10H[K[24;10H5 lines, 32 characters[1;23r[1;1H[5M[1;24r[19;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[mEND
unix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt93
[?25l"XXtt93" [24;10H[K[24;10H5 lines, 32 characters[1;23r[1;1H[5M[1;24r[19;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[mEND
unix[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[20;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[mEND
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H10[?12l[?25h[?25l
:[?12l[?25h$r XXUnix
[?25l"XXUnix" [24;10H[K[24;10H2 lines, 10 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset nobinary ff&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" 130 lines, 786 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test32.in" 60 lines, 1391 characters[1;1HTest 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)[11;1H: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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for insert expansion[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:so small.vim[24;1H[K[23;1H[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 27 lines, 533 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1HO[34m^N^[[mIX[34m^[[mA[34m^X^F^N^[[m
:" 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[34m^X^F^H^H^H^H^H^H^H^H^X^F^[[mddk
:se cpt=w
OST[34m^N^P^P^P^P^[[m
:se cpt=u nohid
[34m^W[moOEN[34m^N[m
unl[34m^N^X^X^P^[[m
:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch
O[34m^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D[m
a[34m^N^[[m
:wq! test.out
ENDTEST
start of testfile
run1
run2
end of testfile
test11 36Gepeto[8C/Tag/
asd test11file 36G
Makefile[8Cto run[14;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hse nocp viminfo+=nviminfo cpt=.,w ff=unix | $-2,$w!Xtestfile | set ff&
[?25l"Xtestfile" [24;13H[K[24;13H[New] 3L, 57C written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hse cot=
[?25l[15;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1Hunl[34m^N^X^X^P^[[m
:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch
O[34m^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D[m
a[34m^N^[[m[16;7H[K[17;1H:wq! test.out
ENDTEST[19;1H[K[20;1Hstart of testfile
run1[21;5H[K[22;1Hrun2[22;9H[K[23;1H[7mtest32.in [1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --
-- Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Keyword completion (^N^P) [m[32mmatch 1 of 4[2;3H[m[24;29H[K[24;1Hmatch in file test32.in[1m^[m[24;24H[K[24;1H[1m-- Keyword completion (^N^P) [m[32mmatch 2 of 4[2;5H[m[24;29H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mAdding Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Adding Keyword completion (^N^P) Word from other line[2;10H[1;11r[m[1;1H[2L[1;24r[1;1H#include "Xtestfile"
run1 run2[12;11H[1m[7m[+][2;10H[?12l[?25h[m[24;1H[K[?25l[24;1H[1m-- Adding Keyword completion (^N^P) Word from other line[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[2;9H[?12l[?25h[?25l3[?12l[?25h
[?25l[24;1H[1m-- INSERT --
-- Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1H[1m-- Keyword completion (^N^P) [m[32mmatch 1 of 115[3;5H[m[24;29H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mAdding Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1H[1m-- Adding Keyword completion (^N^P) Word from other line[3;10H[m[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mKeyword Local completion (^N^P) -- Searching...[m[24;36H[32mmatch 1 of 4[m[1m.[m[24;48H[K[4;5H[24;35H[K[24;35H[1m [m[32mmatch 2 of 4[4;5H[m[24;35H[K[24;35H[1m [m[32mmatch 3 of 4[4;10H[m[24;35H[K[24;35H[1m [m[32mmatch 4 of 4[4;8H[m[24;35H[K[24;35H[1m [m[31mBack at original[4;1H[m[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mKeyword Local completion (^N^P) -- Searching...[m[24;36H[32mmatch 1 of 4[m[1m.[m[24;48H[K[5;5H[24;35H[K[24;35H[1m [m[32mmatch 2 of 4[5;5H[m[24;35H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mKeyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1H[1m-- Keyword completion (^N^P) The only match[5;5H[m[24;29H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mAdding Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1H[1m-- Adding Keyword completion (^N^P) [m[32mmatch 1 of 2[5;10H[m[24;36H[K[24;1Hmatch in file test32.in[1me[m[24;24H[K[24;1H[1m-- Adding Keyword completion (^N^P) Word from other line[5;10H[3;11r[m[3;1H[3L[1;24r[3;1Hrun3 run3
run1 run2[?12l[?25h[24;1H[K[?25l[24;1H[1m-- Adding Keyword completion (^N^P) Word from other line[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[5;9H[?12l[?25h
[?25l[24;1H:[?12l[?25hse cpt=.,w,i
[?25l[6;1H[?12l[?25h[5;9H[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;4H[1mKeyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;9H[32m included file: Xtestfile[m
match in file test32.in[24;24H[K[24;1H[1m-- Keyword completion (^N^P) The only match[5;9H[m[24;29H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mAdding Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;9H[32m included file: Xtestfile[m
match in file test32.in[24;24H[K[24;1H[1m-- Adding Keyword completion (^N^P) The only match[5;19H[m[24;36H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mAdding Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;9H[32m included file: Xtestfile[m
match in file test32.in[24;24H[K[24;1H[1m-- Adding Keyword completion (^N^P) The only match[5;28H[m[24;36H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mKeyword Local completion (^N^P) -- Searching...[m[24;36H[32mmatch 1 of 3[m[1m.[m[24;48H[K[5;29H[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Whole line completion (^L^N^P)^ U-- Searching...[m
[32mScanning: test32.in[m[1me[m[24;20H[K[24;1H[1m-- Whole line completion (^L^N^P) [m[32mmatch 1 of 57[6;29H[m[24;4H[1mINSERT --e[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) [m[32mmatch 1 of 57[m[24;4H[1mAddinge Whole line completion (^L^N^P) -- Searching...[m
[32mScanning: test32.in[m[1me[m[24;20H[K[24;1H[1m-- Adding Whole line completion (^L^N^P) The only match[7;29H[m[24;41H[K[24;41H[1m [m[31mBack at original[7;1H[m[24;41H[K[24;41H[1m The only match[7;29H[5;11r[m[5;1H[3L[1;24r[5;1HMakefile[8Cto run3
Makefile[8Cto run3
Makefile[8Cto run3[?12l[?25h[24;1H[K[?25l[24;1H[1m-- INSERT --[m[24;1H[K[7;28H[?12l[?25h[8;9H[?25l[24;1H:[?12l[?25hse cpt=kXtestfile
[?25l[8;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw Xtest11.one
[?25l"Xtest11.one" [New] 9L, 104C written[12;1H[1m[7mXtest11.one+ [8;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw Xtest11.two
[?25l"Xtest11.two" [New] 9L, 104C written[8;9H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;4H[1mKeyword completion (^N^P) -- Searching...[m
[32mScanning dictionary: Xtestfile[m[1m-[m[24;31H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Keyword completion (^N^P) [m[32mmatch 1 of 9[8;7H[8;11r[m[8;1H[L[1;24r[8;1Htest11[12;13H[1m[7m[+][8;7H[mI[?12l[?25h [24;1H[K[?25l[24;1H[1m-- Keyword completion (^N^P) [m[32mmatch 1 of 9[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[8;6H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;1H[K[8;1HXtest11
[?12l[?25h[?25l[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...[m[24;34H[32mmatch 1 of 2[m[1m.[m[24;46H[K[8;12H[24;33H[K[24;33H[1m [m[32mmatch 2 of 2[8;12H[m.two[?12l[?25h[24;1H[K[?25l[24;1H[1m-- INSERT --[m[24;1H[K[8;11H[?12l[?25h[9;9H[?25l[24;1H:[?12l[?25h" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use
[?25l[9;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" CTRL-X CTRL-F again to verify this doesn't cause trouble.
[?25l[9;9H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...[m[24;34H[32mmatch 1 of 4[m[1m.[m[24;46H[K[9;8H[24;4H[1mINSERTa -- [m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...[m[24;34H[32mmatch 1 of 445[m[1m.[m[24;48H[K[9;13H
Make_all.mak
run1 run2[11;1H[K[9;13Hd[?12l[?25h [24;1H[K[?25l[24;1H[1m-- INSERT --[m[24;1H[K[9;12H[?12l[?25h[?25l
run1 run2[9;10H[K[10;1H[K[11;1H[1m[34m~ [9;1H[?12l[?25h[8;1H
[?25l[24;1H[m:[?12l[?25hse cpt=w
[?25l[9;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --
-- Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Keyword completion (^N^P) The only match[9;10H[m[24;29H[K[24;29H[1m [m[31mBack at original[9;3H[m[24;29H[K[24;1Hmatch in file test32.in[1m^[m[24;24H[K[24;1H[1m-- Keyword completion (^N^P) The only match[9;10H[m[24;29H[K[24;29H[1m [m[31mBack at original[9;3H[m[24;29H[K[24;1Hmatch in file test32.in[1m^[m[24;24H[K[24;1H[1m-- Keyword completion (^N^P) The only match[9;10H[m
STARTTEST
run1 run2[11;1H[K[9;10H[?12l[?25h[24;1H[K[?25l[24;1H[1m-- Keyword completion (^N^P) The only match[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[9;9H[?12l[?25h[10;9H[?25l[24;1H:[?12l[?25hse cpt=u nohid
[?25l[10;9H[?12l[?25h[?25l
[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [10;9H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;4H[1mKeyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Keyword completion (^N^P) The only match[10;8H[m[24;1H[K[24;1H[1m-- INSERT --
-- Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Keyword completion (^N^P) [m[32mmatch 1 of 3[11;7H[m[24;29H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mKeyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Keyword completion (^N^P) The only match[11;7H[10;23r[m[10;1H[2L[1;24r[10;1HENDTEST
unless[?12l[?25h[24;1H[K[?25l[24;1H[1m-- Keyword completion (^N^P) The only match[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[11;6H[?12l[?25h[12;6H[?25l[24;1H:[?12l[?25hse cpt=t,d def=^\\k* tags=Xtestfile notagbsearch
[?25l[12;6H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Tag completion (^]^N^P)^ N-- Searching...[m[24;28H[32mmatch 1 of 3[m[1m.[m[24;40H[K[12;7H[24;4H[1mINSERTm --e[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) [m[32mmatch 1 of 3[m[24;4H[1mDefinition completion (^D^N^P)^ U-- Searching...[m[24;50H[K[24;1H[32mScanning included file: Xtestfile[m[1m [m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Definition completion (^D^N^P) The only match[12;11H[24;4HINSERTt --n[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...[m
[32mScanning included file: Xtestfile[m[1m^[m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Adding Definition completion (^D^N^P) The only match[12;20H[24;4HINSERT --f[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- INSERTe --^[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Definition completion (^D^N^P)^ U-- Searching...[m
[32mScanning included file: Xtestfile[m[1m [m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Definition completion (^D^N^P) The only match[12;25H[24;4HINSERTt --n[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...[m
[32mScanning included file: Xtestfile[m[1m^[m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Adding Definition completion (^D^N^P) The only match[12;37H[24;4HINSERT --f[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...[m
[32mScanning included file: Xtestfile[m[1m^[m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Adding Definition completion (^D^N^P) The only match[12;38H[24;4HINSERT --f[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...[m
[32mScanning included file: Xtestfile[m[1m^[m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Adding Definition completion (^D^N^P) Word from other line[12;42H[24;4HINSERT --f[m[24;13H[K[24;1H[K[24;1H[1m-- Keyword completion (^N^P) -- Searching...[m
[32mScanning tags.[m[1mp[m[24;15H[K[24;10H[32mincluded file: Xtestfile[m
[1m-- Keyword completion (^N^P) The only match[13;4H[12;23r[m[12;1H[2L[1;24r[12;1Htest11file 36Gepeto[8C/Tag/ asd
asd[?12l[?25h[24;1H[K[?25l[24;1H[1m-- Keyword completion (^N^P) The only match[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[13;3H[?12l[?25h
ru[?25l[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test58.in" 656 lines, 11024 characters[1;1HTests 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[34m^[[mz=:"
:"
:" 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for spell checking. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 111 lines, 2591 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:"
:" 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[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Don't want to depend on the locale from the environment
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=latin1
[?25l[27m[23m[m[H[2J[1;1H:"
:" 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
:"[5;3H[K[6;4HDon't want to depend on the locale from the environment
:set enc=latin1[7;17H[K[8;2He![8;4H[K[9;2H"[9;3H[K[10;4HCheck using z= in new buffer (crash fixed by patch 7.4a.028).
:set maxmem=512 spell[11;22H[K[12;1Hiasd[34m^[[mz=:"
:"
:" Function to test .aff/.dic with list of good and bad words.
:func TestOne(aff, dic)
set spellfile=[16;17H[K[17;3H$put =''
$put ='test '. a:aff . '-' . a:dic[18;37H[K[19;1H " 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[22;23H[K[23;1H " use that spell file[23;24H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check using z= in new buffer (crash fixed by patch 7.4a.028).
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset maxmem=512 spell
[?25l[1;31H[44mvim[m
[41mSTARTTEST[7;10Hlatin1[11;6Hmaxmem
iasd[14;22Haff[m/.[41mdic
[m:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[16;7Hspellfile[m[18;18H[44ma[m:[41maff[m[9C[44ma[m:[41mdic[19;17Hspl[14Cdic[m and .[41maff
[m [41mexe[m[10C[44ma[m:[41maff[m . '[41maffstart[m[10C[44ma[m:[41maff[m . '[41maffend[m/-1w! [41mXtest[m.[41maff
[m [41mexe[m[10C[44ma[m:[41mdic[m . '[41mdicstart[m[10C[44ma[m:[41mdic[m . '[41mdicend[m/-1w! [41mXtest[m.[41mdic
[m [41mmkspell[m! [41mXtest[m [41mXtest[1;1H[?12l[?25h[?25lasdTests[m for spell checking. [44mvim[m: set ft=vim :[1;3H[?12l[?25h[?25l[24;1HChange "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[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[1;1H[41masdTests[m for spell checking. [44mvim[m: set ft=vim :
[41mSTARTTEST[m
:so small.vim
:"
:" Don't want to depend on the locale from the environment
:set enc=[41mlatin1[m
:e!
:"
:" Check using z= in new buffer (crash fixed by patch 7.4a.028).
:set [41mmaxmem[m=512 spell
[41miasd[m[34m^[[mz=:"
:"
:" Function to test .[41maff[m/.[41mdic[m with list of good and bad words.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
set [41mspellfile[m=
$put =''
$put ='test '. [44ma[m:[41maff[m . '-' . [44ma[m:[41mdic[m
" Generate a .[41mspl[m file from a .[41mdic[m and .[41maff[m file.
[41mexe[m '1;/^' . [44ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [44ma[m:[41maff[m . '[41maffend[m/-1w! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [44ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [44ma[m:[41mdic[m . '[41mdicend[m/-1w! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" use that spell file[1;3H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Function to test .aff/.dic with list of good and bad words.
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[27m[23m[m[H[2J[?25l[1;1H[41masdTests[m for spell checking. [44mvim[m: set ft=vim :
[41mSTARTTEST[m
:so small.vim
:"
:" Don't want to depend on the locale from the environment
:set enc=[41mlatin1[m
:e!
:"
:" Check using z= in new buffer (crash fixed by patch 7.4a.028).
:set [41mmaxmem[m=512 spell
[41miasd[m[34m^[[mz=:"
:"
:" Function to test .[41maff[m/.[41mdic[m with list of good and bad words.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
set [41mspellfile[m=
$put =''
$put ='test '. [44ma[m:[41maff[m . '-' . [44ma[m:[41mdic[m
" Generate a .[41mspl[m file from a .[41mdic[m and .[41maff[m file.
[41mexe[m '1;/^' . [44ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [44ma[m:[41maff[m . '[41maffend[m/-1w! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [44ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [44ma[m:[41mdic[m . '[41mdicend[m/-1w! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" use that spell file[1;3H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('1', '1')
[?25l"Xtest.aff" [24;13H[K[24;13H[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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =soundfold('goobledygoook')
[?25l[1;1H[19L[1;1Hthe end
uk
wrong
-------
[41mbad[m
['put', 'uk', 'OK']
[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test'][20;22H[K[21;1H[41mth[m[21;4H[K[22;1H['put', 'uk', 'test'][22;22H[K[23;1H[41mgebletegek[m[23;11H[K[24;1H[K[23;1H[?12l[?25h[?25l
[1;24r[23;1H[41mkepereneven[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l[1;23r[23;1H
[1;24r[23;1H[41meverles[m [41mgesvets[m [41metele[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" and now with SAL instead of SOFO items; test automatic reloading
[?25l[23;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H[41masdTests[m [41mfor[m [41mspell[m [41mchecking[m. [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:"
:" [41mDon't[m [41mwant[m [41mto[m [41mdepend[m [41mon[m [41mthe[m [41mlocale[m [41mfrom[m [41mthe[m [41menvironment[m
:[41mset[m [41menc[m=[41mlatin1[m
:[41me[m!
:"
:" [41mCheck[m [41musing[m [41mz[m= [41min[m [41mnew[m [41mbuffer[m ([41mcrash[m [41mfixed[m [41mby[m [41mpatch[m 7.4[41ma[m.028).
:[41mset[m [41mmaxmem[m=512 [41mspell
iasd[m[34m^[[m[41mz[m=:"
:"
:" [41mFunction[m [41mto[m test .[41maff[m/.[41mdic[m [41mwith[m [41mlist[m [41mof[m [41mgood[m [41mand[m [41mbad[m [41mwords[m.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
[41mset[m [41mspellfile[m=
$put =''
$put ='test '. [41ma[m:[41maff[m . '-' . [41ma[m:[41mdic[m
" [41mGenerate[m [41ma[m .[41mspl[m [41mfile[m [41mfrom[m [41ma[m .[41mdic[m [41mand[m .[41maff[m [41mfile[m.
[41mexe[m '1;/^' . [41ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [41ma[m:[41maff[m . '[41maffend[m/-1[41mw[m! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [41ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [41ma[m:[41mdic[m . '[41mdicend[m/-1[41mw[m! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" [41muse[m [41mthat[m [41mspell[m [41mfile[1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff
[?25l"Xtest.aff" [24;13H[K[24;13H151 lines, 3412 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmkspell! Xtest Xtest
[?25lReading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line 2, word 0 - test
Compressing word tree...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =soundfold('goobledygoook')
[?25l[1;1H[14L[1;1H-------
[41mbad[m
['put', 'uk', 'OK']
[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m[16;4H[K[17;1H['put', 'uk', 'test']
[41mthe[m[18;4H[K[19;1H['put', 'uk', 'test'][19;22H[K[20;1H[41mgebletegek[m[20;11H[K[21;1H[41mkepereneven[m[21;12H[K[22;1H[41meverles[m [41mgesvet[m[1C [41metele[m[22;22H[K[23;1H[41mkbltykk[m[23;9H[K[24;1H[K[23;1H[?12l[?25h[?25l
[1;24r[23;1H[41mkprnfn[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l[1;23r[23;1H
[1;24r[23;1H*[41mfls[m [41mkswts[m [41mtl[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" also use an addition file
[?25l[23;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H[41masdTests[m [41mfor[m [41mspell[m [41mchecking[m. [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:"
:" [41mDon't[m [41mwant[m [41mto[m [41mdepend[m [41mon[m [41mthe[m [41mlocale[m [41mfrom[m [41mthe[m [41menvironment[m
:[41mset[m [41menc[m=[41mlatin1[m
:[41me[m!
:"
:" [41mCheck[m [41musing[m [41mz[m= [41min[m [41mnew[m [41mbuffer[m ([41mcrash[m [41mfixed[m [41mby[m [41mpatch[m 7.4[41ma[m.028).
:[41mset[m [41mmaxmem[m=512 [41mspell
iasd[m[34m^[[m[41mz[m=:"
:"
:" [41mFunction[m [41mto[m test .[41maff[m/.[41mdic[m [41mwith[m [41mlist[m [41mof[m [41mgood[m [41mand[m [41mbad[m [41mwords[m.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
[41mset[m [41mspellfile[m=
$put =''
$put ='test '. [41ma[m:[41maff[m . '-' . [41ma[m:[41mdic[m
" [41mGenerate[m [41ma[m .[41mspl[m [41mfile[m [41mfrom[m [41ma[m .[41mdic[m [41mand[m .[41maff[m [41mfile[m.
[41mexe[m '1;/^' . [41ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [41ma[m:[41maff[m . '[41maffend[m/-1[41mw[m! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [41ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [41ma[m:[41mdic[m . '[41mdicend[m/-1[41mw[m! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" [41muse[m [41mthat[m [41mspell[m [41mfile[1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h/^addstart/+1,/^addend/-1w! Xtest.latin1.add
[?25l"Xtest.latin1.add" [24;20H[K[24;20H[New File] 3 lines, 38 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmkspell! Xtest.latin1.add.spl Xtest.latin1.add
[?25lReading word file Xtest.latin1.add ...[24;39H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset spellfile=Xtest.latin1.add
[?25l[1;1H[6L[1;1H[41masdTests[m [41mfor[m [41mspell[m [41mchecking[m. [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:"
:" [41mDon't[m [41mwant[m [41mto[m [41mdepend[m [41mon[m [41mthe[m [41mlocale[m [41mfrom[m [41mthe[m [41menvironment[m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/[?12l[?25h^test2:
[?25l[27m[23m[m[H[2J[2;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
elequint/2
elekwint/3
[41maddend
test2[m:
elequint test elekwint test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[12;1H[?12l[?25h[13;29H[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_us.latin1.spl
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[2;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
[46melequint[m/2
[46melekwint[m/3
[41maddend
test2[m:
[46melequint[m test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[m
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
[46melequint[m/2
[46melekwint[m/3
[41maddend
test2[m:
[46melequint[m test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[12;1H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint
elekwint
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_gb.latin1.spl
[?25l[22;1Helequint
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[2;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
elequint/2
[46melekwint[m/3
[41maddend
test2[m:
elequint test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[m
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[13;15H[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
elequint
[46melekwint
elekwint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
elequint/2
[46melekwint[m/3
[41maddend
test2[m:
elequint test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[12;15H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
elequint
[46melekwint
elekwint[m
[41melekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_nz.latin1.spl
[?25l[20;1H[46melequint[m
elekwint
elekwint
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[2;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
[46melequint[m/2
elekwint/3
[41maddend
test2[m:
[46melequint[m test elekwint test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[m
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint[m
elekwint
elekwint
[41melekwent[m
[46melequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
[46melequint[m/2
elekwint/3
[41maddend
test2[m:
[46melequint[m test elekwint test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[12;1H[?12l[?25h[28C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint[m
elekwint
elekwint
[41melekwent[m
[46melequint[m
[41melekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_ca.latin1.spl
[?25l[18;1H[41melequint
elekwint
elekwint
elequint
[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[2;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz
elequint[m/2
[41melekwint[m/3
[41maddend
test2[m:
[41melequint[m test [41melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[m
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
elequint
elekwint
elekwint
elekwent
elequint
elekwent
elequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz
elequint[m/2
[41melekwint[m/3
[41maddend
test2[m:
[41melequint[m test [41melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[12;1H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1Htest
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
elequint
elekwint
elekwint
elekwent
elequint
elekwent
elequint
elekwint
[?12l[?25h[?25l
[m:[?12l[?25hunlet str a
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Postponed prefixes
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('2', '1')
[?25l"Xtest.aff" [24;13H[K[24;13H44 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...[24;26H[K[24;1H
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
2[41maffend[m
2[41mgood[m: puts
badend[m[14;1H[K[15;1H[41maddstar[m
/[41mregions[m=[41musgbnz
elequ[m[3C/2[18;9H/3
[41maddend[m[19;7H[K[20;1H[K[21;1H[41mtest2[m:[21;7H[K[22;10Htest [41melekwint[m test [41melekwent[m [41masdf[m[23;1H[K[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" Compound words
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('3', '3')
[?25l"Xtest.aff" [24;13H[K[24;13H5 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('4', '4')
[?25l"Xtest.aff" [24;13H[K[24;13H45 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('5', '5')
[?25l"Xtest.aff" [24;13H[K[24;13H25 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('6', '6')
[?25l"Xtest.aff" [24;13H[K[24;13H23 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('7', '7')
[?25l"Xtest.aff" [24;13H[K[24;13H22 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[1;1H1234
[41mmee[m/391,111,9999
bar/17,61003,123
lead/2
tail/123
[41mmiddle[m/77,1
7[41mdicend[m
[41mbad[m: [41mmee[m [41mmeea2[m [41mprabar[m [41mprobarmaat[m [41mmiddle[m [41mleadmiddle[m [41mmiddletail[m [41mtaillead[12;9Hleadprobar
badend
Test[m [41mNOSLITSUGS[m
8[41maffstart
SET[m [41mISO8859[m-1
[41mNOSPLITSUGS[m
8[41maffend[m
8[41mdicstart[13;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h" NOSLITSUGS
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('8', '8')
[?25l"Xtest.aff" [24;13H[K[24;13H3 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" Numbgcc -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
ers
[?25l[1;1H[11L[1;1H[41mNOSPLITSUGS[m
8[41maffend[m
8[41mdicstart[m
1234
foo
bar
faabar
8[41mdicend[m
8[41mgood[m: foo bar faabar
[41mbad[m: [41mfoobar[m [41mbarfoo[m[15;1H[K[16;1H[41mTest[m [41mNumbers[m[17;1H[K[18;1H9[41maffstart[m[18;10H[K[19;1H9[41maffend[m[20;1H[K[21;1H9[41mdicstart[m
1234
foo[23;4H[K[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall TestOne('9', '9')
[?25l[1m[37m[41mError detected while processing function TestOne:[m
[33mline 5:[m
[1m[37m[41mE493: Backwards range given: 1;/^9affstart/+1,/^9affend/-1w! Xtest.aff[m
"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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[13L[1;1H[41mTest[m [41mNumbers[m
9[41maffstart[m
9[41maffend[m
9[41mdicstart[m
1234
foo
bar
9[41mdicend[m
9[41mgood[m: 0b1011 0777 1234 0x01ff
[41mbadend
test[m [41moutput[m:
[41mtest[m 1-1[18;9H[K[19;1H# [1C[41mile[m: [41mXtest[m.[41mlatin1[m.[41mspl
Comment
input[m[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" clean up for valgrind
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc TestOne
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset spl= enc=latin1
[?25l[27m[23m[m[H[2J[1;1HTest 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[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HasdTests 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[34m^[[mz=:"
:"
:" 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[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^test output:/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test59.in" 626 lines, 10897 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for spell checking with 'encoding' set to "utf-8". vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 106 lines, 2520 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Don't want to depend on the locale from the environment. The .aff and .dic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" text is in latin1, the test text is utf-8.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=latin1
[?25l[27m[23m[m[H[2J[1;1H: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
:" text is in latin1, the test text is utf-8.[9;6Henc=latin1[9;16H[K[10;2He!
:set enc=utf-8[11;15H[K[12;1H:set fenc=
:"
:" Function to test .aff/.dic with list of good and bad words.
:func TestOne(aff, dic)
set spellfile=[16;17H[K[17;3H$put =''
$put ='test '. a:aff . '-' . a:dic[18;37H[K[19;1H " 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[22;23H[K[23;1H " use that spell file[23;24H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=utf-8
[?25l[27m[23m[m[H[2J[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Function to test .aff/.dic with list of good and bad words.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[27m[23m[m[H[2J[?25l[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('1', '1')
[?25l"Xtest.aff" [24;13H[K[24;13H[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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =soundfold('goobledygoook')
[?25l[1;1H[19L[1;1Hthe end
uk
wrong
-------
[41mbad[m
['put', 'uk', 'OK']
[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[17;3Hôl[m
['deol', 'dé[18;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test'][20;22H[K[21;1H[41mthe[m[21;4H[K[22;1H['put', 'uk', 'test'][22;22H[K[23;1H[41mgebletegek[m[23;11H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('kó[24;21Hopërÿnôven')
[?25l[1;23r[23;1H
[1;24r[23;1H[41mkepereneven[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l[1;23r[23;1H
[1;24r[23;1H[41meverles[m [41mgesvets[m [41metele[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" and now with SAL instead of SOFO items; test automatic reloading
[?25l[23;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H[41mTests[m [41mfor[m [41mspell[m [41mchecking[m [41mwith[m '[41mencoding[m' [41mset[m [41mto[m "[41mutf-8[m". [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:[41mso[m [41mmbyte[m.[41mvim[m
:"
:" [41mDon't[m [41mwant[m [41mto[m [41mdepend[m [41mon[m [41mthe[m [41mlocale[m [41mfrom[m [41mthe[m [41menvironment[m. [41mThe[m .[41maff[m [41mand[m .[41mdic[m
:" [41mtext[m [41mis[m [41min[m [41mlatin1[m, [41mthe[m test [41mtext[m [41mis[m [41mutf-8[m.
:[41mset[m [41menc[m=[41mlatin1[m
:[41me[m!
:[41mset[m [41menc[m=[41mutf-8[m
:[41mset[m [41mfenc[m=
:"
:" [41mFunction[m [41mto[m test .[41maff[m/.[41mdic[m [41mwith[m [41mlist[m [41mof[m [41mgood[m [41mand[m [41mbad[m [41mwords[m.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
[41mset[m [41mspellfile[m=
$put =''
$put ='test '. [41ma[m:[41maff[m . '-' . [41ma[m:[41mdic[m
" [41mGenerate[m [41ma[m .[41mspl[m [41mfile[m [41mfrom[m [41ma[m .[41mdic[m [41mand[m .[41maff[m [41mfile[m.
[41mexe[m '1;/^' . [41ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [41ma[m:[41maff[m . '[41maffend[m/-1[41mw[m! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [41ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [41ma[m:[41mdic[m . '[41mdicend[m/-1[41mw[m! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" [41muse[m [41mthat[m [41mspell[m [41mfile[1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff
[?25l"Xtest.aff" [24;13H[K[24;13H153 lines, 3426 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmkspell! Xtest Xtest
[?25lReading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line 2, word 0 - test
Compressing word tree...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =soundfold('goobledygoook')
[?25l[1;1H[14L[1;1H-------
[41mbad[m
['put', 'uk', 'OK']
[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[14;3Hôl[m
['deol', 'dé[15;13Hôr', 'test']
[41mend[m[16;4H[K[17;1H['put', 'uk', 'test']
[41mthe[m[18;4H[K[19;1H['put', 'uk', 'test'][19;22H[K[20;1H[41mgebletegek[m[20;11H[K[21;1H[41mkepereneven[m[21;12H[K[22;1H[41meverles[m [41mgesvet[m[1C [41metele[m[22;22H[K[23;1H[41mkbltykk[m[23;9H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('kó[24;21Hopërÿnôven')
[?25l[1;23r[23;1H
[1;24r[23;1H[41mkprnfn[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l[1;23r[23;1H
[1;24r[23;1H*[41mfls[m [41mkswts[m [41mtl[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" also use an addition file
[?25l[23;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H[41mTests[m [41mfor[m [41mspell[m [41mchecking[m [41mwith[m '[41mencoding[m' [41mset[m [41mto[m "[41mutf-8[m". [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:[41mso[m [41mmbyte[m.[41mvim[m
:"
:" [41mDon't[m [41mwant[m [41mto[m [41mdepend[m [41mon[m [41mthe[m [41mlocale[m [41mfrom[m [41mthe[m [41menvironment[m. [41mThe[m .[41maff[m [41mand[m .[41mdic[m
:" [41mtext[m [41mis[m [41min[m [41mlatin1[m, [41mthe[m test [41mtext[m [41mis[m [41mutf-8[m.
:[41mset[m [41menc[m=[41mlatin1[m
:[41me[m!
:[41mset[m [41menc[m=[41mutf-8[m
:[41mset[m [41mfenc[m=
:"
:" [41mFunction[m [41mto[m test .[41maff[m/.[41mdic[m [41mwith[m [41mlist[m [41mof[m [41mgood[m [41mand[m [41mbad[m [41mwords[m.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
[41mset[m [41mspellfile[m=
$put =''
$put ='test '. [41ma[m:[41maff[m . '-' . [41ma[m:[41mdic[m
" [41mGenerate[m [41ma[m .[41mspl[m [41mfile[m [41mfrom[m [41ma[m .[41mdic[m [41mand[m .[41maff[m [41mfile[m.
[41mexe[m '1;/^' . [41ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [41ma[m:[41maff[m . '[41maffend[m/-1[41mw[m! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [41ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [41ma[m:[41mdic[m . '[41mdicend[m/-1[41mw[m! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" [41muse[m [41mthat[m [41mspell[m [41mfile[1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h/^addstart/+1,/^addend/-1w! Xtest.utf-8.add
[?25l"Xtest.utf-8.add" [24;19H[K[24;19H[New File] 3 lines, 38 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmkspell! Xtest.utf-8.add.spl Xtest.utf-8.add
[?25lReading word file Xtest.utf-8.add ...[24;38H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset spellfile=Xtest.utf-8.add
[?25l[1;1H[6L[1;1H[41mTests[m [41mfor[m [41mspell[m [41mchecking[m [41mwith[m '[41mencoding[m' [41mset[m [41mto[m "[41mutf-8[m". [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:[41mso[m [41mmbyte[m.[41mvim[m
:"[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/[?12l[?25h^test2:
[?25l[27m[23m[m[H[2J[1;9H[41mtomato[m [41mtomatotomato[m [41mstartend[m [41mstartword[m [41mstartwordword[m [41mstartwordend[2;9Hstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[3;9Hpreborkborkbork[4;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[6;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[7;9Hpreborkprebork[m [41mpreborkpreborkbork[8;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[9;9Hutilsbork[m [41mstartnouword
badend
test2[m:
elequint test elekwint test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !![12;1H[?12l[?25h[13;29H[?25l[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[11;3Hôl[m
['deol', 'dé[12;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_us.utf-8.spl
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;9H[41mtomato[m [41mtomatotomato[m [41mstartend[m [41mstartword[m [41mstartwordword[m [41mstartwordend[2;9Hstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[3;9Hpreborkborkbork[4;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[6;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[7;9Hpreborkprebork[m [41mpreborkpreborkbork[8;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[9;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[46melequint[m test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[10;3Hôl[m
['deol', 'dé[11;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;9H[41mstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[2;9Hpreborkborkbork[3;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[5;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[6;9Hpreborkprebork[m [41mpreborkpreborkbork[7;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[8;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[46melequint[m test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[41mCOMPOUNDRULE[m [41mssmm[m*[41mee[12;1H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[9;3Hôl[m
['deol', 'dé[10;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint
elekwint
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_gb.utf-8.spl
[?25l[22;1Helequint
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;9H[41mtomato[m [41mtomatotomato[m [41mstartend[m [41mstartword[m [41mstartwordword[m [41mstartwordend[2;9Hstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[3;9Hpreborkborkbork[4;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[6;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[7;9Hpreborkprebork[m [41mpreborkpreborkbork[8;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[9;9Hutilsbork[m [41mstartnouword
badend
test2[m:
elequint test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[13;15H[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[8;3Hôl[m
['deol', 'dé[9;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
elequint
[46melekwint
elekwint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;9H[41mstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[2;9Hpreborkborkbork[3;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[5;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[6;9Hpreborkprebork[m [41mpreborkpreborkbork[7;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[8;9Hutilsbork[m [41mstartnouword
badend
test2[m:
elequint test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[41mCOMPOUNDRULE[m [41mssmm[m*[41mee[12;15H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[7;3Hôl[m
['deol', 'dé[8;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
elequint
[46melekwint
elekwint[m
[41melekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_nz.utf-8.spl
[?25l[20;1H[46melequint[m
elekwint
elekwint
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;9H[41mtomato[m [41mtomatotomato[m [41mstartend[m [41mstartword[m [41mstartwordword[m [41mstartwordend[2;9Hstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[3;9Hpreborkborkbork[4;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[6;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[7;9Hpreborkprebork[m [41mpreborkpreborkbork[8;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[9;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[46melequint[m test elekwint test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[6;3Hôl[m
['deol', 'dé[7;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint[m
elekwint
elekwint
[41melekwent[m
[46melequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;9H[41mstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[2;9Hpreborkborkbork[3;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[5;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[6;9Hpreborkprebork[m [41mpreborkpreborkbork[7;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[8;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[46melequint[m test elekwint test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[41mCOMPOUNDRULE[m [41mssmm[m*[41mee[12;1H[?12l[?25h[28C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[5;3Hôl[m
['deol', 'dé[6;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint[m
elekwint
elekwint
[41melekwent[m
[46melequint[m
[41melekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_ca.utf-8.spl
[?25l[18;1H[41melequint
elekwint
elekwint
elequint
[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;9H[41mtomato[m [41mtomatotomato[m [41mstartend[m [41mstartword[m [41mstartwordword[m [41mstartwordend[2;9Hstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[3;9Hpreborkborkbork[4;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[6;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[7;9Hpreborkprebork[m [41mpreborkpreborkbork[8;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[9;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[41melequint[m test [41melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[4;3Hôl[m
['deol', 'dé[5;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
elequint
elekwint
elekwint
elekwent
elequint
elekwent
elequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;9H[41mstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[2;9Hpreborkborkbork[3;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[5;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[6;9Hpreborkprebork[m [41mpreborkpreborkbork[7;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[8;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[41melequint[m test [41melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[41mCOMPOUNDRULE[m [41mssmm[m*[41mee[12;1H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1Htest
['Test', 'testn', 'testen']
[41mdé[3;3Hôl[m
['deol', 'dé[4;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
elequint
elekwint
elekwint
elekwent
elequint
elekwent
elequint
elekwint
[?12l[?25h[?25l
[m:[?12l[?25hunlet str a
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Postponed prefixes
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('2', '1')
[?25l"Xtest.aff" [24;13H[K[24;13H46 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[12L[1;1H[41maddstart[m
/[41mregions[m=[41musgbnz
elequint[m/2
[41melekwint[m/3
[41maddend[m
1[41mgood[m: wrong OK puts. Test the end
[41mbad[m: [41minputs[m [41mcomment[m [41mok[m [41mOk[m. [44mtest[m [41mdé[8;36Hôl[m [41mend[m [41mthe
badend[m
2[41mgood[m: puts
[41mbad[m: [41minputs[m [41mcomment[m [41mok[m [41mOk[m [41mend[m [41mthe[m. [44mtest[m [41mdé[12;43Hôl
badend[m[14;1H[K[15;1HTest [41mrules[m [41mfor[m [41mcompounding[m.[16;1H[K[17;1H3[41maffstart
SET[m [41mISO8859-1[m[19;1H[K[20;1H[41mCOMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[m[23;8H[K[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" Compound words
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('3', '3')
[?25l"Xtest.aff" [24;13H[K[24;13H5 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('4', '4')
[?25l"Xtest.aff" [24;13H[K[24;13H45 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('5', '5')
[?25l"Xtest.aff" [24;13H[K[24;13H25 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('6', '6')
[?25l"Xtest.aff" [24;13H[K[24;13H23 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('7', '7')
[?25l"Xtest.aff" [24;13H[K[24;13H26 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[1;1H1234
[41mmee[m/391,111,9999
bar/17,61003,123
lead/2
tail/123
[41mmiddle[m/77,1
7[41mdicend[m
7[41mgood[m: meea1 meeaé[9;20Hbar prebar barmeat prebarmeat leadprebar[10;7Hlead tail leadtail leadmiddletail
[41mbad[m: [41mmee[m [41mmeea2[m [41mprabar[m [41mprobarmaat[m [41mmiddle[m [41mleadmiddle[m [41mmiddletail[m [41mtaillead[12;9Hleadprobar
badend
test[m [41moutput[m:
[41mtest[m 1-1
# [41mfile[m: [41mXtest[m.[41mutf[m-8.[41mspl
Comment
deol
dé[21;3Hôr
input
OK[13;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h" clean up for valgrind
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc TestOne
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset spl= enc=latin1
[?25l[27m[23m[m[H[2J[1;1H1234
mee/391,111,9999
bar/17,61003,123
lead/2
tail/123
middle/77,1
7dicend
7good: meea1 meeaé bar prebar barmeat prebarmeat leadprebar[10;7Hlead tail leadtail leadmiddletail
bad: mee meea2 prabar probarmaat middle leadmiddle middletail taillead[12;9Hleadprobar
badend
test output:
test 1-1
# file: Xtest.utf-8.spl
Comment
deol
déôr
input
OK[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^test output:/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test72.in" 146 lines, 2110 characters[1;1HTests 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[34m^[[m: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/[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for undo file.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 135 lines, 1913 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[18;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test 'undofile': first a simple one-line change.
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo visualbell
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ul=100 undofile nomore
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1Hthis is one line[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[1;16H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hs/one/ONE/
[?25l[1;9HONE
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ul=100
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xtestfile" [New] 1L, 17C written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe![1;9H[K[2;1H:e Xtestfile[2;13H[K[3;1Hfoo2bar[3;8H[K[4;1H:set key=[4;10H[K[5;1H/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtestfile
[?25l"Xtestfile" 1L, 17C[1;1Hthis is ONE line
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H1 change; before #2 0 seconds ago[1;9Hone
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 1L, 17C written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test 'undofile', change in original file fails check
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noundofile
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;13H1L, 17C[1;9HONE
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hs/line/Line/
[?25l[1;13HL
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xtestfile" 1L, 17C written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset undofile
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe![1;9H[K[2;1H:e Xtestfile[2;13H[K[3;1Hfoo2bar[3;8H[K[4;1H:set key=[4;10H[K[5;1H/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtestfile
[?25l"Xtestfile" 1L, 17C[1;1Hthis is ONE Line
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" TODO: this beeps
[?25l[1;1H[?12l[?25h[?5h[?5l[?25l[24;1HAlready at oldest change[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 17C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test 'undofile', add 10 lines, delete 6 lines, undo 3
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset undofile
[?25l[1;1H[?12l[?25h[?25l[1;1H[K[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1Hone
two[2;4H[K[3;1Hthree[3;6H[K[4;1Hfour[4;5H[K[5;1Hfive[5;5H[K[6;1Hsix[6;4H[K[7;1Hseven[7;6H[K[8;1Height[8;6H[K[9;1Hnine[9;5H[K[10;1Hten[10;4H[K[10;3H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[10;3H[?12l[?25h[3;1H[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xtestfile" 4L, 17C written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe!
:e Xtestfile
foo2bar
:set key=
/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtestfile
[?25l"Xtestfile" 4L, 17C[1;1Hone[1;4H[K[2;1Htwo[2;4H[K[3;1Hnine[3;5H[K[4;1Hten[4;4H[K[5;1H[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H1 more line; before #7 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Height[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #6 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Hseven[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #5 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Hsix[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H7L, 33C appended[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test that reading the undofiles when setting undofile works
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noundofile ul=0
[?25l[3;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[4;23r[4;1H[L[1;24r[3;1H[K[4;1Hsix
u[?12l[?25hs[24;1H[K[?25l[4;1H[?12l[?25h[?25l[24;1H1 line less; before #8 0 seconds ago[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;13H4L, 17C[3;1Hnine
ten[4;4H[K[5;1H[1m[34m~ [6;1H~ [7;1H~ [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset undofile ul=100
[?25l[3;1H[?12l[?25h[?25l[24;1H1 more line; before #7 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Height[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #6 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Hseven[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #5 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Hsix[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #4 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Hfive[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #3 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Hfour[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #2 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Hthree[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H10L, 49C appended[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" And now with encryption, cryptmethod=zip
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;13H4L, 17C[3;1Hnin[3;5H[K[4;1Hten[4;4H[K[5;1H[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset undofile cm=zip
[?25l[3;1H[?12l[?25h[1;1H[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1Hmonday
tuesday[2;8H[K[3;1Hwednesday[3;10H[K[4;1Hthursday[4;9H[K[5;1Hfriday[5;7H[K[5;6H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[5;6H[?12l[?25h[4;6H[3;6H[2;6H[?25l[2;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[2;1H[?12l[?25h[?25l[2;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[2;1H[?12l[?25h[?25l[2;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hX
[?25lWarning: Using a weak encryption method; see :help 'cm'
Enter encryption key: [?12l[?25h******
[?25lEnter same key again: [?12l[?25h******
[1;1H[3L[?25l[1;1Hmonday
friday
[1m[34m~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw!
[?25l"Xtestfile" [crypted] 2L, 14C written[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe!
:e Xtestfile
foo2bar[3;8H[K[4;1H:set key=[4;10H[K[5;1H/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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, 14C[1;1H[3L[1;1Hmonday
friday
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[24;1H"Xtestfile" [crypted] 2L, 14C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset key=
[?25l[1;1H[?12l[?25h[?25l[24;1H1 more line; before #11 1 seconds ago[2;23r[2;1H[L[1;24r[2;1Hthursday[24;1H[K[2;1H[?12l[?25h[?25l[24;1H1 more line; before #10 1 seconds ago[2;23r[2;1H[L[1;24r[2;1Hwednesday[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H4L, 33C appended[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" With encryption, cryptmethod=blowfish
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;1HNeed encryption key for "Xtestfile"
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: [?12l[?25h*******
[1m[34m~ [3;1H~ [4;1H~ [m[24;1H[K[24;1H"Xtestfile" [noeol][crypted] 1L, 14C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset undofile cm=blowfish ff&
[?25l[1;1H[?12l[?25h[?25l[1;1H[K[24;1H--No lines in buffer--[24;23H[K[1;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1Hjan
feb[2;4H[K[3;1Hmar[3;4H[K[4;1Hapr[4;4H[K[5;1Hjun[5;4H[K[5;3H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[5;3H[?12l[?25h[4;3H[3;3H
[?25l[24;1H[1m-- INSERT --[m[24;1H[K[3;1Hfoo mar[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;4H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;1H[K[3;1Hbar apr[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hX
[?25lWarning: Using a weak encryption method; see :help 'cm'
Enter encryption key: [?12l[?25h******
[?25lEnter same key again: [?12l[?25h******
[1;1H[3L[?25l[1;1Hjan
feb
bar apr[24;1H[K[3;4H[?12l[?25h[?25l[24;1H:[?12l[?25hw!
[?25l"Xtestfile" [blowfish] 4L, 20C written[3;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe!
:e Xtestfile
foo2ba
:set key=
/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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, 20C[1;1H[3L[1;1Hjan
feb
bar apr
jun[4;4H[K[5;1H[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[24;1H"Xtestfile" [blowfish] 4L, 20C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset key=
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hbar
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 8C appended[3;1H[?12l[?25h[?25l[24;1H1 change; before #15 1 seconds ago[3;1Hap[3;5H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 4C appended[3;1H[?12l[?25h[?25l[24;1H1 more line; before #14 2 seconds ago[3;23r[3;1H[L[1;24r[3;1Hfoo mar[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 8C appended[3;1H[?12l[?25h[?25l[24;1H1 change; before #13 2 seconds ago[3;1Hmar[3;5H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 4C appended[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" With encryption, cryptmethod=blowfish2
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;1HNeed encryption key for "Xtestfile"
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: [?12l[?25h*******
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[24;1H[K[24;1H"Xtestfile" [noeol][blowfish] 1L, 20C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset undofile cm=blowfish2 ff&
[?25l[1;1H[?12l[?25h[?25l[1;1H[K[24;1H--No lines in buffer--[24;23H[K[1;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1Hjan
feb[2;4H[K[3;1Hmar[3;4H[K[4;1Hapr[4;4H[K[5;1Hjun[5;4H[K[5;3H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[5;3H[?12l[?25h[4;3H[3;3H
[?25l[24;1H[1m-- INSERT --[m[24;1H[K[3;1Hfoo mar[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;4H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;1H[K[3;1Hbar apr[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hX
[?25l[24;1H[K[24;1HEnter encryption key: [?12l[?25h*******
[?25lEnter same key again: [?12l[?25h*******
[1;1H[2L[?25l[1;1Hjan
feb[24;1H[K[3;4H[?12l[?25h[?25l[24;1H:[?12l[?25hw!
[?25l"Xtestfile" [blowfish2] 4L, 20C written[3;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe!
:e Xtestfile
foo2ba
:set key=
/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtestfile
[?25l"Xtestfile"
Need encryption key for "Xtestfile"
Enter encryption key: [?12l[?25h*******
[?25l"Xtestfile" [blowfish2] 4L, 20C[1;1H[2L[1;1Hjan
feb
bar ap
jun[4;4H[K[5;1H[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[24;1H"Xtestfile" [blowfish2] 4L, 20C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset key=
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hbar
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 8C appended[3;1H[?12l[?25h[?25l[24;1H1 change; before #19 1 seconds ago[3;1Hap[3;5H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 4C appended[3;1H[?12l[?25h[?25l[24;1H1 more line; before #18 1 seconds ago[3;23r[3;1H[L[1;24r[3;1Hfoo mar[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 8C appended[3;1H[?12l[?25h[?25l[24;1H1 change; before #17 2 seconds ago[3;1Hmar[3;5H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 4C appended[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Rename the undo file so that it gets cleaned up.
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1Hjan
feb
mar
apr[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test78.in" 46 lines, 1464 characters[1;1HInserts 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 = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0122[13;1H3456789abcdefghijklmnoparstuvwxyz0123456789"
: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:][::[23;1Hcntrl:]]*$', '\1', '')[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HInserts 10000 lines with text to fill the swap file with two levels of pointer[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 37 lines, 1208 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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 ""[13;1H . linecount . " lines but found only " . linedollar) | exe 'wincmd w' | let linn[14;1Hecount = linedollar | endif
:let i = 1
:while i <= linecount | if getline(i) != i . text | exe 'wincmd w' | call appendd[17;1H(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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp fileformat=unix undolevels=-1 viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest
[?25l"Xtest" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet text = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01
[23;80H2[24;1H3456789abcdefghijklmnoparstuvwxyz0123456789"
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet i = 1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet linecount = 10000
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwhile i <= linecount | call append(i - 1, i . text) | let i += 1 | endwhile
[?25l[1;1H9990 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[2;1Habcdefghijklmnoparstuvwxyz0123456789[2;37H[K[3;1H9991 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[4;1Habcdefghijklmnoparstuvwxyz0123456789[4;37H[K[5;1H9992 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[6;1Habcdefghijklmnoparstuvwxyz0123456789[6;37H[K[7;1H9993 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[8;1Habcdefghijklmnoparstuvwxyz0123456789[8;37H[K[9;1H9994 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[10;1Habcdefghijklmnoparstuvwxyz0123456789[10;37H[K[11;1H9995 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[12;1Habcdefghijklmnoparstuvwxyz0123456789[12;37H[K[13;1H9996 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[14;1Habcdefghijklmnoparstuvwxyz0123456789[14;37H[K[15;1H9997 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[16;1Habcdefghijklmnoparstuvwxyz0123456789[16;37H[K[17;1H9998 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[18;1Habcdefghijklmnoparstuvwxyz0123456789[18;37H[K[19;1H9999 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[20;1Habcdefghijklmnoparstuvwxyz0123456789[20;37H[K[21;1H10000 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[22;1Habcdefghijklmnoparstuvwxyz0123456789[22;37H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hpreserve
[?25lFile preserved[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" get the name of the swap file
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir => swapname
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hswapname
[?25l.Xtest.swp[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet swapname = substitute(swapname, '[[:blank:][:cntrl:]]*\(.\{-}\)[[:blank:][
[23;80H:[24;1Hcntrl:]]*$', '\1', '')
[?25l[1;1H[L[1;1H9990 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[2;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" make a copy of the swap file in Xswap
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe 'sp ' . swapname
[?25l".Xtest.swp"[24;14H[K[24;14H[noeol] 611L, 1224704C[1;1Hb0VIM 8.0[34m^@^@^@^@^P^@^@^@^@^@^@^@^@^@^@^_[m_[34m^@^@[mbuildd[34m^@^@^@^@^@^@^@^@^@^@^@^@^@^@@[2;1H^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@[mbm-wb-03[34m^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@@[3;1H^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@[m/<<PKGBUILDDIR>>/src/vim-athena/tee[4;1Hstdir/Xtest[34m^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[5;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[6;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[7;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[8;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[9;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[10;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[11;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^[m[12;1H[1m[7m.Xtest.swp [m[13;4H7[75C99[14;1Ha
9998[75C99[16;1Ha
9999[75C99[18;1Ha
10000[74C99[20;1Ha[21;1H[K[22;1H[1m[34m~ [m[23;1H[7mXtest [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! Xswap
[?25l"Xswap" [24;9H[K[24;9H[New][noeol] 611L, 1224704C written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hecho swapname
[?25l.Xtest.sw[24;11H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nobin
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[9;1Hb0VIM 8.0[34m^@^@^@^@^P^@^@^@^@^@^@^@^@^@^@^_[m_[34m^@^@[mbuildd[34m^@^@^@^@^@^@^@^@^@^@^@^@^@^@@[10;1H^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@[mbm-wb-03[34m^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@@[11;1H^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@[m/<<PKGBUILDDIR>>/src/vim-athena/tee[12;1Hstdir/Xtest[34m^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[13;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[14;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[15;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^[m[16;1H[7m.Xtest.swp [m[17;1H9999 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[18;1Habcdefghijklmnoparstuvwxyz0123456789
10000 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[20;1Habcdefghijklmnoparstuvwxyz0123456789
[1m[34m~ [m[23;1H[7mXtest [+] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25honly!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hbwipe! Xtest
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall rename('Xswap', swapname)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hrecover Xtest
[?25lUsing swap file ".Xtest.swp"
Original file "/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtest"
[23;1H"/<<PKGBUILDDIR>>/src/vim-athena/testdir/Xtest" [New File][23;73H[K[24;1HRecovery 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.
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall delete(swapname)
[?25l[1;1H[8L[1;1H1[7Cabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[2;1Habcdefghijklmnoparstuvwxyz0123456789
2[7Cabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[4;1Habcdefghijklmnoparstuvwxyz0123456789
3[7Cabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[6;1Habcdefghijklmnoparstuvwxyz0123456789
4[7Cabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[8;1Habcdefghijklmnoparstuvwxyz0123456789
5 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[10;1Habcdefghijklmnoparstuvwxyz0123456789[10;37H[K[11;1H6 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[12;1Habcdefghijklmnoparstuvwxyz0123456789[12;37H[K[13;1H7 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[14;1Habcdefghijklmnoparstuvwxyz0123456789[14;37H[K[15;1H8 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[16;1Habcdefghijklmnoparstuvwxyz0123456789[16;37H[K[17;1H9 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[18;1Habcdefghijklmnoparstuvwxyz0123456789[18;37H[K[19;1H10 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[20;1Habcdefghijklmnoparstuvwxyz0123456789[20;37H[K[21;1H11 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[22;1Habcdefghijklmnoparstuvwxyz0123456789[22;37H[K[23;1H12 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789[23;1H[1m[34m@ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1H1[78C99[14;1Ha
2[78C99[16;1Ha
3[78C99[18;1Ha
4 [77C99[20;1Ha
5 [77C99[22;1Ha
[7mXtest [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(0, 'recovery start')
[?25l[1;11r[1;1H[L[1;24r[1;1Hrecovery start[12;11H[1m[7m[+][m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hwincmd w
[?25l[12;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7mXtest [+] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet linedollar = line('$')
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif linedollar < linecount | exe 'wincmd w' | call append(line('$'), "expected
[23;80H"[24;1H . linecount . " lines but found only " . linedollar) | exe 'wincmd w' | let li
[23;80Hn[24;1Hecount = linedollar | endif
[?25l[1;1H[2L[1;1Hrecovery start[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet i = 1
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwhile i <= linecount | if getline(i) != i . text | exe 'wincmd w' | call appen
[23;80Hd[24;1H(line('$'), i . ' differs') | exe 'wincmd w' | endif | let i += 1 | endwhile
[?25l[1;1H[L[1;1Hrecovery start[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hq!
[?25l[12;1H[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), 'recovery end')
[?25l[3;1Hrecovery end[3;13H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 3L, 29C written[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test83.in" 76 lines, 1273 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for tag search with !_TAG_FILE_ENCODING.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 58 lines, 1021 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=utf8
[?25l[27m[23m[m[H[2J[1;1H: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[13;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[4L[?25l[1;1H:tag abc50
:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'
: close
: put ='case3: failed'[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt
[?25l"Xtags1.txt" [24;14H[K[24;14H[New File] 2 lines, 35 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt
[?25l"Xtags2.txt" [24;14H[K[24;14H[New File] 2 lines, 25 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt
[?25l"Xtags3.txt" [24;14H[K[24;14H[New File] 2 lines, 25 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^tags1$/+1,/^tags1-end$/-1w! Xtags1
[?25l"Xtags1" [24;10H[K[24;10H[New File] 2 lines, 81 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HTests 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[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall setline('.', 'Results of test83')
[?25l[1;1HResults of test83
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" case1:
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[12;1H[1m[7m[No Name] [m[13;1HResults of test83[13;18H[K[23;1H[7mtest83.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset tags=Xtags1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v:errmsg = ''
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htag abcdefghijklmnopqrs
[?25l"Xtags1.txt" [24;14H[K[24;14H2 lines, 35 characters[1;1Htext for tags1
abcdefghijklmnopqrs[2;20H[K[12;1H[1m[7mXtags1.txt[2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1HResults of test83
case1: ok
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [12;1H~ [13;1H~ [23;1H~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" case2:
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [m[12;1H[1m[7m[No Name] [m[13;1HResults of test83[13;18H[K[14;1Hcase1: ok[14;10H[K[23;1H[7mtest83.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset tags=test83-tags2
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v:errmsg = ''
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htag /.BC
[?25l"Xtags2.txt" 2 lines, 25 characters[1;1Htext for tags2
ABC[2;7H[K[12;1H[1m[7mXtags2.txt[2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1HResults of test83
case1: ok
case2: ok
[1m[34m~ [5;1H~ [6;1H~ [12;1H~ [13;1H~ [14;1H~ [23;1H~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" case3:
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [m[12;1H[1m[7m[No Name] [m[13;1Hcase1: ok[13;10H[K[14;1Hcase2: ok[14;10H[K[23;1H[7mtest83.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset tags=test83-tags3
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v:errmsg = ''
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htag abc50
[?25l"Xtags3.txt" 2 lines, 25 characters[1;1Htext for tags3
ABC[2;7H[K[12;1H[1m[7mXtags3.txt[2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1HResults of test83
case1: ok
case2: ok
case3: ok
[1m[34m~ [6;1H~ [12;1H~ [13;1H~ [14;1H~ [23;1H~ [m[24;1H[K[4;1H[?12l[?25h[?25l[24;1H:[?12l[?25hclose
[?25l[1m[37m[41mE37: No write since last change (add ! to override)[4;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test89.in" 71 lines, 1514 characters[1;1H- 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1H- Some tests for setting 'number' and 'relativenumber'[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 63 lines, 1305 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden nocp nu rnu viminfo+=nviminfo
[?25l[1;1H[33m 21 [m:$put g[1;12H[K[2;1H[33m 20 [m:$put h
[33m 19 [m:"[3;7H[K[4;1H[33m 18 [m:let cwd=getcwd()
[33m 17 [m:cd ..[5;11H[K[6;1H[33m 16 [m:" Tests may be run from a shadow directory, so an extra cd needs to be donee[7;1H[33m [m to[7;8H[K[8;1H[33m 15 [m:" get above src/
[33m 14 [m:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif
[33m 13 [m:$put =''
[33m 12 [m:$put ='Testing findfile'
[33m 11 [m:$put =''
[33m 10 [m:set ssl
[33m 9 [m:$put =findfile('test19.in','src/test*')
[33m 8 [m:exe "cd" cwd
[33m 7 [m:cd ..
[33m 6 [m:$put =findfile('test19.in','test*')
[33m 5 [m:$put =findfile('test19.in','testdir')
[33m 4 [m:exe "cd" cwd
[33m 3 [m:/^results/,$w! test.out
[33m 2 [m:q!
[33m 1 [mENDTEST
[33m71 [?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir @a | set nu? rnu? | redir END
[?25l[24;1H[K[24;1H number
relativenumber
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he! xx
[?25l"xx" [New File][1;1H[2L[1;1H[33m1 [m
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;3H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hredir @b | set nu? rnu? | redir END
[?25l[24;1H[K[24;1H number
relativenumber
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he! #
[?25l"test89.in" line 71 of 71 --100%-- col 1[1;1H[2L[1;1H[33m 21 [m:$put g
[33m 20 [m:$put h
[33m 19 [m:"[3;7H[K[4;1H[33m 18 [m:let cwd=getcwd()[4;22H[K[5;1H[33m 17 [m:cd ..[5;11H[K[6;1H[33m 16 [m:" Tests may be run from a shadow directory, so an extra cd needs to be donee[7;1H[33m [m to[7;8H[K[8;1H[33m 15 [m:" get above src/[8;22H[K[9;1H[33m 14 [m:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif[9;79H[K[10;1H[33m 13 [m:$put =''[10;14H[K[11;1H[33m 12 [m:$put ='Testing findfile'[11;30H[K[12;1H[33m 11 [m:$put =''[12;14H[K[13;1H[33m 10 [m:set ssl[13;13H[K[14;1H[33m 9 [m:$put =findfile('test19.in','src/test*')[14;45H[K[15;1H[33m 8 [m:exe "cd" cwd[15;18H[K[16;1H[33m 7 [m:cd ..[16;11H[K[17;1H[33m 6 [m:$put =findfile('test19.in','test*')[17;41H[K[18;1H[33m 5 [m:$put =findfile('test19.in','testdir')[18;43H[K[19;1H[33m 4 [m:exe "cd" cwd[19;18H[K[20;1H[33m 3 [m:/^results/,$w! test.out[20;29H[K[21;1H[33m 2 [m:q![21;8H[K[22;1H[33m 1 [mENDTEST[22;12H[K[23;1H[33m71 [m[23;5H[K[24;3H[K[24;1H"test89.in" line 71 of 71 --100%-- col 1[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='results:'
[?25l[1;23r[23;1H
[1;24r[1;3H[33m1
20
19
18
17[m[76Cee[6;1H[33m
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
72 [mresults:[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put a
[?25l3 more lines[1;23r[1;1H[3M[1;24r[1;2H[33m21
20[m[76Cee[3;1H[33m
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1 [m number
[33m75 [m relativenumber[24;1H[K[24;1H3 more lines[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put b
[?25l3 more lines[1;23r[1;1H[3M[1;24r[1;2H[33m22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1 [m number
[33m78 [m relativenumber[24;1H[K[24;1H3 more lines[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[1;1H:" get above src/[1;18H[K[2;1H:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif[2;75H[K[3;1H:$put =''[3;11H[K[4;1H:$put ='Testing findfile'[4;26H[K[5;1H:$put =''[5;11H[K[6;1H:set ssl[6;10H[K[7;1H:$put =findfile('test19.in','src/test*')[7;41H[K[8;1H:exe "cd" cwd[8;15H[K[9;1H:cd ..[9;7H[K[10;1H:$put =findfile('test19.in','test*')[10;37H[K[11;1H:$put =findfile('test19.in','testdir')[11;39H[K[12;1H:exe "cd" cwd[12;15H[K[13;1H:/^results/,$w! test.ou[13;25H[K[14;1H:q![14;4H[K[15;1HENDTEST[15;8H[K[16;1H[K[17;1Hresults:[17;9H[K[18;1H[K[19;1H number[19;9H[K[20;1H relativenumber[20;17H[K[21;1H[K[22;1H number[22;9H[K[23;1H relativenumber[23;17H[K[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal nu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal rnu
[?25l[1;1H[33m 22 [m:" get above src/
[33m 21 [m:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif
[33m 20 [m:$put =''
[33m 19 [m:$put ='Testing findfile'
[33m 18 [m:$put =''
[33m 17 [m:set ssl
[33m 16 [m:$put =findfile('test19.in','src/test*')
[33m 15 [m:exe "cd" cwd
[33m 14 [m:cd ..
[33m 13 [m:$put =findfile('test19.in','test*')
[33m 12 [m:$put =findfile('test19.in','testdir')
[33m 11 [m:exe "cd" cwd
[33m 10 [m:/^results/,$w! test.out
[33m 9 [m:q!
[33m 8 [mENDTEST
[33m 7
6 [mresults:
[33m 5
4 [m number
[33m 3 [m relativenumber
[33m 2
1 [m number
[33m 0 [m relativenumber[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @c | setglobal nu? | redir END
[?25l[24;1H[K[24;1H number[23;7H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[1;1H:" get above src/[1;18H[K[2;1H:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif[2;75H[K[3;1H:$put =''[3;11H[K[4;1H:$put ='Testing findfile'[4;26H[K[5;1H:$put =''[5;11H[K[6;1H:set ssl[6;10H[K[7;1H:$put =findfile('test19.in','src/test*')[7;41H[K[8;1H:exe "cd" cwd[8;15H[K[9;1H:cd ..[9;7H[K[10;1H:$put =findfile('test19.in','test*')[10;37H[K[11;1H:$put =findfile('test19.in','testdir')[11;39H[K[12;1H:exe "cd" cwd[12;15H[K[13;1H:/^results/,$w! test.ou[13;25H[K[14;1H:q![14;4H[K[15;1HENDTEST[15;8H[K[16;1H[K[17;1Hresults:[17;9H[K[18;1H[K[19;1H number[19;9H[K[20;1H relativenumber[20;17H[K[21;1H[K[22;1H number[22;9H[K[23;1H relativenumber[23;17H[K[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal rnu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal nu
[?25l[1;1H[33m 56 [m:" get above src/
[33m 57 [m:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif
[33m 58 [m:$put =''
[33m 59 [m:$put ='Testing findfile'
[33m 60 [m:$put =''
[33m 61 [m:set ssl
[33m 62 [m:$put =findfile('test19.in','src/test*')
[33m 63 [m:exe "cd" cwd
[33m 64 [m:cd ..
[33m 65 [m:$put =findfile('test19.in','test*')
[33m 66 [m:$put =findfile('test19.in','testdir')
[33m 67 [m:exe "cd" cwd
[33m 68 [m:/^results/,$w! test.out
[33m 69 [m:q!
[33m 70 [mENDTEST
[33m 71
72 [mresults:
[33m 73
74 [m number
[33m 75 [m relativenumber
[33m 76
77 [m number
[33m 78 [m relativenumber[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @d | setglobal rnu? | redir END
[?25l[24;1H[K[24;1H relativenumber[23;7H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25h$put =':setlocal must NOT reset the other global value'
[?25l[1;23r[23;1H
[1;24r[23;1H[33m 79 [m:setlocal must NOT reset the other global value[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put c
[?25l[1;23r[1;1H[2M[1;24r[22;1H[33m 80
81 [m number[24;1H[K[23;7H[?12l[?25h[?25l
:[?12l[?25h$put d
[?25l[1;23r[1;1H[2M[1;24r[22;1H[33m 82
83 [m relativenumber[24;1H[K[23;7H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[1;1H:set ssl[1;10H[K[2;1H:$put =findfile('test19.in','src/test*')[2;41H[K[3;1H:exe "cd" cwd[3;15H[K[4;1H:cd ..[4;7H[K[5;1H:$put =findfile('test19.in','test*')[5;37H[K[6;1H:$put =findfile('test19.in','testdir')[6;39H[K[7;1H:exe "cd" cwd[7;15H[K[8;1H:/^results/,$w! test.ou[8;25H[K[9;1H:q![9;4H[K[10;1HENDTEST[10;8H[K[11;1H[K[12;1Hresults:[12;9H[K[13;1H[K[14;1H number[14;9H[K[15;1H relativenumber[15;17H[K[16;1H[K[17;1H number[17;9H[K[18;1H relativenumber[18;17H[K[19;1H:setlocal must NOT reset the other global value[19;48H[K[20;1H[K[21;1H number[21;9H[K[22;1H[K[23;1H relativenumber[23;17H[K[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal nu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal rnu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @e | setglobal nu? | redir END
[?25l[24;1H[K[24;1H number[23;3H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal rnu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal nu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @f | setglobal rnu? | redir END
[?25l[24;1H[K[24;1H relativenumber[23;3H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25h$put =':setglobal MUST reset the other global value'
[?25l[1;23r[23;1H
[1;24r[23;1H:setglobal MUST reset the other global value[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put e
[?25l[1;23r[1;1H[2M[1;24r[23;3Hnumber[24;1H[K[23;3H[?12l[?25h[?25l
:[?12l[?25h$put f
[?25l[1;23r[1;1H[2M[1;24r[23;3Hrelativenumber[24;1H[K[23;3H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nu
[?25l[1;1H[33m 66 [m:$put =findfile('test19.in','testdir')
[33m 67 [m:exe "cd" cwd
[33m 68 [m:/^results/,$w! test.out
[33m 69 [m:q!
[33m 70 [mENDTEST
[33m 71
72 [mresults:
[33m 73
74 [m number
[33m 75 [m relativenumber
[33m 76
77 [m number
[33m 78 [m relativenumber
[33m 79 [m:setlocal must NOT reset the other global value
[33m 80
81 [m number
[33m 82
83 [m relativenumber
[33m 84 [m:setglobal MUST reset the other global value
[33m 85
86 [m number
[33m 87
88 [m relativenumber[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset rnu
[?25l[1;2H[33m22
21
20
1
18
17
16
15
1
13
12
11
10
8
7
6
5
3
2
1
88 [m [?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @g | setglobal nu? | redir END
[?25l[24;1H[K[24;1H number[23;7H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[1;1H:$put =findfile('test19.in','testdir')[1;39H[K[2;1H:exe "cd" cwd[2;15H[K[3;1H:/^results/,$w! test.ou[3;25H[K[4;1H:q![4;4H[K[5;1HENDTEST[5;8H[K[6;1H[K[7;1Hresults:[7;9H[K[8;1H[K[9;1H number[9;9H[K[10;1H relativenumber[10;17H[K[11;1H[K[12;1H number[12;9H[K[13;1H relativenumber[13;17H[K[14;1H:setlocal must NOT reset the other global value[14;48H[K[15;1H[K[16;1H number[16;9H[K[17;1H[K[18;1H relativenumber[18;17H[K[19;1H:setglobal MUST reset the other global value[19;45H[K[20;1H[K[21;1H number[21;9H[K[22;1H[K[23;1H relativenumber[23;17H[K[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset rnu
[?25l[1;1H[33m 22 [m:$put =findfile('test19.in','testdir')
[33m 21 [m:exe "cd" cwd
[33m 20 [m:/^results/,$w! test.out
[33m 19 [m:q!
[33m 18 [mENDTEST
[33m 17
16 [mresults:
[33m 15
14 [m number
[33m 13 [m relativenumber
[33m 12
11 [m number
[33m 10 [m relativenumber
[33m 9 [m:setlocal must NOT reset the other global value
[33m 8
7 [m number
[33m 6
5 [m relativenumber
[33m 4 [m:setglobal MUST reset the other global value
[33m 3
2 [m number
[33m 1
0 [m relativenumber[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nu
[?25l[23;1H[33m88 [m [?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @h | setglobal rnu? | redir END
[?25l[24;1H[K[24;1H relativenumber[23;7H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25h$put =':set MUST reset the other global value'
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
89 [m:set MUST reset the other global value[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put g
[?25l[1;23r[1;1H[2M[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
91 [m number[24;1H[K[23;7H[?12l[?25h[?25l
:[?12l[?25h$put h
[?25l[1;23r[1;1H[2M[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
93 [m relativenumber[24;1H[K[23;7H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet cwd=getcwd()
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-athena[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Tests may be run from a shadow directory, so an extra cd needs to be done to
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" get above src/
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif
[?25l/<<PKGBUILDDIR>>[24;31H[K[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
94 [m[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put ='Testing findfile'
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
95 [mTesting findfile[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
96 [m[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25hset ssl
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =findfile('test19.in','src/test*')
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
97 [msrc/testdir/test19.in[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25hexe "cd" cwd
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-athena[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =findfile('test19.in','test*')
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
98 [mtestdir/test19.in[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put =findfile('test19.in','testdir')
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
99 [mtestdir/test19.in[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25hexe "cd" cwd
[?25l/<<PKGBUILDDIR>>/src/vim-athena/testdir[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^results/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New] 28L, 356C written[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_arglist.vim" 318 lines, 6653 characters
Executing Test_argadd()
"a" [New File][24;15H[K[24;2Hbababababd
Executing Test_argc()
"a" [New File][24;15H[K[24;1H
Executing Test_argdelete()
"a" [New File][24;15H[K[24;3Ha" [New File]
"bb
Executing Test_argedit()
"a" [New File][24;15H[K[24;2Hba
"c" [New File]
"x
"y" [New File]
Executing Test_argidx()
"a" [New File][24;15H[K[24;2Hcabc
Executing Test_arglist_autocmd()
"Xxx1" [24;8H[K[24;8H1L, 15C
"Xxx2[24;8H[K[24;8H1L, 15C[24;8H[K[24;8H1L, 15C
"Xxx1" line 1 of 1 --100%-- col 1 ((3) of 2)
"Xxx2[30C1 of 2)[24;43H[K[24;1H
3 buffers wiped out
Executing Test_arglistid()
"a" [New File][24;15H[K[24;1H
Executing Test_argpos()
"a" [New File][24;15H[K[24;2Hd
"c" [New File]
"ba
"d" [New File]
"a
Executing Test_argument()
"d" [New File][24;15H[K[24;2Hcba[7Cfile] --No lines in buffer-- (1 of 4)
"c[37C3
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)
"a[7CF[24;16H[K[24;2Hbedited" [New File]
"a" [New File][24;15H[K[24;2Htest_arglist.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 11 tests
"messages" [New File][24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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()
[28C[30m[43moooo$$$$$$$$$$$$oooo[m
[24C[30m[43moo$$$$$$$$$$$$$$$$$$$$$$$$o[m
[21C[30m[43moo$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o[9Co$[m [30m[43m$$[m [30m[43mo$[m
[30m[43mo[m [30m[43m$[m [30m[43moo[8Co$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o[7C$$[m [30m[43m$$[m [30m[43m$$o$[m
[30m[43moo[m [30m[43m$[m [30m[43m$[m "[30m[43m$[m [30m[43mo$$$$$$$$$[m [30m[43m$$$$$$$$$$$$$[m [30m[43m$$$$$$$$$o[7C$$$o$$o$[m
"[30m[43m$$$$$$o$[m [30m[43mo$$$$$$$$$[m [30m[43m$$$$$$$$$$$[m [30m[43m$$$$$$$$$$o[m [30m[43m$$$$$$$$[m
[30m[43m$$$$$$$[m [30m[43m$$$$$$$$$$$[m [30m[43m$$$$$$$$$$$[m [30m[43m$$$$$$$$$$$$$$$$$$$$$$$[m
[30m[43m$$$$$$$$$$$$$$$$$$$$$$$[m [30m[43m$$$$$$$$$$$$$[m [30m[43m$$$$$$$$$$$$$$[m """[30m[43m$$$[m
"[30m[43m$$$[m""""[30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m "[30m[43m$$$[m
[30m[43m$$$[m [30m[43mo$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m "[30m[43m$$$o[m
[30m[43mo$$[m" [30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[7C$$$o[m
[30m[43m$$$[m [30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m" "[30m[43m$$$$$$ooooo$$$$o[m
[30m[43mo$$$oooo$$$$$[m [30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m [30m[43mo$$$$$$$$$$$$$$$$$[m
[30m[43m$$$$$$$$[m"[30m[43m$$$$[m [30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m [30m[43m$$$$[m""""""""
""""[7C[30m[43m$$$$[m "[30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m" [30m[43mo$$$[m
[14C"[30m[43m$$$o[m """[30m[43m$$$$$$$$$$$$$$$$$$[m"[30m[43m$$[m"[9C[30m[43m$$$[m
[16C[30m[43m$$$o[m[10C"[30m[43m$$[m""[30m[43m$$$$$$[m""""[11C[30m[43mo$$$[m
[17C[30m[43m$$$$o[32Co$$$[m"
[18C"[30m[43m$$$$o[m [30m[43mo$$$$$$o[m"[30m[43m$$$$o[8Co$$$$[m
[20C"[30m[43m$$$$$oo[m ""[30m[43m$$$$o$$$$$o[m [30m[43mo$$$$[m""
[23C""[30m[43m$$$$$oooo[m "[30m[43m$$$o$$$$$$$$$[m"""
[26C""[30m[43m$$$$$$$oo[m [30m[43m$$$$$$$$$$[m
[34C""""[30m[43m$$$$$$$$$$$[m
[38C[30m[43m$$$$$$$$$$$$[m
[39C[30m[43m$$$$$$$$$$[m"
[40C"[30m[43m$$$[m""""
[?12l[?25h[?25lExecuting Test_wrong_error_type()
"test_assert.res" [New File][24;29H[K[24;19H[K[24;19H[New] 0L, 0C written
Executed 12 tests
"messages" [24;13H[K[24;12H15L, 326C[24;12H[K[24;12H30L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_autochdir.vim" 17 lines, 332 characters
Executing Test_set_filename()
"samples/Xtest" [24;17H[K[24;17H[New] 0L, 0C written
"test_autochdir.res" [New File][24;32H[K[24;22H[K[24;22H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H30L, 734C[24;12H[K[24;12H34L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_backspace_opt.vim" 59 lines, 1673 characters
Executing Test_backspace_option()
"test_backspace_opt.res" [New File][24;26H[K[24;26H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H34L, 806C[24;12H[K[24;12H38L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_breakindent.vim" 241 lines, 7365 characters
Executing Test_breakindent01()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m
qrstuvwxyzABCDEF[7m|[m
GHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent02()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m
[1m[34m>>[mqrstuvwxyzABCD[7m|[m
[1m[34m>>[mEFGHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent03()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m
[1m[34m++[m qrstuvwxyzABCDEF[7m|[m
[1m[34m++[m GHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent04()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m
qrstuvwxyzABCDEFGH[7m|[m
IJKLMNOP[10C[7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent05()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m[3;7HqrstuvwxyzABCD[7m|[m[4;7HEFGHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent06()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m
qrstuvwxyzABCDEFG[7m|[m
HIJKLMNOP[8C[7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent07()[27m[23m[m[H[2J[1;1H[33m 1 [m[16C[7m|[m
[33m 2 [m abcdefghijkl[7m|[m
[1m[34m?[m[8Cmnopqrstuvw[7m|[m
[1m[34m?[m[8CxyzABCDEFGH[7m|[m
[1m[34m?[m[8CIJKLMNOP [7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent07a()[27m[23m[m[H[2J[1;1H[33m 1 [m[16C[7m|[m
[33m 2 [m abcdefghijkl[7m|[m
[33m [m[1m[34m?[m mnopqrstuvw[7m|[m
[33m [m[1m[34m?[m xyzABCDEFGH[7m|[m
[33m [m[1m[34m?[m IJKLMNOP [7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent08()[27m[23m[m[H[2J[1;1H[33m 1 [m[1m[34m$[m[15C[7m|[m
[33m 2 [m[34m^I[mabcdefghijklmn[7m|[m
[1m[34m#[m opqrstuvwxyzA[7m|[m
[1m[34m#[m BCDEFGHIJKLMN[7m|[m
[1m[34m#[m OP[1m[34m$[m[10C[7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;30HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;1H[33m 1 [m[1m[34m$[m[15C[7m|[m
[33m 2 [m[34m^I[mabcdefghijklmn[7m|[m
[1m[34m#[m opqrstuvwxyzA[7m|[m
[1m[34m#[m BCDEFGHIJKLMN[7m|[m
[1m[34m#[m OP[1m[34m$[m[10C[7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;1H[33m 1 [m[1m[34m$[m[15C[7m|[m
[33m 2 [m[34m^I[mabcdefghijklmn[7m|[m
[1m[34m#[m opqrstuvwxyzA[7m|[m
[1m[34m#[m BCDEFGHIJKLMN[7m|[m
[1m[34m#[m OP[1m[34m$[m[10C[7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent08a()[27m[23m[m[H[2J[1;1H[33m 1 [m[1m[34m$[m[15C[7m|[m
[33m 2 [m[34m^I[mabcdefghijklmn[7m|[m
[33m [m[1m[34m#[m opqrstuvwxyzA[7m|[m
[33m [m[1m[34m#[m BCDEFGHIJKLMN[7m|[m
[33m [m[1m[34m#[m OP[1m[34m$[m[10C[7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent09()[27m[23m[m[H[2J[1;1H[33m 1 [m[1m[34m$[m[15C[7m|[m
[33m 2 [m[34m^I[mabcdefghijklmn[7m|[m
[33m [m [1m[34m#[mopqrstuvwxyz[7m|[m
[33m [m [1m[34m#[mABCDEFGHIJKL[7m|[m
[33m [m [1m[34m#[mMNOP[1m[34m$[m[7C[7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent10()[27m[23m[m[H[2J[1;1H[33m 1 [m[16C[7m|[m
[33m 2 [m[8Cabcdefgh[7m|[m
[1m[34m~[m[11Cijklmnop[7m|[m
[1m[34m~[m[11Cqrstuvwx[7m|[m
[1m[34m~[m[11CyzABCDEF[7m|[m
[1m[34m~[m[11CGHIJKLMN[7m|[m
[1m[34m~[m[11COP [7m|[8;21H|[9;21H|[10;21H|[m[8;1H[1m[34m~
~
~ [m
[1m[7m[No Name] [+] [m[2;30HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;1H[33m 1 [m[16C[7m|[m
[33m 2 [m abcdefghijkl[7m|[m
[1m[34m~[m[7Cmnopqrstuvwx[7m|[m
[1m[34m~[m[7CyzABCDEFGHIJ[7m|[m
[1m[34m~[m[7CKLMNOP [7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;1H[33m 1 [m[16C[7m|[m
[33m 2 [m abcdefghijkl[7m|[m
[1m[34m~[m[7Cmnopqrstuvwx[7m|[m
[1m[34m~[m[7CyzABCDEFGHIJ[7m|[m
[1m[34m~[m[7CKLMNOP [7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent11()
Executing Test_breakindent12()[27m[23m[m[H[2J[1;1H[33m 1 [m[17C[7m|[m
[33m 2 [m[34m>--->--->--->--->[m[7m|[m
[33m [m[7C[34m---[m{ [7m|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[4;1H[1m[34m~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;42H{[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent13()
Executing Test_breakindent14()[24;1H[K[27m[23m[m[H[2J[1;31H[7m|[m
e[29C[7m|[3;31H|[4;31H|[5;31H|[6;31H|[7;31H|[8;31H|[9;31H|[10;31H|[m[3;1H[1m[34m~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;32He[3;32H[1m[34m~ [4;32H~ [5;32H~ [6;32H~ [7;32H~ [8;32H~ [9;32H~ [10;32H~ [m[11;32H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent15()[24;1H[K[27m[23m[m[H[2J[1;31H[7m|[m[2;9H1234567890[12C[7m|[3;31H|[4;31H|[5;31H|[6;31H|[7;31H|[8;31H|[9;31H|[10;31H|[m[3;1H[1m[34m~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;40H1234567890[3;32H[1m[34m~ [4;32H~ [5;32H~ [6;32H~ [7;32H~ [8;32H~ [9;32H~ [10;32H~ [m[11;32H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent16()[27m[23m[m[H[2J[1;5H1234567890123456[7m|[m
7890123456789012[7m|[m
3456789012345678[7m|[m
9012345678901234[7m|[m
5678901234567890[7m|[m
1234567890123456[7m|[m
[1m[7m[No Name] [+] [m[1;26H1234567890123456789012345678901234567890123456789012345[2;22H678901234567890123456789012345678901234567890[4;22H[1m[34m~ [5;22H~ [6;22H~ [m[7;22H[7m[No Name] [+] [m[8;1H" 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!
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;5H1234567890123456[7m|[m
7890123456789012[7m|[m
3456789012345678[7m|[m
9012345678901234[7m|[m
5678901234567890[7m|[m
1234567890123456[7m|[m
[1m[7m[No Name] [+] [m[1;26H1234567890123456789012345678901234567890123456789012345[2;22H678901234567890123456789012345678901234567890[4;22H[1m[34m~ [5;22H~ [6;22H~ [m[7;22H[7m[No Name] [+] [m[8;1H" 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!
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;5H1234567890123456[7m|[m
7890123456789012[7m|[m
3456789012345678[7m|[m
9012345678901234[7m|[m
5678901234567890[7m|[m
1234567890123456[7m|[m
[1m[7m[No Name] [+] [m[1;26H1234567890123456789012345678901234567890123456789012345[2;22H678901234567890123456789012345678901234567890[4;22H[1m[34m~ [5;22H~ [6;22H~ [m[7;22H[7m[No Name] [+] [m[8;1H" 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!
[7mtest_breakindent.vim [m[24;1H"test_breakindent.res" [New File][24;24H[K[24;24H[New] 0L, 0C written
Executed 18 tests
"messages" [24;13H[K[24;12H38L, 886C[24;12H[K[24;12H59L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_bufwintabinfo.vim" 116 lines, 3459 characters
Executing Test_get_buf_options()
Executing Test_get_win_options()
Executing Test_getbufwintabinfo()
"Xtestfile1" [New File][24;24H[K[24;11H212
Already only one window
"test_bufwintabinfo.res" [New File][24;26H[K[24;26H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H59L, 1492C[24;12H[K[24;12H65L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_cdo.vim" 205 lines, 5116 characters
Executing Test_cdo()
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C[24;11H3[24;14H[K[24;14H3L, 18C
(1 of 1): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
(7 of 8): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
(5 of 8): Line2
(1 of 1): Line2
Executing Test_ldo()
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C[24;11H3[24;14H[K[24;14H3L, 18C
(1 of 1): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
(7 of 8): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
(5 of 8): Line2
(1 of 1): Line2
"test_cdo.res" [New File][24;16H[K[24;16H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H65L, 1639C[24;12H[K[24;12H70L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_channel.vim" 1641 lines, 47075 characters
"test_channel.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 0 test
"messages"[24;12H[K[24;12H70L, 1718C[24;12H[K[24;12H73L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_charsearch.vim" 62 lines, 1475 characters
Executing Test_charsearch()
Executing Test_search_cmds()
"test_charsearch.res" [New File][24;23H[K[24;23H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H73L, 1758C[24;12H[K[24;12H78L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_cmdline.vim" 243 lines, 7346 characters
Executing Test_complete_list()[24;1H[K[24;1H:e test
test1.in[24Ctest86.in
test1.ok[24Ctest86.ok
test1.out[23Ctest86.out
test103.in[22Ctest87.in
test103.ok[22Ctest87.ok
test103.out[21Ctest87.out
test104.in[22Ctest88.in
test104.ok[22Ctest88.ok
test104.out[21Ctest88.out
test107.in[22Ctest89.in
test107.ok[22Ctest89.ok
test107.out[21Ctest89.out
test108.in[22Ctest9.in
test108.ok[22Ctest9.ok
test108.out[21Ctest9.out
test11.in[23Ctest90.in
test11.ok[23Ctest90.ok
test11.out[22Ctest90.out
test12.in[23Ctest91.in
test12.ok[23Ctest91.ok
test12.out[22Ctest91.out
test14.in[23Ctest94.in
test14.ok[23Ctest94.ok
test14.out[22Ctest94.out
test15.in[23Ctest95.in
test15.ok[23Ctest95.ok
test15.out[22Ctest95.out
test17.in[23Ctest97.in
test17.ok[23Ctest97.ok
test17.out[22Ctest97.out
test17a.in[22Ctest98.in
test19.in[23Ctest98.ok
test19.ok[23Ctest98.out
test19.out[22Ctest99.in
test20.in[23Ctest99.ok
test20.ok[23Ctest99.out
test20.out[22Ctest_alot.vim
test22.in[23Ctest_alot_latin.vim
test22.ok[23Ctest_alot_utf8.vim
test22.out[22Ctest_arglist.res
test23.in[23Ctest_arglist.vim
test23.ok[23Ctest_assert.res
test23.out[22Ctest_assert.vim
test24.in[23Ctest_assign.vim
test24.ok[23Ctest_autochdir.res
test24.out[22Ctest_autochdir.vim
test25.in[23Ctest_autocmd.vim
test25.ok[23Ctest_autocmd_option.in
test25.out[22Ctest_autocmd_option.ok
test26.in[23Ctest_autocmd_option.out
test26.ok[23Ctest_autoformat_join.in
test26.out[22Ctest_autoformat_join.ok
test28.in[23Ctest_autoformat_join.out
test28.ok[23Ctest_backspace_opt.res
test28.out[22Ctest_backspace_opt.vim
test29.in[23Ctest_breakindent.res
test29.ok[23Ctest_breakindent.vim
test29.out[22Ctest_bufwintabinfo.res
test3.in[24Ctest_bufwintabinfo.vim
test3.ok[24Ctest_cdo.res
test3.out[23Ctest_cdo.vim
test30.in[23Ctest_changelist.in
test30.ok[23Ctest_changelist.ok
test30.out[22Ctest_changelist.out
test31.in[23Ctest_channel.py
test31.ok[23Ctest_channel.res
test31.out[22Ctest_channel.vim
test32.in[23Ctest_channel_pipe.py
test32.ok[23Ctest_charsearch.res
test32.out[22Ctest_charsearch.vim
test33.in[23Ctest_close_count.in
test33.ok[23Ctest_close_count.ok
test33.out[22Ctest_close_count.out
test34.in[23Ctest_cmdline.vim
test34.ok[23Ctest_command_count.vim
test34.out[22Ctest_comparators.in
test36.in[23Ctest_comparators.ok
test36.ok[23Ctest_comparators.out
test36.out[22Ctest_crypt.vim
test37.in[23Ctest_cscope.vim
test37.ok[23Ctest_cursor_func.vim
test37.out[22Ctest_delete.vim
test38.in[23Ctest_diffmode.vim
test38.ok[23Ctest_digraph.vim
test38.out[22Ctest_display.vim
test39.in[23Ctest_erasebackword.in
test39.ok[23Ctest_erasebackword.ok
test39.out[22Ctest_erasebackword.out
test4.in[24Ctest_eval.in
test4.ok[24Ctest_eval.ok
test4.out[23Ctest_eval.out
test40.in[23Ctest_eval_func.vim
test40.ok[23Ctest_ex_undo.vim
test40.out[22Ctest_execute_func.vim
test41.in[23Ctest_expand.vim
test41.ok[23Ctest_expand_dllpath.vim
test41.out[22Ctest_expr.vim
test42.in[23Ctest_expr_utf8.vim
test42.ok[23Ctest_farsi.vim
test42.out[22Ctest_feedkeys.vim
test43.in[23Ctest_file_perm.vim
test43.ok[23Ctest_fileformat.vim
test43.out[22Ctest_filter_cmd.vim
test44.in[23Ctest_filter_map.vim
test44.ok[23Ctest_fixeol.in
test44.out[22Ctest_fixeol.ok
test45.in[23Ctest_fixeol.out
test45.ok[23Ctest_float_func.vim
test45.out[22Ctest_fnameescape.vim
test48.in[23Ctest_fnamemodify.vim
test48.ok[23Ctest_fold.vim
test48.out[22Ctest_functions.vim
test49.in[23Ctest_getcwd.in
test49.ok[23Ctest_getcwd.ok
test49.out[22Ctest_getcwd.out
test49.vim[22Ctest_gf.vim
test5.in[24Ctest_glob2regpat.vim
test5.ok[24Ctest_gn.vim
test5.out[23Ctest_goto.vim
test50.in[23Ctest_gui.vim
test50.ok[23Ctest_hardcopy.vim
test51.in[23Ctest_help_tagjump.vim
test51.ok[23Ctest_hide.vim
test51.out[22Ctest_history.vim
test52.in[23Ctest_hlsearch.vim
test52.ok[23Ctest_increment.vim
test52.out[22Ctest_increment_dbcs.vim
test53.in[23Ctest_insertcount.in
test53.ok[23Ctest_insertcount.ok
test53.out[22Ctest_insertcount.out
test54.in[23Ctest_job_fails.vim
test54.ok[23Ctest_join.vim
test54.out[22Ctest_json.vim
test55.in[23Ctest_jumps.vim
test55.ok[23Ctest_lambda.vim
test55.out[22Ctest_langmap.vim
test56.in[23Ctest_largefile.vim
test56.ok[23Ctest_lispwords.vim
test56.out[22Ctest_listchars.in
test57.in[23Ctest_listchars.ok
test57.ok[23Ctest_listchars.out
test57.out[22Ctest_listlbr.in
test58.in[23Ctest_listlbr.ok
test58.ok[23Ctest_listlbr.out
test58.out[22Ctest_listlbr_utf8.in
test59.in[23Ctest_listlbr_utf8.ok
test59.ok[23Ctest_listlbr_utf8.out
test59.out[22Ctest_man.vim
test60.in[23Ctest_mapping.vim
test60.ok[23Ctest_marks.vim
test60.out[22Ctest_match.vim
test60.vim[22Ctest_matchadd_conceal.vim
test64.in[23Ctest_matchadd_conceal_utf8.vim
test64.ok[23Ctest_menu.vim
test64.out[22Ctest_messages.vim
test65.in[23Ctest_mksession.vim
test65.ok[23Ctest_mksession_utf8.vim
test65.out[22Ctest_modeline.vim
test66.in[23Ctest_nested_function.vim
test66.ok[23Ctest_netbeans.py
test66.out[22Ctest_netbeans.vim
test67.in[23Ctest_normal.vim
test67.ok[23Ctest_options.vim
test67.out[22Ctest_packadd.vim
test68.in[23Ctest_partial.vim
test68.ok[23Ctest_perl.vim
test68.out[22Ctest_popup.vim
test69.in[23Ctest_profile.vim
test69.ok[23Ctest_quickfix.vim
test69.out[22Ctest_regexp_latin.vim
test7.in[24Ctest_regexp_utf8.vim
test7.ok[24Ctest_reltime.vim
test7.out[23Ctest_ruby.vim
test70.in[23Ctest_search.vim
test70.ok[23Ctest_search_mbyte.in
test70.out[22Ctest_search_mbyte.ok
test72.in[23Ctest_search_mbyte.out
test72.ok[23Ctest_searchpos.vim
test72.out[22Ctest_set.vim
test73.in[23Ctest_signs.vim
test73.ok[23Ctest_smartindent.vim
test73.out[22Ctest_sort.vim
test75.in[23Ctest_source.vim
test75.ok[23Ctest_source_utf8.vim
test75.out[22Ctest_startup.vim
test77.in[23Ctest_startup_utf8.vim
test77.ok[23Ctest_stat.vim
test77.out[22Ctest_statusline.vim
test77a.in[22Ctest_substitute.vim
test77a.ok[22Ctest_syn_attr.vim
test78.in[23Ctest_syntax.vim
test78.ok[23Ctest_system.vim
test78.out[22Ctest_tabline.vim
test79.in[23Ctest_tabpage.vim
test79.ok[23Ctest_tagcase.vim
test79.out[22Ctest_tagjump.vim
test8.in[24Ctest_taglist.vim
test8.ok[24Ctest_textobjects.vim
test8.out[23Ctest_timers.vim
test80.in[23Ctest_true_false.vim
test80.ok[23Ctest_undo.vim
test80.out[22Ctest_unlet.vim
test82.in[23Ctest_usercommands.vim
test82.ok[23Ctest_utf8.in
test82.out[22Ctest_utf8.ok
test83-tags2[20Ctest_utf8.out
test83-tags3[20Ctest_viminfo.vim
test83.in[23Ctest_viml.vim
test83.ok[23Ctest_visual.vim
test83.out[22Ctest_window_cmd.vim
test84.in[23Ctest_window_id.vim
test84.ok[23Ctest_wordcount.in
test84.out[22Ctest_wordcount.ok
test85.in[23Ctest_wordcount.out
test85.ok[23Ctest_writefile.vim
test85.out
:e test
"test" [New File]
Executing Test_complete_tab()[24;1H[K[24;1H:e Xtest...file
"Xtestfile" 1L, 9C
Executing Test_complete_wildmenu()[24;1H[K[24;1H:e Xtest...file1...[24;9H[K[24;9H
[23;1H[1m[7mXtestfile1 Xtestfile2 [m
[30m[43mXtestfile1[m[1m[7m [13C [m[24;1H:e Xtest...[23;1H[1m[7mXtestfile1[m
[30m[43mXtestfile1[m[1m[7m [m[24;9Hfile1...[23;1H[1m[7mXtestfile1[m[2C[30m[43mXtestfile2[m[1m[7m [m[24;13H2[24;14H[K[24;14H[23;1H:[1m[7mt[me Xtestfile2[23;14H[K[24;1H[K[23;1H"Xtestfile2" 1L, 10C
Executing Test_expand_star_star()[24;1H[K[24;1H:find **/fileXname...[24;7Ha/b/fileXname[24;20H[K[24;20H
"a/b/fileXname" [24;17H[K[24;17H1L, 9C
"Xtestfile2" [New File]
Executing Test_getcompletion()[24;1H[K[24;1H:cscope find
a c d e f g i s t
:cscope find [24;1H[K[24;1H:sign list
Testing
:sign list [24;1H[K[24;1HExecuting Test_illegal_address()
Executing Test_paste_in_cmdline()[24;1H[K[24;1H:abc "[24;6H[K[24;6Hdef ghi
:"abc def ghi
:"
[24;1H[K[24;1H:aaa "[24;6H[K[24;6Hasdf bbb
:"aaa asdf bbb
:"
[24;1H[K[24;1H:aaa "[24;6H[K[24;6H/tmp/some bbb
:"aaa /tmp/some bbb
:"
[24;1H[K[24;1H:aaa veryl"[24;11H[K[24;11Hongword bbb
:"aaa verylongword bbb
:"
[24;1H[K[24;1H:aaa "[24;6H[K[24;6Ha;b-c*d bbb
:"aaa a;b-c*d bbb
:"
[24;1H[K[24;1H:[24;1H[K[24;1H=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()[24;1H[K[24;1H:abc defef[24;8H[K[24;6H
:"abc ef
:"
[24;1H[K[24;1H:abc defdef[24;8H[K[24;5H
:"abcdef
:"
[24;1H[K[24;1H:abc def ghighi[24;10H[K[24;6H
:"abc ghi
:"
[24;1H[K[24;1H:abc def
:def[24;6H[K[24;2H"def
"test_cmdline.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 8 tests
"messages"[24;12H[K[24;12H78L, 1859C[24;12H[K[24;12H89L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_command_count.vim" 191 lines, 4742 characters
Executing Test_command_count_0()
"DoesNotExistEver" [New File][24;30H[K[24;1H
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][24;15H[K[24;2Hbeb
Executing Test_command_count_2()
"d" [New File]
"a
Already only one window
"x" [New File][24;15H[K[24;1H
Already only one window
Executing Test_command_count_3()
"aaa" [New File][24;17H[K[24;2Hbbb
"ccc
"test_command_count.vim" 191L, 4742C
2 buffers deleted
Executing Test_command_count_4()
"cc" [New File][24;16H[K[24;1H
"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][24;26H[K[24;26H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H89L, 2168C[24;12H[K[24;12H97L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_crypt.vim" 83 lines, 2590 characters
Executing Test_crypt_blowfish()
"Xtest.txt" [New File][24;23H[K[24;1H[K[24;1H:X
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: ******
Enter same key again: ******
[23;1H"Xtest.txt" [23;13H[K[23;13H[New][blowfish] 3L, 98C written
:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed encryption key for "Xtest.txt"
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: ******
"Xtest.txt" [blowfish] 3L, 98Cgcc -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
Executing Test_crypt_blowfish2()
"Xtest.txt" [New File][24;23H[K[24;1H[K[24;1H:X
[24;1H[K[24;1HEnter encryption key: ******
[24;1H[K[24;1HEnter same key again: ******
[23;1H"Xtest.txt" [23;13H[K[23;13H[New][blowfish2] 3L, 98C written
:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed encryption key for "Xtest.txt"
Enter encryption key: ******
"Xtest.txt" [blowfish2] 3L, 98C
Executing Test_crypt_zip()
"Xtest.txt" [New File][24;23H[K[24;1H[K[24;1H:X
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: ******
Enter same key again: ******
[23;1H"Xtest.txt" [23;13H[K[23;13H[New][crypted] 3L, 98C written
:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed 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][24;23H[K[24;13H[K[24;13H[New] 1L, 16C written[24;1H[K[24;1H:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed 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][24;23H[K[24;13H[K[24;13H[New] 1L, 16C written[24;1H[K[24;1H:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed encryption key for "Xtest.txt"
Enter encryption key: ******
"Xtest.txt" [readonly] 1L, 16C
Executing Test_uncrypt_blowfish()
"Xtest.txt" [New File][24;23H[K[24;13H[K[24;13H[converted][New][noeol] 1L, 80C written[24;1H[K[24;1H:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed 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][24;23H[K[24;13H[K[24;13H[converted][New][noeol] 1L, 103C written[24;1H[K[24;1H:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed encryption key for "Xtest.txt"
Enter encryption key: *******
"Xtest.txt" [blowfish2] 2L, 44C
Executing Test_uncrypt_zip()
"Xtest.txt" [New File][24;23H[K[24;13H[K[24;13H[converted][New][noeol] 1L, 45C written[24;1H[K[24;1H:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed encryption key for "Xtest.txt"
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: ******
"Xtest.txt" [converted][crypted] 2L, 26C[23;1H"test_crypt.res" [New File][23;28H[K[24;1H[K[23;18H[K[23;18H[converted][New] 0L, 0C written
Executed 8 tests
"messages"[24;12H[K[24;12H97L, 2380C[24;12H[K[24;12H108L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_cscope.vim" 279 lines, 10568 characters
"test_cscope.res" [New File][24;19H[K[24;19H[New] 0L, 0C written
Executed 0 test
"messages"[24;12H[K[24;12H108L, 2667C[24;12H[K[24;12H111L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_diffmode.vim" 237 lines, 4954 characters
Executing Test_diff_fold_sync()
Executing Test_diffget_diffput()
Executing Test_diffoff()[27m[23m[m[H[2J[1;1H[34m[47m [m[1m[34m[46m-------------------------------------[m[7m|[m
[34m[47m [m[1m[34m[46m-------------------------------------[m[7m|[m
[34m[47m [mTwo[34C[7m|[m
[34m[47m [mThree[32C[7m|[5;40H|[6;40H|[7;40H|[8;40H|[9;40H|[10;40H|[11;40H|[12;40H|[13;40H|[14;40H|[15;40H|[16;40H|[17;40H|[18;40H|[19;40H|[20;40H|[21;40H|[22;40H|[m[5;1H[34m[47m
[m[5;3H[1m[34m~ [6;3H~ [7;3H~ [8;3H~ [9;3H~ [10;3H~ [11;3H~ [12;3H~ [13;3H~ [14;3H~ [15;3H~ [16;3H~ [17;3H~ [18;3H~ [19;3H~ [20;3H~ [21;3H~ [22;3H~ [m
[7m[No Name] [+] [m[1;41H[34m[47m [m[44mOne [m[2;41H[34m[47m [m[44m [m[3;41H[34m[47m [mTwo[4;41H[34m[47m [mThree[5;41H[34m[47m [6;41H [7;41H [8;41H [9;41H [10;41H [11;41H [12;41H [13;41H [14;41H [15;41H [16;41H [17;41H [18;41H [19;41H [20;41H [21;41H [22;41H [m[5;43H[1m[34m~ [6;43H~ [7;43H~ [8;43H~ [9;43H~ [10;43H~ [11;43H~ [12;43H~ [13;43H~ [14;43H~ [15;43H~ [16;43H~ [17;43H~ [18;43H~ [19;43H~ [20;43H~ [21;43H~ [22;43H~ [m[23;41H[1m[7m[No Name] [+] [m[1;1HTwo
Three
[1m[34m~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~ [m[1;41HOne[1;44H[K[2;41H[K[3;41HTwo[3;44H[K[4;41HThree[4;46H[K[5;41H[1m[34m~ [6;41H~ [7;41H~ [8;41H~ [9;41H~ [10;41H~ [11;41H~ [12;41H~ [13;41H~ [14;41H~ [15;41H~ [16;41H~ [17;41H~ [18;41H~ [19;41H~ [20;41H~ [21;41H~ [22;41H~ [m
Executing Test_filler_lines()
7 more lines
10 more lines
Executing Test_setting_cursor()
"Xtest1" [New File][24;20H[K[24;1H
90 more lines
"Xtest1" [24;10H[K[24;10H[New] 91L, 262C written[24;7H2" [New File][24;21H[K[24;1H
100 more lines
"Xtest2"[24;10H[K[24;10H[New] 101L, 293C written[24;10H[K[24;10H101L, 293C[24;7H1[24;10H[K[24;10H91L, 262C
Executing Test_vert_split()
"Xtest" [24;9H[K[24;9H[New] 5L, 25C written[24;1H[K[24;1H"Xtest2" [New] 6L, 29C written
"Nop" [Modified][Not edited] line 4 of 6 --66%-- col 3[24;1H[K[24;1H"Xtest" 5L, 25C[24;7H2" [24;10H[K[24;10H6L, 29C
"test_diffmode.vim" 237L, 4954C[24;16Hres" [New File][24;31H[K[24;21H[K[24;21H[New] 0L, 0C written
Executed 6 tests
"messages"[24;12H[K[24;12H111L, 2706C[24;12H[K[24;12H120L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_digraph.vim" 461 lines, 14928 characters
Executing Test_digraph_cmndline()
Executing T
Executing Test_digraphs()[24;1H[K[24;1H
Executing Test_digraphs_option()[24;1H[K[24;1H
Executing Test_digraphs_output()
Executing Test_loadkeymap()[24;1H[K[24;1H"test_digraph.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H120L, 2928C[24;12H[K[24;12H128L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_display.vim" 39 lines, 849 characters[?1l>[?12l[?25h[?1049l[m[m[0m[H[2J[m[0m[24;1HExecuting Test_display_foldcolumn()[m[m[0m[H[2J[1;1He more noise blah blah[34m<82[0m[7m|[0m
[34m>[0m more stuff here[8C[7m|[3;26H|[4;26H|[5;26H|[6;26H|[7;26H|[8;26H|[9;26H|[10;26H|[11;26H|[0m[3;1H[1m[34m~
~
~
~
~
~
~
~
~ [0m
[1m[7m[No Name] [+] [0m[2;27H[1m[34m~ [3;27H~ [4;27H~ [5;27H~ [6;27H~ [7;27H~ [8;27H~ [9;27H~ [10;27H~ [11;27H~ [0m[12;27H[7m[No Name] [0m[13;1H" 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))[22;9Hcall add(line, nr2char(screenchar(a:lnum+j, c)))
[7mtest_display.vim [m[m[0m[H[2J[1;1H[34m[47m [0me more noise blah blah[34m<[0m[7m|[0m
[34m[47m [0m[34m82>[0m more stuff here [7m|[3;26H|[4;26H|[5;26H|[6;26H|[7;26H|[8;26H|[9;26H|[10;26H|[11;26H|[0m[3;1H[34m[47m
[0m[3;3H[1m[34m~ [4;3H~ [5;3H~ [6;3H~ [7;3H~ [8;3H~ [9;3H~ [10;3H~ [11;3H~ [0m
[1m[7m[No Name] [+] [0m[2;27H[1m[34m~ [3;27H~ [4;27H~ [5;27H~ [6;27H~ [7;27H~ [8;27H~ [9;27H~ [10;27H~ [11;27H~ [0m[12;27H[7m[No Name] [0m[13;1H" 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))[22;9Hcall add(line, nr2char(screenchar(a:lnum+j, c)))
[7mtest_display.vim [0m[24;1H"test_display.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H128L, 3123C[24;12H[K[24;12H132L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_farsi.vim" 84 lines, 2881 characters
Executed 2 tests
"messages"[24;12H[K[24;12H[converted] 132L, 3199C[24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_fnameescape.vim" 21 lines, 467 characters
Executing Test_fnameescape()
"Xspa ce"[24;11H[K[24;11H[New] 21L, 467C written
"Xemark![24;11H[K[24;11H[New] 21L, 467C written
"test_fnameescape.res" [New File][24;24H[K[24;24H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H137L, 3295C[24;12H[K[24;12H141L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;27H[K[24;17H[K[24;17H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H141L, 3368C[24;12H[K[24;12H147L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_gf.vim" 33 lines, 1138 characters
Executing Test_gf_url()
"test_gf.res" [New File][24;15H[K[24;15H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H147L, 3495C[24;12H[K[24;12H151L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_gn.vim" 93 lines, 2821 characters
Executing Test_gn_command()[24;1H[K[24;1H/[u]niquepattern/s
[24;17H[K[24;1H[24;1H[K[24;1H/a:0\@!\zs\d\+
[24;1H[K[24;1H"test_gn.res" [New File][24;15H[K[24;15H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H151L, 3554C[24;12H[K[24;12H155L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_gui.vim" 36 lines, 838 characters
"test_gui.res" [New File][24;16H[K[24;16H[New] 0L, 0C written
Executed 0 test
"messages"[24;12H[K[24;12H155L, 3617C[24;12H[K[24;12H158L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_hardcopy.vim" 62 lines, 2001 characters
Executing Test_printheader_parsing()
Executing Test_printmbfont_parsing()
Executing Test_printoptions_parsing()
Executing Test_with_syntax()[24;1H[K[24;1H[32mPrinting page 1 (0%)[m[24;1H[K[24;1H[32mPrinted: test_hardcopy.vim[m
"test_hardcopy.res" [New File][24;21H[K[24;21H[New] 0L, 0C written
Executed 4 tests
"messages"[24;12H[K[24;12H158L, 3653C[24;12H[K[24;12H165L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_hide.vim" 97 lines, 2443 characters
Executing Test_hide()
"Xf1" [New File][24;17H[K[24;1H
"Xf1" [New File]
"Xf212121
one|two
"Xf1" [New File]
"Xf212
"test_hide.res" [New File][24;17H[K[24;17H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H165L, 3836C[24;12H[K[24;12H169L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_history.vim" 106 lines, 3567 characters
Executing Test_History()
Executing Test_Search_history_window()[24;1H[K[24;1H/a
[24;1H[K[24;1H/b
[24;1H[K[24;1H/[27m[23m[m[H[2J[1;1Ha
b
a
b
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [+] [m[13;1H" Tests for the history functions
[7mtest_history.vim [m[16;1H[1m[34m/[ma
[1m[34m/[mb
[1m[34m/
/
/
/
/[19;2H~ [20;2H~ [21;2H~ [22;2H~ [m[23;1H[1m[7m[Command Line] [18;2H[?12l[?25h[17;2H[16;2H[24;1H[?25l[m/a
"test_history.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H169L, 3895C[24;12H[K[24;12H174L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_hlsearch.vim" 34 lines, 1013 characters
Executing Test_hlsearch()[24;1H[K[24;1H/aaa
[27m[23m[m[H[2J[1;1H[30m[43maaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[m
[1m[34m~ [m[12;1H[1m[7m[No Name] [+] [m[13;1H" Test for v:hlsearch
function! Test_hlsearch()
new
call setline(1, repeat(['[30m[43maaa[m'], 10))
set hlsearch nolazyredraw
let r=[]
" redraw is needed to make hlsearch highlight the matches
exe "normal! /[30m[43maaa[m\<CR>" | redraw
let r1 = screenattr(1, 1)
[7mtest_hlsearch.vim [m[1;1Haaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[1;1H[30m[43maaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[m[1;1Haaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[1;1H[30m[43maaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[m[1;1Haaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa
/aaa
[1;1H[30m[43maaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[m[1;1Haaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[24;1H[K[24;1H//aaa
[1;1H[30m[43maaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[m[24;1H[K[24;1H//aaa
[1;1Haaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa
"test_hlsearch.res" [New File][24;21H[K[24;21H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H174L, 4000C[24;12H[K[24;12H178L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_increment.vim" 760 lines, 19011 characters
Executing Test_normal_increment_01()
"dummy" [New File][24;19H[K[24;1H
Executing Test_normal_increment_02()
"dummy" [New File][24;19H[K[24;1H
Executing Test_normal_increment_03()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_01()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_02()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_03()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_04()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_05()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_06()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_07()
"dummy" [New File][24;19H[K[24;1H5 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_08()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_09()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_10()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_11()
"dummy" [New File][24;19H[K[24;1H3 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_12()
"dummy" [New File][24;19H[K[24;1H3 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_13()
"dummy" [New File][24;19H[K[24;1H3 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_14()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_15()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_16()
"dummy" [New File][24;19H[K[24;1H3 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_17()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_18()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_19()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_20()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_21()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_22()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_23()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_24()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_25()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_26()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_27()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_28()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_29()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_30()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_31()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_32()
"dummy" [New File][24;19H[K[24;7H_31" [New File]
Executing Test_visual_increment_33()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_34()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_35()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_36()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_37()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_38()
"dummy" [New File][24;19H[K[24;1H[K[24;1H"test_increment.res" [New File][24;22H[K[24;22H[New] 0L, 0C written
Executed 41 tests
"messages" [24;13H[K[24;12H178L, 4067C[24;12H[K[24;12H222L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_increment_dbcs.vim" 30 lines, 604 characters
Executing Test_increment_dbcs_1()
"test_increment_dbcs.res" [New File][24;27H[K[24;27H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H[converted] 222L, 5628C[24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_job_fails.vim" 19 lines, 598 characters
Executing Test_job_start_fails()[?12l[?25h[?25l
"test_job_fails.res" [New File][24;32H[K[24;22H[K[24;22H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H226L, 5709C[24;12H[K[24;12H230L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;17H[K[24;17H[New] 0L, 0C written
Executed 4 tests
"messages"[24;12H[K[24;12H230L, 5784C[24;12H[K[24;12H237L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_langmap.vim" 28 lines, 628 characters
Executing Test_langmap()
"test_langmap.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H237L, 5934C[24;12H[K[24;12H241L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;16H[K[24;16H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H241L, 5999C[24;12H[K[24;12H246L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_marks.vim" 26 lines, 775 characters
Executing Test_Incr_Marks()
Executing Test_Restore_DelMark()[24;1H[K[24;1H1 more line; before #2 0 seconds ago
1 line less; after #2 0 seconds ago[24;37H[K[24;3Hmore line; before #2 0 seconds ago
"test_marks.res" [New File][24;28H[K[24;18H[K[24;18H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H246L, 6102C[24;12H[K[24;12H251L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_matchadd_conceal.vim" 289 lines, 9276 characters[?1l>[?12l[?25h[?1049l[m[m[0m[H[2J[m[0m[24;1HExecuting Test_clearmatches()[m[m[0m[H[2J[2;1H# This is a Test
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H" 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
[7mtest_matchadd_conceal.vim [m[m[0m[H[2J[2;1H#[37m[40mZ[0mThis[37m[40mZ[0mis[37m[40mZ[0ma[37m[40mZ[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H" 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
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_default_conceal_char()[m[m[0m[H[2J[2;1H#[37m[40m [0mThis[37m[40m [0mis[37m[40m [0ma[37m[40m [0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H" 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
[7mtest_matchadd_conceal.vim [m[m[0m[H[2J[2;1H#[37m[40m+[0mThis[37m[40m+[0mis[37m[40m+[0ma[37m[40m+[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H" 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
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_matchadd_and_conceallevel_3()[m[m[0m[H[2J[2;1H[34m#ThisisaTest[0m
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [m[m[0m[H[2J[2;1H[34m#Thisisa[0m[1m[37m[41m Test[0m
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_matchadd_and_syn_conceal()[m[m[0m[H[2J[1;1HInductive [37m[40m-[0m : Type := | true : [37m[40m-[0m | false : [37m[40m-[0m.
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [m[m[0m[H[2J[1;1HInductive[31m [0m[37m[40m-[0m[31m [0m: Type := | true : [37m[40m-[0m | false : [37m[40m-[0m.
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_matchadd_repeat_conceal_with_syntax_off()[1;1H[K[2;1HTARGET_TARGETTARGET
[37m[40mt[0m_[37m[40mtt[0m[2;5H[K[24;16Hsimple_matchadd()[24;33H[K[m[m[0m[H[2J[2;1H#[37m[40m [0mThis[37m[40m [0mis[37m[40m [0ma[37m[40m [0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_simple_matchadd_and_conceal()[m[m[0m[H[2J[2;1H#[37m[40mX[0mThis[37m[40mX[0mis[37m[40mX[0ma[37m[40mX[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_syn_and_match_conceal()[m[m[0m[H[2J[2;1H#[37m[40mZ[0mThis[37m[40mZ[0mis[37m[40mZ[0ma[37m[40mZ[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [m[m[0m[H[2J[2;1H#[37m[40m*[0mThis[37m[40m*[0mis[37m[40m*[0ma[37m[40m*[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_using_matchaddpos()[m[m[0m[H[2J[2;1H[34m#[0m[37m[40mP[0m[34mis a Test[0m
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1H"test_matchadd_conceal.res" [New File][24;29H[K[24;29H[New] 0L, 0C written
Executed 9 tests
"messages"[24;12H[K[24;12H251L, 6202C[24;12H[K[24;12H263L, 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
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
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_mksession.vim" 104 lines, 2315 characters
Executing Test_mksession()
"/tmp/vHCd1zk/0" [24;18H[K[24;18H[New] 9L, 203C written
[31msearch hit BOTTOM, continuing at TOP[m
"test_mksession.res" [New File][24;32H[K[24;22H[K[24;22H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H[converted] 263L, 6616C[24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_mksession_utf8.vim" 104 lines, 2328 characters
Executing Test_mksession_utf8()
"/tmp/vFUNjz8/0" [24;18H[K[24;18H[New] 9L, 215C written
[31msearch hit BOTTOM, continuing at TOP[m
"test_mksession_utf8.res" [New File][24;27H[K[24;27H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H267L, 6685C[24;12H[K[24;12H271L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;28H[K[24;28H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H271L, 6764C[24;12H[K[24;12H277L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_netbeans.vim" 80 lines, 2145 characters
"test_netbeans.res" [New File][24;21H[K[24;21H[New] 0L, 0C written
Executed 0 test
"messages"[24;12H[K[24;12H277L, 6909C[24;12H[K[24;12H280L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_normal.vim" 2280 lines, 58740 characters
Executing Test_normal00_optrans()[24;1H[K[24;1H
Executing Test_normal01_keymodel()
4 lines yanked[24;15H[K[24;1HExecuting Test_normal02_selectmode()[24;1H[K[24;1H10 fewer lines[24;1H[K[24;1H
Executing Test_normal02_selectmode2()[24;1H[K[24;1H:set im
[?12l[?25h[?25l[24;1H[K[24;1H:set noim
Executing Test_normal03_join()
Executing Test_normal04_filter()[24;1H[K[24;1H:.!sed -e 's/^/| /'
[?12l[?25h[22C[?1l>[?1049lone
[?1049h[?1h=[?25l[24;1H[K[24;1H:.!sed -e 's/^/| /'
[?12l[?25h[?25l[24;1H[K[24;1H:.!
[24;1H[K[24;1H:!echo one
[10C[?1l>[?12l[?25h[?1049l
[No write since last change]
one
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:.!!
[?12l[?25h
[?25lExecuting Test_normal05_formatexpr()
Executing Test_normal05_formatexpr_newbuf()
"another" [New File][24;21H[K[24;1H
Executing Test_normal05_formatexpr_setopt()
Executing Test_normal06_formatprg()[24;1H[K[24;1H:.,$!./Xsed_format.sh
[?12l[?25h[?25l7 lines filtered[24;17H[K[24;1H[K[24;1H:.,$!./Xsed_format.sh
[?12l[?25h[?25l7 lines filtered[24;17H[K[24;1H
Executing Test_normal07_internalfmt()
7 fewer lin[24;14H[K[24;1H
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()[24;1H[K[24;1H
Executing Test_normal12_nv_error()
Executing Test_normal13_help()
"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
Executing Test_normal14_page()
Executing Test_normal14_page_eol()[24;1H[K[24;1H
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
[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[24;1HWord 'goood' added to ./Xspellfile.add[24;7H2 goood' added to ./Xspellfile.add[24;25H/tmp/vbaEnHm/11[24;40H[K[24;16Hremoved from /tmp/vbaEnHm/11[24;7Hgoood' added to /tmp/vbaEnHm/11[24;38H[K[24;14Hremoved from /tmp/vbaEnHm/11[24;14Hadded to ./Xspellfile.add[24;39H[K[24;14Hremoved from ./Xspellfile.add[24;7H2 goood' added to ./Xspellfile.add[24;41H[K[24;16Hremoved from ./Xspellfile.add[24;7Hgoood' added to ./Xspellfile2.add[24;40H[K[24;1H
Executing Test_normal20_exmode()
Executing Test_normal21_nv_hat()
"Xfoobar" [New File][24;21H[K[24;4Hile2" [New File][24;20H[K[24;1H
Executing Test_normal22_zet()
Executing Test_normal23_K()
"version8.txt" [24;16H[K[24;16H[readonly] 14932L, 562906C[24;27Hline 1 of 14932 --0%-- col 1
"man" [New File][24;17H[K[24;2Haa%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=[24;1H
[?25lExecuting Test_normal24_rot13()
Executing Test_normal25_tag()
"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
"change.txt" [24;14H[K[24;14H[readonly] 1830L, 74768C
"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
"change.txt" [24;14H[K[24;14H[readonly] 1830L, 74768C
"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
"insert.txt" [24;14H[K[24;14H[readonly] 2003L, 82815C[24;25Hline 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 lines[24;15H[K[24;1H4 fewer lines[24;14H[K[24;1H3
Executing Test_normal30_changecase()
Executing Test_normal31_r_cmd()[24;1H[K[24;1H
Executing Test_normal32_g_cmd1()
/x_foo[24;7H[K[24;1H?abc[24;5H[K[24;1H
Executing Test_normal33_g_cmd2()[24;1H[K[24;1H/[1-8]
[31msearch hit BOTTOM, continuing at TOP[m
9 substitutions on 9 lines[24;27H[K[24;1Hblock of 3 lines yanked[24;24H[K[24;10H5[24;1H[K[24;1H
Executing Test_normal34_g_cmd3()
Executing Test_normal35_g_cmd4()
Executing Test_normal36_g_cmd5()
Executing Test_normal37_g_cmd6()
"1.txt" [New File][24;19H[K[24;2H23
Executing Test_normal38_nvhome()
Executing Test_normal39_cw()[24;1H[K[24;1H
Executing Test_normal40_ctrl_bsl()[24;1H[K[24;1H
Executing Test_normal41_insert_reg()[24;1H[K[24;1H=a
[24;1H[K[24;1H=a
[24;1H[K[24;1H=a
[24;1H[K[24;1H
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()[32Cq: [24;1H[K[24;1H:[27m[23m[m[H[2J[1;1Hxxx
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7m[No Name] [m[16;1H[1m[34m:[mset im
[1m[34m:[mset noim
[1m[34m:[m.!sed -e 's/^/| /'
[1m[34m:[m.!
[1m[34m:[m!echo one
[1m[34m:[m.!!
[1m[34m:[m
[1m[7m[Command Line] [22;2H[?12l[?25h[?25l[?12l[?25h[?25l[m[24;70H:^M[22;2H[24;70H [22;2H
Executing Test_normal51_FileChangedRO()
"Xreadonly.log" [24;17H[K[24;17H1L, 4C
[31mError detected while processing ...13]..Test_normal51_FileChangedRO:[m
[33mline 8:[m[24;11H[K[24;11H[31mW10: Warning: Changing a readonly file[m[24;1H[K[24;1H
Executing Test_normal52_rl()3_digraph()
Executing Test_normal54_Ctrl_bsl()
"test_normal.res" [New File][24;29H[K[24;19H[K[24;19H[New] 0L, 0C written
Executed 61 tests
"messages" [24;13H[K[24;12H280L, 6950C[24;12H[K[24;12H348L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_packadd.vim" 238 lines, 8288 characters
Executing Test_colorscheme()
Executing Test_colorscheme_completion()[24;1H[K[24;1H:colorscheme ...one')
:ccolorscheme one')
:cacolorscheme one')
:calcolorscheme one')
:callcolorscheme one')
:call colorscheme one')[24;7Hacolorscheme one')[24;8Hdcolorscheme one')[24;9Hdcolorscheme one')[24;10H(colorscheme one')[24;11Hlcolorscheme one')[24;12Hicolorscheme one')[24;13H,colorscheme one')[24;14H colorscheme one')[24;15H'colorscheme one')[24;16H
[24;1H[K[24;1H:colorscheme ...one...three[24;19H[K[24;19H')
:ccolorscheme three')
:cacolorscheme three')
:calcolorscheme three')
:callcolorscheme three')
:call colorscheme three')[24;7Hacolorscheme three')[24;8Hdcolorscheme three')[24;9Hdcolorscheme three')[24;10H(colorscheme three')[24;11Hlcolorscheme three')[24;12Hicolorscheme three')[24;13H,colorscheme three')[24;14H colorscheme three')[24;15H'colorscheme three')[24;16H
[24;1H[K[24;1H:colorscheme ...one...three[24;19H[K[24;19H...[24;15Hwo[24;17H[K[24;17H')
:ccolorscheme two')
:cacolorscheme two')
:calcolorscheme two')
:callcolorscheme two')
:call colorscheme two')[24;7Hacolorscheme two')[24;8Hdcolorscheme two')[24;9Hdcolorscheme two')[24;10H(colorscheme two')[24;11Hlcolorscheme two')[24;12Hicolorscheme two')[24;13H,colorscheme two')[24;14H colorscheme two')[24;15H'colorscheme two')[24;16H
[24;1H[K[24;1H:colorscheme ...one...three[24;19H[K[24;19H...[24;15Hwo[24;17H[K[24;17H...[24;14H[K[24;14H')
:ccolorscheme ')
:cacolorscheme ')
:calcolorscheme ')
:callcolorscheme ')
:call colorscheme ')[24;7Hacolorscheme ')[24;8Hdcolorscheme ')[24;9Hdcolorscheme ')[24;10H(colorscheme ')[24;11Hlcolorscheme ')[24;12Hicolorscheme ')[24;13H,colorscheme ')[24;14H colorscheme ')[24;15H'colorscheme ')[24;16H
Executing Test_helptags()
Executing Test_packadd()
"./Xdir/pack/mine/opt/mytest/plugin/test.vim" [New File][24;47H[K[24;47H[New] 1L, 24C written[24;37Halso/loaded.vim" [New File][24;64H[K[24;54H[K[24;54H[New] 1L, 29C written[24;30Hftdetect/test.vim" [New File[24;60H[K[24;49H[K[24;49H[New] 1L, 26C written
Executing Test_packadd_completion()[24;1H[K[24;1H:packadd ...pluginA')
:cpackadd pluginA')
:capackadd pluginA')
:calpackadd pluginA')
:callpackadd pluginA')
:call packadd pluginA')[24;7Hapackadd pluginA')[24;8Hdpackadd pluginA')[24;9Hdpackadd pluginA')[24;10H(packadd pluginA')[24;11Hlpackadd pluginA')[24;12Hipackadd pluginA')[24;13H,packadd pluginA')[24;14H packadd pluginA')[24;15H'packadd pluginA')[24;16H
[24;1H[K[24;1H:packadd ...pluginA...B[24;17H[K[24;17H')
:cpackadd pluginB')
:capackadd pluginB')
:calpackadd pluginB')
:callpackadd pluginB')
:call packadd pluginB')[24;7Hapackadd pluginB')[24;8Hdpackadd pluginB')[24;9Hdpackadd pluginB')[24;10H(packadd pluginB')[24;11Hlpackadd pluginB')[24;12Hipackadd pluginB')[24;13H,packadd pluginB')[24;14H packadd pluginB')[24;15H'packadd pluginB')[24;16H
[24;1H[K[24;1H:packadd ...pluginA...B[24;17H[K[24;17H...C[24;17H[K[24;17H')
:cpackadd pluginC')
:capackadd pluginC')
:calpackadd pluginC')
:callpackadd pluginC')
:call packadd pluginC')[24;7Hapackadd pluginC')[24;8Hdpackadd pluginC')[24;9Hdpackadd pluginC')[24;10H(packadd pluginC')[24;11Hlpackadd pluginC')[24;12Hipackadd pluginC')[24;13H,packadd pluginC')[24;14H packadd pluginC')[24;15H'packadd pluginC')[24;16H
[24;1H[K[24;1H:packadd ...pluginA...B[24;17H[K[24;17H...C[24;17H[K[24;17H...[24;10H[K[24;10H')
:cpackadd ')
:capackadd ')
:calpackadd ')
:callpackadd ')
:call packadd ')[24;7Hapackadd ')[24;8Hdpackadd ')[24;9Hdpackadd ')[24;10H(packadd ')[24;11Hlpackadd ')[24;12Hipackadd ')[24;13H,packadd ')[24;14H packadd ')[24;15H'packadd ')[24;16H
Executing Test_packadd_noload()
"./Xdir/pack/mine/opt/mytest/plugin/test.vim" [New File][24;47H[K[24;47H[New] 1L, 24C written
Executing Test_packloadall()
Executing Test_runtime()
"test_packadd.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 8 tests
"messages"[24;12H[K[24;12H348L, 9314C[24;12H[K[24;12H359L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_perl.vim" 123 lines, 3037 characters
Executing Test_SvREFCNT()
"t" [New File][24;15H[K[24;1H
Executing Test_VIM_package()
Executing Test_change_buffer()[24;1H[K[24;1H/^1
Executing Test_evaluate_list()[24;1H[K[24;1H/^2
[31msearch hit BOTTOM, continuing at TOP[m
Executing Test_perldo()
"__TEST__" [New File][24;22H[K[24;2Htest_perl.vim"[24;17H[K[24;17H123L, 3037C
Executing Test_perleval()
Executing Test_stdio()
&VIM::Msg
STDOUT
[1m[37m[41mSTDERR[m
"test_perl.res" [New File][24;17H[Kgcc -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
[24;17H[New] 0L, 0C written
Executed 7 tests
"messages"[24;12H[K[24;12H359L, 9597C[24;12H[K[24;12H369L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_profile.vim" 146 lines, 6247 characters
Executing Test_profile_completion()[24;1H[K[24;1H:profile ...continue file func pause start
:"profile continue file func pause start
:"
[24;1H[K[24;1H: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][24;20H[K[24;20H[New] 0L, 0C written
Executed 4 tests
"messages"[24;12H[K[24;12H369L, 9825C[24;12H[K[24;12H376L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_quickfix.vim" 1693 lines, 46351 characters
Executing Test_Autocmd()
"F1" [New File][24;16H[K[24;1H
(1 of 1): Line 10
"F2" [New File][24;16H[K[24;1H
(1 of 2): Line 10
Executing Test_Autocmd_Exception()
Executing Test_adjust_lnum()
Already only one window
"Xqftestfilec" [24;16H[K[24;16H20L, 131C
9 fewer lines
Already only one window
"Xqftestfilel" [24;16H[K[24;16H20L, 131C
9 fewer lines
Executing Test_browse()
"Xqftestfile1" [24;16H[K[24;16H20L, 131C
(1 of 4): Line5
"Xqftestfile2" 20L, 131C
(3 of 4): Line10
"Xqftestfile1" [24;16H[K[24;16H20L, 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" [24;16H[K[24;16H20L, 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" [24;15H[K[24;15H[readonly] 1486L, 61530C
(1 of 483): |QuickFixCmdPre|[34m^I[mbefore a quickfix command is run
(2 of 1486):
Executing Test_caddbuffer_wrong()
"Xqftestfile2" [New File][24;26H[K[24;1H
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][24;24H[K[24;1H
(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()
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 1[m[33m:[m non-error 1
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 5[m[33m:[m non-error 3
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 1[m[33m:[m non-error 1
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 5[m[33m:[m non-error 3
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
Executing Test_cwindow()[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[13;1H[30m[43mXtestfile1|1 col 3| Line1 [m[14;1HXtestfile2|2 col 2| Line2
Xtestfile3|3 col 1| Line3
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[Quickfix List] [27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[13;1H[30m[43mXtestfile1|1 col 3| Line1 [m[14;1HXtestfile2|2 col 2| Line2
Xtestfile3|3 col 1| Line3
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[Location List] [m[24;1HExecuting Test_dirstack_cleanup()
(1 of 1): 0
Executing Test_duplicate_buf()
"DoesNotExist" [New File][24;26H[K[24;14H2" [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" [24;13H[K[24;13H21L, 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=[?25l[23;1HAlready only one window[24;1H[K[?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=[?25l[23;1HExecuting Test_helpgrep()
"autocmd.txt" [readonly] 1486L, 61530C
(1 of 483): |QuickFixCmdPre|[34m^I[mbefore a quickfix command is run
"autocmd.txt" [readonly] line 1 of 1486 --0%-- col 1[24;53H[K[24;1H
(1 of 483): |QuickFixCmdPre|[34m^I[mbefore 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[7C: 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
[31mW19: Deleting augroup that is still in use[m
Executing Test_locationlist_cross_tab_jump()
"loclistfoo" [24;14H[K[24;14H1L, 11C[24;9Hbar[24;14H[K[24;14H1L, 11C[?1l>[?12l[?25h[?1049lloclistfoo:1:loclistfoo
[?1049h[?1h=[24;1H
[?25lAlready only one window
Executing Test_locationlist_curwin_was_closed()
[31mW19: Deleting augroup that is still in use[m
Executing Test_long_lines()[24;28H[K[24;1H"samples/quickfix.txt" [24;24H[K[24;24H4L, 22089C
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"samples/quickfix.txt" [24;24H[K[24;24H4L, 22089C
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"samples/quickfix.txt" [24;24H[K[24;24H4L, 22089C
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Executing Test_nomem()
"/<<PKGBUILDDIR>>/src/vim-athena/alloc.h" 21L, 485C
[1m[37m[41mError detected while processing function RunTheTest[13]..Test_nomem:[m
[33mline 2:[m
[1m[37m[41mE342: Out of memory! (allocating 4096 bytes)[m
"/<<PKGBUILDDIR>>/src/vim-athena/alloc.h" 21L, 485C
[33mline 5:[m
[1m[37m[41mE342: Out of memory! (allocating 4096 bytes)[m
"/<<PKGBUILDDIR>>/src/vim-athena/alloc.h" 21L, 485C
[33mline 8:[m
[1m[37m[41mE342: Out of memory! (allocating 1025 bytes)[m
"/<<PKGBUILDDIR>>/src/vim-athena/alloc.h" 21L, 485C
[33mline 11:[m
[1m[37m[41mE342: Out of memory! (allocating 1025 bytes)[m
"/<<PKGBUILDDIR>>/src/vim-athena/alloc.h" 21L, 485C
[33mline 14:[m
[1m[37m[41mE342: Out of memory! (allocating 1025 bytes)[m
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()
[31mW19: Deleting augroup that is still in use[m
error list 9 of 10; 1 errors :setloclist()
error list 9 of 10; 1 errors :setloclist()
[31mW19: Deleting augroup that is still in use[m
Executing Test_setqflist()[24;27H[K[24;1H"Xtestfile" [New File][24;23H[K[24;1H
(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" [24;16H[K[24;16H20L, 131C[24;13H2[24;16H[K[24;16H20L, 131C[24;13H1" 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" [24;16H[K[24;16H20L, 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" [24;16H[K[24;16H20L, 131C
(5 of 6): Line15
(6 of 6): Line16
"Xqftestfile1" [24;16H[K[24;16H20L, 131C[24;13H2[24;16H[K[24;16H20L, 131C
(1 of 6): Line5
(2 of 6): Line6
(3 of 6): Line10
(4 of 6): Line11
"Xqftestfile3" [24;16H[K[24;16H20L, 131C
(5 of 6): Line15
(6 of 6): Line16
"Xqftestfile1" [24;16H[K[24;16H20L, 131C
(1 of 6): Line5
(2 of 6): Line6
"Xqftestfile2" 20L, 131C
(3 of 6): Line10
(4 of 6): Line11
"Xqftestfile3" [24;16H[K[24;16H20L, 131C
(5 of 6): Line15
(6 of 6): Line16
"Xqftestfile1" [24;16H[K[24;16H20L, 131C
(1 of 6): Line5
(2 of 6): Line6
"Xqftestfile2" 20L, 131C
(3 of 6): Line10
(4 of 6): Line11
"Xqftestfile3" [24;16H[K[24;16H20L, 131C
(5 of 6): Line15
(6 of 6): Line16
Already only one window
"Xqftestfile1" [24;16H[K[24;16H20L, 131C[24;13H2[24;16H[K[24;16H20L, 131C[24;13H3[24;16H[K[24;16H20L, 131C
Executing Test_two_windows()
"one" [New File][24;17H[K[24;2Htwo
Executing Test_vimgreptitle()
file
"file" [New File]
Cannot open file "file"
"test_quickfix.res" [New File][24;21H[K[24;21H[New] 0L, 0C written
Executed 42 tests
"messages" [24;13H[K[24;12H376L, 9994C[24;12H[K[24;12H421L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_ruby.vim" 34 lines, 820 characters
Executing Test_ruby_change_buffer()[24;1H[K[24;1H/^1
Executing Test_ruby_evaluate_dict()
{"a"=>"foo", "b"=>123}
Executing Test_ruby_evaluate_list()[24;1H[K[24;1H/^2
[31msearch hit BOTTOM, continuing at TOP[m
"test_ruby.res" [New File][24;27H[K[24;17H[K[24;17H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H421L, 11297C[24;12H[K[24;12H427L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_search.vim" 296 lines, 8731 characters
Executing Test_search_cmdline()[24;1H[K[24;1H/foobar
[24;1H[K[24;1H/the
[31msearch hit BOTTOM, continuing at TOP[m[24;1H[K[24;1H/thes[24;5H[K[24;5H
/foobar
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[31msearch hit TOP, continuing at BOTTOM[m[24;1H[K[24;1H/thes
[24;1H[K[24;1H/thes
[24;1H[K[24;1H/thes
[24;1H[K[24;1H/thes
[24;1H[K[24;1H/thei
[24;1H[K[24;1H/thei[24;5H[K[24;5Hs
[24;1H[K[24;1H/thei[24;5H[K[24;5Hs[24;5H[K[24;5Hs
[24;1H[K[24;1H/them[24;5H[K[24;5H[24;4H[K[24;4H[24;3H[K[24;3H[24;2H[K[24;2Hthe\>
Executing Test_search_cmdline2()[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/foo[24;4H[K[24;4H
[27m[23m[m[H[2J[1;3H6 their
7 the
8 them
9 these
10 foobar
[1m[7m[No Name] [+] [m[7;1H" 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[18;1H their', ' 7 the', ' 8 them', ' 9 these', ' 10 foobar'])
" Test 1
" CTRL-N / CTRL-P skips through the previous search history
set noincsearch
:1
[7mtest_search.vim [m[24;1HExecuting Test_searchpair()
Executing Test_use_sub_pat()
"test_search.res" [New File][24;19H[K[24;19H[New] 0L, 0C written
Executed 4 tests
"messages"[24;12H[K[24;12H427L, 11443C[24;12H[K[24;12H434L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_signs.vim" 199 lines, 6383 characters
Executing Test_sign()
"foo" [New File][24;17H[K[27m[23m[m[H[2J[1;78Ha[34m[47m [m[2;78Hb[34m[47m [m[3;78Hc x[4;78Hd[34m[47m [5;79H [m[5;1H[1m[34m ~[m
[1m[7m[No Name] [+] [m[7;1H" Test for signs
if !has('signs')
finish
endif
[7mtest_signs.vim [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [m[18;1H[7mfoo [m[19;1H[34m[47m [ma
[34m[47m [mb
x c
[34m[47m [md
[7m[No Name] [+] [m[1;1H[34m[47m [ma[1;78H[K[2;1H[34m[47m [mb[2;78H[K[3;1Hx c[3;78H[K[4;1H[34m[47m [md[4;78H[K[5;1H[34m[47m [m[1m[34m~[74C [m[24;1H"foo" [New file] --No lines in buffer--
"bar[7CF[24;18H[K[24;1H
Executing Test_sign_completion()[24;1H[K[24;1H:sign ...define jump list place undefine unplace
:"sign define jump list place undefine unplace
:"
[24;1H[K[24;1H:sign define Sign ...icon= linehl= text= texthl=
:"sign define Sign icon= linehl= text= texthl=
:"
[24;1H[K[24;1H:sign define Sign linehl=Spell...Bad SpellCap SpellLocal SpellRare
:"sign define Sign linehl=SpellBad SpellCap SpellLocal SpellRare
:"
[24;1H[K[24;1H:sign define Sign icon=Xsig...nOne XsignTwo
:"sign define Sign icon=XsignOne XsignTwo
:"
[24;1H[K[24;1H:sign undefine ...Sign1 Sign2
:"sign undefine Sign1 Sign2
:"
[24;1H[K[24;1H:sign place 1 ...buffer= file= line= name=
:"sign place 1 buffer= file= line= name=
:"
[24;1H[K[24;1H:sign place 1 name=...Sign1 Sign2
:"sign place 1 name=Sign1 Sign2
:"
[24;1H[K[24;1H:sign unplace 1 ...buffer= file=
:"sign unplace 1 buffer= file=
:"
[24;1H[K[24;1H:sign list ...Sign1 Sign2
:"sign list Sign1 Sign2
:"
[24;1H[K[24;1H: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][24;20H[K[24;2Htest_signs.res" [New File][24;18H[K[24;18H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H434L, 11605C[24;12H[K[24;12H442L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_smartindent.vim" 14 lines, 376 characters
Executing Test_nosmartindent()[24;1H[K[24;1H/some
[31msearch hit BOTTOM, continuing at TOP[m[24;1H[K[24;1H"test_smartindent.res" [New File][24;24H[K[24;24H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H442L, 11818C[24;12H[K[24;12H446L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_startup.vim" 185 lines, 4581 characters
Executing Test_after_comes_later()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;3H1: /<<PKGBUILDDIR>>/src/vim-athena/testdir/Xbefore.vim
2: /<<PKGBUILDDIR>>/src/vim-athena/testdir/Xhere/plugin/here.vi
[23;80Hm[24;1H
3: /<<PKGBUILDDIR>>/src/vim-athena/testdir/Xhere/pack/foo/start
[23;80H/[24;1Hfoobar/plugin/foo.vim
4: /<<PKGBUILDDIR>>/src/vim-athena/testdir/Xafter/plugin/later.
[23;80Hv[24;1Him
5: /<<PKGBUILDDIR>>/src/vim-athena/testdir/Xafter.vim
[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_compatible_args()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1HError detected while processing /<<PKGBUILDDIR>>/src/vim-athena/t
[23;80He[24;1Hstdir/Xafter.vim:
line 2:
E528: Must specify a ' value: viminfo+=nviminfo
[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;33H[?1l>[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[24;1H[?1l>[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_file_args()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[24;1H[?1l>[?1049l[?1049h[?1h=[24;27H[?1l>[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"one" [New File]
[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;27H[?1l>[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"one" [New File]
[?1l>[?12l[?25h[?1049l3 files to edit
[?1049h[?1h=[24;27H[?1l>[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"one" [New File]
[?1l>[?12l[?25h[?1049l2 files to edit
[?1049h[?1h=[24;27H[?1l>[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"one" [New File]
[?1l>[?12l[?25h[?1049l4 files to edit
[?1049h[?1h=[24;1H
[?25lExecuting Test_help_arg()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_read_stdin()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[27m[23m[m[H[2J[?25l[24;1H"-stdin-" 1 line, 10 characters[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[24;1H"Xtestout" [New File] 1 line, 10 characters written
[?1l>[?12l[?25h[?1049l
Vim: Reading from stdin...
[?1049h[?1h=[24;1H
[?25lExecuting Test_startup_script()[?1000h
Executing Test_startuptime()[?1l>[?12l[?25h[?1049l[?1000l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"one" [New File]
[?1l>[?12l[?25h[?1049l[?1000h[?1049h[?1h=[?25l[24;1H"test_startup.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 7 tests
"messages"[24;12H[K[24;12H446L, 11893C[24;12H[K[24;12H456L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_startup_utf8.vim" 64 lines, 1366 characters
Executing Test_read_fifo_utf8()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"/dev/fd/63" [readonly] 2 lines, 24 characters
"Xtestout" [New File] 2 lines, 24 characters written
[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_read_stdin_utf8()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[27m[23m[m[H[2J[?25l[24;1H"-stdin-" 2 lines, 24 characters[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[24;1H"Xtestout" [New File] 2 lines, 24 characters written
[?1l>[?12l[?25h[?1049l
Vim: Reading from stdin...
[?1049h[?1h=[?25l[24;1H"test_startup_utf8.res" [New File][24;25H[K[24;25H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H456L, 12144C[24;12H[K[24;12H461L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_stat.vim" 64 lines, 1598 characters
Executing Test_checktime()
"Xtest.tmp" [24;13H[K[24;13H1L, 13C[?12l[?25h[?25l[24;13H[K[24;13H1L, 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][24;27H[K[24;17H[K[24;17H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H461L, 12255C[24;12H[K[24;12H469L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_substitute.vim" 41 lines, 1151 characters
Executing Test_multiline_subst()
[31msearch hit BOTTOM, continuing at TOP[m
3 substitutions on 3 lines[24;27H[K[24;1H
3 substitutions on 2 lines
"test_substitute.res" [New File][24;23H[K[24;23H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H469L, 12456C[24;12H[K[24;12H473L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_syntax.vim" 164 lines, 4101 characters
Executing Test_syn_iskeyword()[27m[23m[m[H[2J[1;1H[1m[37m[41mCREATE[m [35mTABLE[m FOOBAR(
DLTD_BY [32mVARCHAR2[m([31m100[m)
);
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [+] [m[13;1H[34m" Test for syntax and syntax iskeyword option[m
[33mif[m ![36mhas[m[35m([m[31m"syntax"[m[35m)[m
[33mfinish
endif
func[m GetSyntaxItem[35m([mpat[35m)[m
[33mlet[m [36mc[m [33m=[m [31m''[m
[33mlet[m [36ma[m [33m=[m [[31m'a'[m, [36mgetreg[m[35m([m[31m'a'[m[35m)[m, [36mgetregtype[m[35m([m[31m'a'[m[35m)[m]
[31m0[m
[7mtest_syntax.vim [m[24;1H
syntax iskeyword not set
syntax iskeyword @,48-57,_,192-255[27m[23m[m[H[2J[1;1H[1m[37m[41mCREATE[m [35mTABLE[m FOOBAR(
DLTD_BY [32mVARCHAR2[m([31m100[m)
);
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [+] [m[13;1H[34m" Test for syntax and syntax iskeyword option[m
[33mif[m ![36mhas[m[35m([m[31m"syntax"[m[35m)[m
[33mfinish
endif
func[m GetSyntaxItem[35m([mpat[35m)[m
[33mlet[m [36mc[m [33m=[m [31m''[m
[33mlet[m [36ma[m [33m=[m [[31m'a'[m, [36mgetreg[m[35m([m[31m'a'[m[35m)[m, [36mgetregtype[m[35m([m[31m'a'[m[35m)[m]
[31m0[m
[7mtest_syntax.vim [m[24;1H
syntax iskeyword not set
Executing Test_syntax_after_reload()
"Xsomefile" [New File][24;23H[K[24;13H[K[24;13H[New] 2L, 12C written
"other" [New File][24;19H[K[24;2HXsomefile" [24;14H[K[24;13H2L, 12C
Executing Test_syntax_completion()[24;1H[K[24;1H:syn ...case clear cluster conceal enable include iskeyword keyword list manual ma
[23;80Ht[24;1Hch off on region reset spell sync[23;2H"syn case clear cluster conceal enable include iskeyword keyword list manual ma[24;1Htch off on region reset spell sync[23;3H
[24;1H[K[24;1H:syn case ...ignore match
:"syn case ignore match
:"
[24;1H[K[24;1H:syn spell ...default notoplevel toplevel
:"syn spell default notoplevel toplevel
:"
[24;1H[K[24;1H:syn sync ...ccomment clear fromstart linebreaks= linecont lines= match maxlines=
[23;80Hm[24;1Hinlines= region[23;2H"syn sync ccomment clear fromstart linebreaks= linecont lines= match maxlines= [24;1Hminlines= region[23;3H
[24;1H[K[24;1H:syn list ...Boolean Character ColorColumn Comment Conceal Conditional Constant Cu
[23;80Hr[24;1Hsor CursorColumn CursorLine CursorLineNr Debug Define Delimiter DiffAdd DiffCha
[23;80Hn[24;1Hge DiffDelete DiffText Directory EndOfBuffer Error ErrorMsg Exception Float Fol
[23;80Hd[24;1HColumn Folded Function Identifier Ignore IncSearch Include Keyword Label LineNr
Macro MatchParen ModeMsg MoreMsg NONE NonText Normal Number Operator Pmenu Pmen
[23;80Hu[24;1HSbar PmenuSel PmenuThumb PreCondit PreProc Question Quote Repeat SYN Search Sig
[23;80Hn[24;1HColumn Special SpecialChar SpecialComment SpecialKey SpellBad SpellCap SpellLoc
[23;80Ha[24;1Hl SpellRare Statement StatusLine StatusLineNC StorageClass String Structure Tab
[23;80HL[24;1Hine TabLineFill TabLineSel Tag Title Todo Type Typedef Underlined VertSplit Vis
[23;80Hu[24;1Hal VisualNOS WarningMsg WildMenu lCursor luaBlock luaBraceError luaComment luaC
[23;80Ho[24;1Hnd luaConstant luaElse luaElseifThen luaError luaFor luaFunc luaFunction luaFun
[23;80Hc[24;1HtionBlock luaIfThen luaIn luaInnerComment luaLabel luaLoopBlock luaNumber luaOp
[23;80He[24;1Hrator luaParen luaParenError luaRepeat luaSpecial luaStatement luaString luaStr
[23;80Hi[24;1Hng2 luaTable luaTableBlock luaThenEnd luaTodo perlAnglesDQ perlAnglesSQ perlArr
[23;80Ho[24;1Hw perlAutoload perlBraces perlBracesDQ perlBracesSQ perlBracketsDQ perlBrackets
[23;80HS[24;1HQ perlCharacter perlComment perlConditional perlControl perlDATA perlElseIfErro[9;2H"syn list Boolean Character ColorColumn Comment Conceal Conditional Constant Cu[10;1Hrsor CursorColumn CursorLine CursorLineNr Debug Define Delimiter DiffAdd DiffCha[11;1Hnge DiffDelete DiffText Directory EndOfBuffer Error ErrorMsg Exception Float Fol[12;1HdColumn Folded Function Identifier Ignore IncSearch Include Keyword Label LineNr[13;1H Macro MatchParen ModeMsg MoreMsg NONE NonText Normal Number Operator Pmenu Pmen[14;1HuSbar PmenuSel PmenuThumb PreCondit PreProc Question Quote Repeat SYN Search Sig[15;1HnColumn Special SpecialChar SpecialComment SpecialKey SpellBad SpellCap SpellLoc[16;1Hal SpellRare Statement StatusLine StatusLineNC StorageClass String Structure Tab[17;1HLine TabLineFill TabLineSel Tag Title Todo Type Typedef Underlined VertSplit Vis[18;1Hual VisualNOS WarningMsg WildMenu lCursor luaBlock luaBraceError luaComment luaC[19;1Hond luaConstant luaElse luaElseifThen luaError luaFor luaFunc luaFunction luaFun[20;1HctionBlock luaIfThen luaIn luaInnerComment luaLabel luaLoopBlock luaNumber luaOp[21;1Herator luaParen luaParenError luaRepeat luaSpecial luaStatement luaString luaStr[22;1Hing2 luaTable luaTableBlock luaThenEnd luaTodo perlAnglesDQ perlAnglesSQ perlArr[23;1How perlAutoload perlBraces perlBracesDQ perlBracesSQ perlBracketsDQ perlBrackets[24;1HSQ perlCharacter perlComment perlConditional perlControl perlDATA perlElseIfErr[9;3H
[24;1H[K[24;1H: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" [24;21H[K[24;21H[readonly] 143L, 3142C
[35m--- Syntax items ---[m
[35m--- Syntax items ---[m
"Xsomefile" [New File]
Executing Test_syntime()
"../memfile_test.c" [24;21H[K[24;21H[readonly] 143L, 3142C[27m[23m[m[H[2J[1;1H[34m/* 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.
*/[m
[35m#undef NDEBUG
#include [m[31m<assert.h>[m
[34m/* Must include main.c because it contains much more than just main() */[m
[35m#define NO_VIM_MAIN
#include [m[31m"main.c"[m
[34m/* This file has to be included because the tested functions are static */[m
[35m#include [m[31m"memfile.c"[m
"Xsomefile" [New File]
"test_syntax.res" [New File][24;19H[K[24;19H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H473L, 12532C[24;12H[K[24;12H481L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_system.vim" 92 lines, 2910 characters
Executing Test_System()
"Xdummy" [New File][24;20H[K[24;1H
Executing Test_system_exmode()
"test_system.res" [New File][24;29H[K[24;19H[K[24;19H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H481L, 12729C[24;12H[K[24;12H486L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;34H[K[24;24H[K[24;24H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H486L, 12824C[24;12H[K[24;12H492L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_undo.vim" 265 lines, 6936 characters
Executing Test_U_command()[24;1H[K[24;1HExecuting Test_global_local_undolevels()
"one" [New File][24;17H[K[24;1H
6 fewer lines; before #8 0 seconds ago
"two" [New File][24;17H[K[24;1H
3 fewer lines; before #11 0 seconds ago
"three" [New File][24;19H[K[24;1H
Executing Test_insert_expr()[24;1H[K[24;1H=setline('.','1234')
[24;1H[K[24;1H1 line less; before #4 0 seconds ago[24;22H3[24;1H[K[24;1H=setline('.','1234')
[24;1H[K[24;1H1 line less; before #7 0 seconds ago[24;1H[K[24;1H=string(123)
[24;1H[K[24;1H1 line less; before #9 0 seconds ago
Executing Test_undo_del_chars()
1 change; before #3 0 seconds ago[24;19H21
1 change; before #6 1 seconds ago[24;19H5
4[7Cs; after #3
1[7C; before #21
3 changes; after #6 1 seconds ago[24;1H[K[24;1H3 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][24;19H[K[24;1H[K[24;1H"Xtest" [New] 1L, 12C written[24;1H[K[24;1H"Xtest" 3L, 20C written[24;1H[K[24;1H1 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][24;19H[K[24;1H[K[24;1H"Xfile" [New] 3L, 14C written[24;9H[K[24;9H3L, 14C
Finished reading undo file Xundofile
3 fewer lines; before #1 2019/06/23 11:56:27
Executing Test_undojoin()[24;1H[K[24;1H1 line less; before #2 0 seconds ago[24;1H[K[24;1H2 fewer lines; before #3 0 seconds ago
Executing Test_undolist()[24;1H[K[24;1H1 change; before #2 0 seconds ago[24;1H[K[24;1HExecuting Test_undotree()[24;1H[K[24;1H
1 change; before #2 0 seconds ago
"Xtest" [24;9H[K[24;9H[New] 1L, 4C written
"test_undo.res" [New File][24;27H[K[24;17H[K[24;17H[New] 0L, 0C written
Executed 9 tests
"messages"[24;12H[K[24;12H492L, 13023C[24;12H[K[24;12H504L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_usercommands.vim" 104 lines, 2527 characters
Executing Test_Ambiguous()
Executing Test_CmdUndefined()
Executing Test_cmdmods()
"test_usercommands.res" [New File][24;25H[K[24;25H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H504L, 13330C[24;12H[K[24;12H510L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;28H[K[24;3Hviminfo" [24;12H[K[24;12H83L, 3664C
Executing Test_viminfo_file_mark_zero_time()
Executing Test_viminfo_file_marks()
"ten" [New File][24;17H[K[24;2Hagain" [New File]
"thirty" [New File]
"twen
"again" [New File][24;19H[K[24;2Hfourty" [New File]
"Xviminfo" [24;12H[K[24;12H90L, 3462C
Executing Test_viminfo_jumplist()
"testbuf" [New File][24;21H[K[24;1H[K[24;1H/20
[24;1H[K[24;1H/30
[24;1H[K[24;1H/last pos
[24;1H[K[24;1H/15
[24;1H[K[24;1H/last pos
[24;1H[K[24;1H?30
[24;1H[K[24;1H/15
[24;1H[K[24;1H/last pos
[24;1H[K[24;1H?30
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
Executing Test_viminfo_marks()
"bufa" [New File][24;18H[K[24;5Hb
Executing Test_viminfo_oldfiles()
Executing Test_viminfo_read_and_write()
Executing Test_viminfo_registers()
"test_viminfo.res" [New File][24;30H[K[24;20H[K[24;20H[New] 0L, 0C written
Executed 13 tests
"messages" [24;13H[K[24;12H510L, 13458C[24;12H[K[24;12H526L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_viml.vim" 1315 lines, 31693 characters
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-athena/t[m
[23;80H[1m[37m[41me[24;1Hstdir/test_viml.vim:[m
[33mline 432:[m
[1m[37m[41mE492: Not an editor command: ^Iasdf[m
[33mline 444:[m
[1m[37m[41mE492: Not an editor command: ^Iasdf[m
[33mline 452:[m
[1m[37m[41mE492: Not an editor command: asdf[m
[33mline 455:[m
[1m[37m[41mE492: Not an editor command: asdf | Xpath 'p'[m
[1m[37m[41mError detected while processing function T8_F:[m
[33mline 5:[m
[1m[37m[41mE492: Not an editor command: ^I asdf[m
[33mline 7:[m
[1m[37m[41mE492: Not an editor command: ^I asdf | Xpath 'd'[m
[33mline 19:[m
[1m[37m[41mE492: Not an editor command: ^I asdf[m
[33mline 21:[m
[1m[37m[41mE492: Not an editor command: ^I asdf | Xpath 'l'[m
[33mline 29:[m
[1m[37m[41mE121: Undefined variable: novar[m
[1m[37m[41mE15: Invalid expression: novar^I^I" returns (default return value 0)[m
[1m[37m[41mError detected while processing function T8_G:[m
[33mline 5:[m
[1m[37m[41mE492: Not an editor command: ^I asdf^I^I" returns -1[m
[1m[37m[41mError detected while processing function T8_H:[m
[33mline 5:[m
[1m[37m[41mE492: Not an editor command: ^I asdf^I^I" returns -1[m
[1m[37m[41mError detected while processing function F[2]..G[2]..H[2]..I:[m
[33mline 2:[m
[1m[37m[41mE492: Not an editor command: asdf^I^I" error[m
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-athena/t[m
[23;80H[1m[37m[41me[24;1Hstdir/test_viml.vim:[m
[33mline 663:[m
[1m[37m[41mE15: Invalid expression: | strlen("\"") | Xpath 'j'[m
[1m[37m[41mE15: Invalid expression: 1 ||| strlen("\"") | Xpath 'j'[m
[33mline 673:[m
[1m[37m[41mE15: Invalid expression: | strlen("\"") | Xpath 'n'[m
[1m[37m[41mE15: Invalid expression: 1 ||| strlen("\"") | Xpath 'n'[m
[33mline 682:[m
[1m[37m[41mE15: Invalid expression: | strlen("\"") | Xpath 'r'[m
[1m[37m[41mE15: Invalid expression: 1 ||| strlen("\"") | Xpath 'r'[m
[33mline 717:[m
[1m[37m[41mE492: Not an editor command: asdf^I^I" error[m
1
[33mline 787:[m
[1m[37m[41mE492: Not an editor command: asdf^I^I" error[m
[33mline 794:[m
[1m[37m[41mE492: Not an editor command: asdf^I^I" error[m
[33mline 817:[m
[1m[37m[41mE121: Undefined variable: asdf[m
[1m[37m[41mE15: Invalid expression: asdf[m
[33mline 828:[m
[1m[37m[41mE121: Undefined variable: asdf[m
[1m[37m[41mE15: Invalid expression: asdf | Xpath 'f' | endwhile | Xpath 'g'[m
[1m[37m[41mError detected while processing function F:[m
[33mline 8:[m
[1m[37m[41mE121: Undefined variable: g:boolvar[m
[1m[37m[41mE15: Invalid expression: g:boolvar^I" possibly undefined[m
[1m[37m[41mE121: Undefined variable: g:boolvar[m
[1m[37m[41mE15: Invalid expression: g:boolvar | Xpath 'd' | else | Xpath 'e' | endif[m
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
[23;80Hr[24;1Hee': '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':
[23;80H'[24;1Hyes', '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
4[10CXpath 'b'
5[10Cif first
6[14CXpath 'c'
7[14Clet first = 0
8[14Cbreak
9[10Celse
10[13CXpath 'd'
11[13Creturn
12[9Cendif
13 endwhile
endfunction[10;1H"/tmp/vMJzgJw/0" [10;18H[K[11;1H[K[12;1H[K[13;1H[K[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[10;18H[noeol] 16L, 299C
13 substitutions on 13 lines
Pattern not found: ^\s*$
"/tmp/vMJzgJw/0" [12;18H[K[12;18H13L, 248C written
"test_viml.vim" [12;18H[K[12;17H1315L, 31693C
function T1_G()
1 Xpath 'h'
2 let first = 1
3 while 1
4[10CXpath 'i'
5[10Cif first
6[14CXpath 'j'
7[14Clet first = 0
8[14Cbreak
9[10Celse
10[13CXpath 'k'
11[13Creturn
12[9Cendif
13[9Cif 1 " unmatched :if
14 endwhile
endfunction[9;1H"/tmp/vMJzgJw/1" [9;18H[K[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[9;18H[noeol] 17L, 334C
14 substitutions on 14 lines
Pattern not found: ^\s*$
"/tmp/vMJzgJw/1" [11;18H[K[11;18H14L, 281C written
"test_viml.vim" [11;18H[K[11;17H1315L, 31693C
Executing Test_error_in_function()
Executing Test_error_in_script()
Executing Test_expr_parsing()
Executing Test_finish()
function T4_F()
1 if 1
2[10CXpath 'a'
3[10Clet loops = 3
4[10Cwhile loops > 0[25C" 3: 2: 1:
5[14CXpath 'b' . loops
6[14Cif (loops == 2)
7[18CXpath 'c' . loops
8[18Creturn
9[18CXpath 'd' . loops
10[13Cendif
11[13CXpath 'e' . loops
12[13Clet loops = loops - 1
13[9Cendwhile
14[9CXpath 'f'
15 else
16[9CXpath 'g'
17 endif
endfunction[6;1H"/tmp/vMJzgJw/2" [6;18H[K[7;1H[K[8;1H[K[9;1H[K[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[6;18H[noeol] 20L, 504C
17 substitutions on 17 lines
Pattern not found: ^\s*$
"/tmp/vMJzgJw/2" [8;18H[K[8;18H17L, 445C written
"test_viml.vim" [8;18H[K[8;17H1315L, 31693C
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][18;27H[K[18;17H[K[18;17H[New] 0L, 0C written
Executed 21 tests
"messages" [19;13H[K[19;12H526L, 13970C[19;12H[K[19;12H550L, 14609C written[24;1H
[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_visual.vim" 25 lines, 506 characters
Executing Test_block_shift_multibyte()
Executing Test_dotregister_paste()[24;1H[K[24;1H"test_visual.res" [New File][24;19H[K[24;19H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H550L, 14609C[24;12H[K[24;12H555L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_window_id.vim" 103 lines, 2714 characters
Executing Test_win_getid()
"one" [New File][24;17H[K[24;2Htwohree" [New File]
"four" [New File][24;18H[K[24;3Hive
Executing Test_win_getid_curtab()
"X" [New File][24;15H[K[24;2Htest_window_id.res" [New File][24;22H[K[24;22H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H555L, 14723C[24;12H[K[24;12H560L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_writefile.vim" 16 lines, 490 characters
Executing Test_WriteFile()
"test_writefile.res" [New File][24;22H[K[24;22H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H560L, 14827C[24;12H[K[24;12H564L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_alot_latin.vim" 7 lines, 280 charactersgcc -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
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][24;33H[K[24;23H[K[24;23H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H[converted] 564L, 14896C[24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_alot_utf8.vim" 11 lines, 440 characters[?1l>[?12l[?25h[?1049l[m[m[0m[H[2J[m[0m[24;1HExecuting Test_classes_re1()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
Executing Test_classes_re2()
Executing Test_equivalence_re1()
Executing Test_equivalence_re2()
Executing Test_match_using_multibyte_conceal_char()[m[m[0m[H[2J[2;1H#[37m[40mˑ[0mThis[37m[40mˑ[0mis[37m[40mˑ[0ma[37m[40mˑ[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H" 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
[7mtest_alot_utf8.vim [0m[24;1HExecuting Test_source_latin()
"Xscript"[24;11H[K[24;11H[New] 2L, 44C written
Executing Test_source_utf8()[24;29H[K[24;1H"Xscript"[24;11H[K[24;11H[New] 2L, 42C written[24;1H[K[24;1H:%s/à[24;6Hx/--à[24;11H1234--/g
[24;1H[K[24;1H:%s/Àx/--À1234--/g
Executing Test_strcharpart()
Executing Test_strgetchar()
"test_alot_utf8.res" [New File][24;22H[K[24;22H[New] 0L, 0C written
Executed 9 tests
"messages"[24;12H[K[24;12H572L, 15112C[24;12H[K[24;12H584L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_alot.vim" 49 lines, 1258 characters
Executing Test_BufEnter()
"NewFile" [New File][24;21H[K[24;2HXdir" is a directory
Executing Test_OptionSet_modeline()
Executing Test_abbreviation()[24;1H[K[24;1HExecuting Test_abs()
Executing Test_acos()
Executing Test_asin()
Executing Test_atan()
Executing Test_atan2()
Executing Test_augroup_deleted()
[31mW19: Deleting augroup that is still in use[m
Executing Test_augroup_warning()[24;33H[K[24;1H
[31mW19: Deleting augroup that is still in use[m[24;1H[K[24;1Hentering
Executing Test_auto_partial_rebind()
Executing Test_autocmd_bufunload_avoiding_SEGV_01()
"aa.txt" [New File][24;20H[K[24;1H
"bb.txt" [New File]
Executing Test_autocmd_bufunload_avoiding_SEGV_02()[24;1H[K[24;1H
"a.txt" [New File]
"test_alot.vim" [24;17H[K[24;17H49L, 1258C
Executing Test_autocmd_bufunload_with_tabnext()
Executing Test_autocmd_bufwinleave_with_tabfirst()
"a.txt" [New File][24;19H[K[24;1H
Executing Test_bind_in_python()
Executing Test_break_undo()[24;1H[K[24;1HExecuting Test_bufunload()
Executing Test_cancel_ptjump()
Already only one window[24;1H[K[24;1H:ptjump word
[35m # pri kind tag[15Cfile[m
1 F[8C[35mword[m[14C[34mfile1[m
[15Ccmd1
2 F[8C[35mword[m[14C[34mfile2[m
[15Ccmd2
Type number and <Enter> (empty cancels):
"help.txt" [24;13H[K[24;12H[readonly] 225L, 8437C
Executing Test_caught_error_in_statusline()[27m[23m[m[H[2J[1;1Hsource test_modeline.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
[1m[7m [m[24;1HExecuting Test_caught_error_in_tabline()[27m[23m[m[H[2J[1;1H[7m [m[2;1Hsource 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
[1m[7mtest_alot.vim [m[24;1HExecuting 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()[24;1H[K[24;1H=s:test_func()
[2;8H[30m[47m AAAAA_Group [m[40m [m[3;8H[30m[45m BufAdd [m[40m [m[4;8H[30m[45m BufCreate [m[40m [m[5;8H[30m[45m BufDelete [m[40m [m[6;8H[30m[45m BufEnter [m[40m [m[7;8H[30m[45m BufFilePost [m[47m [m[8;8H[30m[45m BufFilePre [m[47m [m[9;8H[30m[45m BufHidden [m[47m [m[10;8H[30m[45m BufLeave [m[47m [m[11;8H[30m[45m BufNew [m[47m [m[12;8H[30m[45m BufNewFile [m[47m [m[13;8H[30m[45m BufRead [m[47m [m[14;8H[30m[45m BufReadCmd [m[47m [m[15;8H[30m[45m BufReadPost [m[47m [m[16;8H[30m[45m [m[1m[7mt[m[30m[45mBufReadPre [m[47m [m[17;8H[30m[45m BufUnload [m[47m [m[18;8H[30m[45m BufWinEnter [m[47m [m[19;8H[30m[45m BufWinLeave [m[47m [m[20;8H[30m[45m BufWipeout [m[47m [m[21;8H[30m[45m BufWrite [m[47m [m[22;8H[30m[45m BufWriteCmd [m[47m [m[23;8H[30m[45m BufWritePost [m[47m [m[24;1H[K[24;1HExecuting Test_complete_no_undo()[24;1H[K[24;1H=UndoComplete()
[2;1H[1;1H[7L[1;1Hxxx
aaa
yyy
[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [+] [m[13;8Htest_tabpage.vim[13;24H[K[14;8Htest_tagcase.vim[14;24H[K[15;8Htest_tagjump.vim[15;24H[K[16;8Htest_timers.vim[16;23H[K[17;8Htest_true_false.vim[17;27H[K[18;8Htest_unlet.vim[18;22H[K[19;1Hsource test_window_cmd.vim[19;27H[K[20;1Hsource test_options.vim[20;24H[K[21;8He here[21;14H[K[22;1HTest3: text with a (parenthesis here
[7mtest_alot.vim [m[3;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October[m[1m[7me[m[30m[45m
November
December [2;1H[m[24;1H[K[24;1H1 change; before #2 0 seconds ago[24;1H[K[24;1H=UndoComplete()
[2;4H
bbb
yyy[3;4H[K[4;1H[1m[34m~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
source test_tab
source test_tag[3;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October[m[1m[7me[m[30m[45m
November
December [2;4H[m[24;1H[1m-- INSERT --[m[24;13H[K[3;1H[30m[47mJanuary [2;4H[m[24;1H[K[24;1H1 change; before #4 0 seconds ago[24;1H[K[24;1H=UndoComplete()
[2;4H
yyy[3;4H[K[4;1H[1m[34m~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
source test_tab
source test_tag[3;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October[m[1m[7me[m[30m[45m
November
December [2;4H[m
January
[1m[34m~
~
~
~
~
~
~
~ [m[4;1H[30m[45mFebruary
March
April
May
June
July
August
September [m[24;1H[1m-- INSERT --[m[24;13H[K[3;1H[30m[47mJanuary [2;8H[m[24;1H[K[24;1H1 change; before #5 0 seconds ago
Executing Test_completefunc_opens_new_window_one()
[31msearch hit BOTTOM, continuing at TOP[1;4H[m[24;1H[K[24;1HExecuting Test_completefunc_opens_new_window_two()
[31msearch hit BOTTOM, continuing at TOP[m[24;1H[K[24;1HExecuting Test_completefunc_with_scratch_buffer()[6;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May [6;1HJanuary [m
[30m[47mFebruary [5;9H[27m[23m[m[H[2J[1;1Hinfo2-1
2-2
2-3
February
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[13;1Hsource 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[6;1H[30m[45mJanuary [m
[30m[47mFebruary [m
[30m[45mMarch
April
May [m
[7m[Scratch] [23;1Htest_alot.vim [4;1H[Scratch] [Preview] [m[12;1H[1m[7m[Scratch] [5;9H[m
March[5;6H[K[6;1H[1m[34m~
~
~
~
~ [m[6;1H[30m[45mJanuary [m
[30m[47mFebruary [m
[30m[45mMarch
April
May [m[1;5H3
3
3[12;1H[7m[Scratch][m[1m[7m [m[7m [m[12;1H[1m[7m[Scratch] [m[7;1H[30m[45mFebruary [m
[30m[47mMarch [5;6H[m
April
[1m[34m~
~
~
~
~ [m[6;1H[30m[45mJanuary
February [m
[30m[47mMarch [m
[30m[45mApril
May [m[1;5H4
4
4[12;1H[7m[Scratch][m[1m[7m [m[7m [m[12;1H[1m[7m[Scratch] [m[8;1H[30m[45mMarch [m
[30m[47mApril [5;6H[m[24;1HExecuting Test_completefunc_works()
[31msearch hit BOTTOM, continuing at TOP[m[2;1H[30m[47mthreedef [m
[30m[45mthreeDEF [2;1Hthreedef [m
[30m[47mthreeDEF [1;9H[m
[L[1;1HthreeDEF
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~
~
~
~
~ [m[2;1H[30m[45mthreedef [m
[30m[47mthreeDEF [1;9H[m[24;1H[K[24;1HExecuting Test_completion_ctrl_e_without_autowrap()[24;1H[K[24;1HExecuting Test_cos()
Executing Test_cosh()
Executing Test_cursorhold_insert()[?12l[?25h[?25l[24;1H[K[24;1HExecuting Test_cursorhold_insert_ctrl_x()[?12l[?25h[?25l[24;1H[K[24;1HExecuting Test_cursorline_keep_col()
Executing Test_curswant_with_autocommand()[24;1H[K[24;1H
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][24;21H[K[24;1H[K[24;1H
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()[24;1H[K[24;1HExecuting Test_file_delete()
"Xfile" [New File][24;19H[K[24;9H[K[24;9H[New] 2L, 4C written
Executing Test_file_perm()
Executing Test_fileformat_after_bw()
"a.txt" [New File][24;19H[K[24;2Hex-undo" [New File]
Executing Test_filetype_valid()
Executing Test_filter()
"Xdoesnotmatch" [New File]
"Xwillmatch" [New File][24;24H[K[24;2Hex-undo" [New File][24;21H[K[24;1H
Executing Test_filter_cmd_completion()[24;1H[K[24;1H:filter [34m^I[m"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter [34m^I[m[24;11H[K[24;11H[24;1H[K[24;1H:filter pat[34m^I[m"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter pat[34m^I[m[24;15H[K[24;14H[24;1H[K[24;1H:filter /pat[34m^I[m"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter /pat[34m^I[m[24;15H[K[24;15H[24;1H[K[24;1H:filter /pat/[34m^I[m"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter /pat/[34m^I[m[24;16H[K[24;16H[24;1H[K[24;1H:filter pat pri...nt[24;18H[K[24;18H"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter pat print[24;18H[K[24;18H[24;1H[K[24;1H:filter /pat/ pri...nt[24;20H[K[24;20H"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter /pat/ print[24;20H[K[24;20H[24;1H[K[24;1H:filter #pat# pri...nt[24;20H[K[24;20H"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter #pat# print[24;20H[K[24;20H[24;1H[K[24;1HExecuting 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" [24;17H[K[24;17H49L, 1258C
Executing Test_func_sandbox()
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_glob2regpat_invalid()
Executing Test_glob2regpat_valid()
Executing Test_global_local_lispwords()
Executing Test_help_complete()
Executing Test_help_respect_current_file_lang()
"testdoc.abx" [24;15H[K[24;15H[readonly] 2L, 25C[24;10Hja[24;15H[K[24;15H[readonly] 2L, 25C[24;26Hline 1 of 2 --50%-- col 2-9[24;10Htxt[24;15H[K[24;15H[readonly] 2L, 25C
Executing Test_help_tagjump()[24;30H[K[24;1H"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
"options.txt" [24;15H[K[24;15H[readonly] 8784L, 372352C[24;26Hline 7690 of 8784 --87%-- col 7-49
"eval.txt" [24;12H[K[24;12H[readonly][converted] 10613L, 408230C[24;22H line 2406 of 10613 --22%-- col 1
"options.txt" [readonly] line 1324 of 8784 --15%-- col 4-25
"cmdline[24;15H[K[24;15H[readonly] 1147L, 46822C
Executing Test_if()
Executing Test_info()
Executing Test_invalid_submatch()
Executing Test_isnan()
Executing Test_join_with_count()
Executing Test_keymap_valid()
Executing Test_keyword_jump()
"Xtestfile" [24;13H[K[24;13H9L, 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()[24;1H[K[24;1HExecuting Test_map_ctrl_c_visual()[24;1H[K[24;1H:'<,'>[24;2H[K[24;2H$put ='vmap works'
Executing Test_map_cursor()[24;1H[K[24;1H1 line less; before #8 0 seconds ago
Executing Test_map_feedkeys()[24;1H[K[24;1H:call feedkeys(".", "in")
[24;1H[K[24;1H:call feedkeys(".", "in")
[24;1H[K[24;1HExecuting Test_map_langmap()[24;1H[K[24;1H:call append(line('$'), '+')
Executing Test_map_meta_quotes()[24;1H[K[24;1HExecuting Test_match()
[27m[23m[m[H[2J[1;1Habcd[41me[mfg[41mhij[mklmnopq
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1Habc[41mdΣ[m[1;6Hab[41mcd[mef
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [m[24;1HExecuting Test_matchaddpos()[27m[23m[m[H[2J[1;1H1[1m[37m[41m2[m345
N[1m[37m[41mP[m
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H1[1m[37m[41m2[m345[30m[43m
N[m[1m[37m[41mP[m[30m[43m [m
vmap works[30m[43m
[m
Test1: text with a (here some more text)[30m[43m [m
Test1: text with a (here some more text)[30m[43m
[m
Test2: text wit a (here some more text [und undo])[30m[43m [m
fooc d[30m[43m [m
fooc d[30m[43m [m
+[30m[43m [m
+[30m[43m [m
bbbb[30m[43m [m
bbbb[30m[43m [m
cccc[30m[43m [m
bbbb[30m[43m [m
+[30m[43m [m
-foo-[30m[43m [m
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H0[1m[37m[41m1[m234[1m[37m[41m5[m[30m[43m
N[m[1m[37m[41mP[m[30m[43m [m
vmap works[30m[43m
[m
Test1: text with a (here some more text)[30m[43m [m
Test1: text with a (here some more text)[30m[43m
[m
Test2: text wit a (here some more text [und undo])[30m[43m [m
fooc d[30m[43m [m
fooc d[30m[43m [m
+[30m[43m [m
+[30m[43m [m
bbbb[30m[43m [m
bbbb[30m[43m [m
cccc[30m[43m [m
bbbb[30m[43m [m
+[30m[43m [m
-foo-[30m[43m [m
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H[1m[37m[41m1234567[m890
N[1m[37m[41mH[m
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H[1m[37m[41m1234567890[m
N[1m[37m[41mH[m
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [m[24;1HExecuting Test_matchaddpos_using_negative_priority()[27m[23m[m[H[2J[1;1H[30m[43mx[m
NH
vmap works
Test1: te[30m[43mx[mt with a (here some more te[30m[43mx[mt)
Test1: te[30m[43mx[mt with a (here some more te[30m[43mx[mt)
Test2: te[30m[43mx[mt wit a (here some more te[30m[43mx[mt [und undo])
fooc d
fooc d
+
+
bbbb
bbbb
cccc
bbbb
+
-foo-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H[1m[37m[41mx[m
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H[1m[37m[41mx
-1 match priority[m
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [m[24;1HExecuting Test_matchstrpos()
Executing Test_max_min_errors()
Executing Test_messages()
hello0[1;1H[3L[1;1H[1m[37m[41mx
-1 match priority[m
vmap works[23;11H[1m[7m [m[24;1H[K[24;1Hhello1234567898
hello9[1;1H[L[1;1H[1m[37m[41mx[m[24;1H[K[24;1Hhello9
Executing Test_missing_attr()
Executing Test_modeline_fails_always()
"Xmodeline_fails_backupdir" [24;29H[K[24;29H2L, 41C
"Xmodeline_fails_cdpath" 2L, 38C
"Xmodeline_fails_charconvert" 2L, 43C
"Xmodeline_fails_completefunc" 2L, 44C
"Xmodeline_fails_cscopeprg" 2L, 41C
"Xmodeline_fails_diffexpr" 2L, 40C
"Xmodeline_fails_directory" 2L, 41C
"Xmodeline_fails_equalprg" 2L, 40C
"Xmodeline_fails_errorfile" 2L, 41C
"Xmodeline_fails_exrc" 2L, 36C
"Xmodeline_fails_formatprg" 2L, 41C
"Xmodeline_fails_fsync" 2L, 37C
"Xmodeline_fails_grepprg" 2L, 39C
"Xmodeline_fails_helpfile" 2L, 40C
"Xmodeline_fails_keywordprg" 2L, 42C
"Xmodeline_fails_langmap" 2L, 39C
"Xmodeline_fails_makeef" 2L, 38C
"Xmodeline_fails_makeprg" 2L, 39C
"Xmodeline_fails_mkspellmem" 2L, 42C
"Xmodeline_fails_modelineexpr" 2L, 32C
"Xmodeline_fails_omnifunc" 2L, 40C
"Xmodeline_fails_operatorfunc" 2L, 44C
"Xmodeline_fails_printdevice" 2L, 43C
"Xmodeline_fails_patchexpr" 2L, 41C
"Xmodeline_fails_printexpr" 2L, 41C
"Xmodeline_fails_runtimepath" 2L, 43C
"Xmodeline_fails_secure" 2L, 38C
"Xmodeline_fails_shell" 2L, 37C
"Xmodeline_fails_shellcmdflag" 2L, 44C
"Xmodeline_fails_shellpipe" 2L, 41C
"Xmodeline_fails_shellquote" 2L, 42C
"Xmodeline_fails_shellredir" 2L, 42C
"Xmodeline_fails_shellxquote" 2L, 43C
"Xmodeline_fails_spellfile" 2L, 41C
"Xmodeline_fails_spellsuggest" 2L, 44C
"Xmodeline_fails_titleold" 2L, 40C
"Xmodeline_fails_viewdir" 2L, 39C
"Xmodeline_fails_viminfo" 2L, 39C
"Xmodeline_fails_undodir" 2L, 39C
"Xmodeline_fails_t_AB" 2L, 36C
"Xmodeline_fails_t_ce" 2L, 36C
"Xmodeline_fails_t_sr" 2L, 36C
"Xmodeline_fails_t_8b" 2L, 36C
Executing Test_modeline_fails_modelineexpr()
"Xmodeline_fails_balloonexpr" [24;31H[K[24;31H2L, 43C
"Xmodeline_fails_foldexpr" 2L, 40C
"Xmodeline_fails_foldtext" 2L, 40C
"Xmodeline_fails_formatexpr" 2L, 42C
"Xmodeline_fails_iconstring" 2L, 42C
"Xmodeline_fails_includeexpr" 2L, 43C
"Xmodeline_fails_indentexpr" 2L, 42C
"Xmodeline_fails_rulerformat" 2L, 43C
"Xmodeline_fails_statusline" 2L, 42C
"Xmodeline_fails_tabline" 2L, 39C
"Xmodeline_fails_titlestring" 2L, 43C
Executing Test_modeline_filetype()
"Xmodeline_filetype" [24;22H[K[24;22H2L, 24C
Executing Test_modeline_filetype_fails()
"Xmodeline_fails_filetype" [24;28H[K[24;28H2L, 31C
Executing Test_modeline_invalid()
"Xmodeline" [24;13H[K[24;13H2L, 13C
Executing Test_modeline_keymap()
"Xmodeline_keymap" [24;20H[K[24;20H2L, 32C
Executing Test_modeline_keymap_fails()
"Xmodeline_fails_keymap" [24;26H[K[24;26H2L, 35C
Executing Test_modeline_syntax()
"Xmodeline_syntax" [24;20H[K[24;20H2L, 25C
Executing Test_modeline_syntax_fails()
"Xmodeline_fails_syntax" [24;26H[K[24;26H2L, 32C
Executing Test_move_cursor()
Executing Test_named_function_closure()
Executing Test_no_type_checking()
Executing Test_noinsert_complete()[24;1H[K[24;1H=s:complTest1()
[1;1H[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1H[1m[37m[41mx
-1 match priority[m
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
[7m[No Name] [m[2;1H[30m[47msource [m
[30m[45msoundfold [1;1H[m[2;4H[30m[47mndfold[24;1H[m=s:complTest2()
[1;1H
[1m[34m~
~ [m[2;1H[30m[47msource [m
[30m[45msoundfold [1;1H[m[24;1H[K[24;1HExecuting Test_non_zero_arg()
Executing Test_not_existing()
Executing Test_not_lamda()
Executing Test_omnifunc_with_check()
[31msearch hit BOTTOM, continuing at TOP[m[1;1H[4L[1;1Hfour1
[1m[34m~ [3;1H~ [4;1H~ [m[12;11H[1m[7m[+][m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [m[1;5H2
[1m[34m~
~ [m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [2;1Hfour1 [m
[30m[47mfour2 [1;6H[m
[1m[34m~
~ [m[2;1H[30m[45mfour1 [m
[30m[47mfour2 [m
[30m[45mfour3
four4
four5
four6 [1;6H[m[24;1H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[m[1;5H1
[1m[34m~
~
~
~
~
~ [m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [m[1;5H2
[1m[34m~
~ [m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [2;1Hfour1 [m
[30m[47mfour2 [m[1;5H3
[1m[34m~
~ [m[2;1H[30m[45mfour1
four2 [m
[30m[47mfour3 [m
[30m[45mfour4 [1;6H[m
[1m[34m~
~
~
~ [m[2;1H[30m[45mfour1
four2 [m
[30m[47mfour3 [m
[30m[45mfour4
four5
four6 [1;6H[m[24;1H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[m[1;5H1
[1m[34m~
~
~
~
~
~ [m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [m[1;5H2
[1m[34m~
~ [m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [2;1Hfour1 [m
[30m[47mfour2 [m[1;5H3
[1m[34m~
~ [m[2;1H[30m[45mfour1
four2 [m
[30m[47mfour3 [m
[30m[45mfour4 [4;1Hfour3 [m
[30m[47mfour4 [m
[30m[45mfour5
four6 [1;6H[m4
[1m[34m~
~
~
~
~
~ [m[2;1H[30m[45mfour1
four2
four3 [m
[30m[47mfour4 [m
[30m[45mfour5
four6 [1;6H[m5
[1m[34m~
~
~
~
~
~ [m[2;1H[30m[45mfour1
four2
four3 [m
[30m[47mfour4 [m
[30m[45mfour5
four6 [5;1Hfour4 [m
[30m[47mfour5 [1;6H[m[24;1H[K[24;1HExecuting 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()[24;1H[K[24;1H=ListMonths()
[1;5H
[10L[1;1HJune
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [1;5H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJune [m
[30m[47mJuly [1;5H[m[24;1H[K[24;1H=ListMonths()
[1;8H
January
[1m[34m~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mFebruary [1;8H[m
[30m[45mFebruary [m
[30m[47mMarch [1;8H[m
[30m[45mMarch [m
[30m[47mApril [1;8H[m[5;1H[30m[45mApril [m
[30m[47mMay [1;8H[m[6;1H[30m[45mMay [m
[30m[47mJune [1;8H[m[7;1H[30m[45mJune [m
[30m[47mJuly [1;8H[m[8;1H[30m[45mJuly [m
[30m[47mAugust [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mJune
July [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;5H
June[1;5H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJune [m
[30m[45mJuly [1;5H[m[1;3H[K[2;1H[1m[34m~
~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJune [1;3H
July[m[24;1H[K[24;1H=ListMonths()
[1;5Hne
[1m[34m~
~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [1;5H[m[1;3H[K[2;1H[1m[34m~
~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJune [1;3H
July[1;5H[mly
[1m[34m~
~ [m[2;1H[30m[45mJuly [m
[30m[47mJuly [1;5H[m[24;1H[K[24;1H=ListMonths()
[1;5Hne
[1m[34m~ [m
[30m[47mJune [m
[30m[45mJuly [1;5H[m[1;3H[K[2;1H[1m[34m~
~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJune [1;3H
July[m[24;1H[K[24;1H=ListMonths()
[1;8H
January
[1m[34m~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m
February
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mFebruary [1;9H[m[24;1H[K[24;1H=ListMonths()
[1;8H
January[1;8H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mJune
July [1;8H[m
June[1;5H[K[2;1H[1m[34m~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mJune
July [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mJune [1;5H[mly
[1m[34m~
~
~ [m[2;1H[30m[45mJanuary [m
[30m[47mJune [m
[30m[45mJuly [3;1HJune [m
[30m[47mJuly [1;5H
[mJ[1;2H[K[2;1H[1m[34m~
~
~ [m[2;1H[30m[45mJanuary
June [m
[30m[47mJuly [m
[30m[45mJuly [1;2H[m[24;1H[K[24;1H=ListMonths()
[1;8H
January
[1m[34m~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mJune
July [1;8H[m
June[1;5H[K[2;1H[1m[34m~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mJune
July [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mJune [1;5H[mly
[1m[34m~
~
~ [m[2;1H[30m[45mJanuary [m
[30m[47mJune [m
[30m[45mJuly [3;1HJune [m
[30m[47mJuly [1;5H
[mJ[1;2H[K[2;1H[1m[34m~
~
~ [m[2;1H[30m[45mJanuary
June [m
[30m[47mJuly [m
[30m[45mJuly [1;2H[m
January
[1m[34m~
~
~ [m[2;1H[30m[45mJanuary
June
July [m[2;1H[30m[47mJanuary [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mJune
July [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;5H
June[1;5H[K[2;1H[1m[34m~
~
~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [1;5H[m[24;1H[K[24;1H=ListMonths()
[1;8H
January
[1m[34m~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[13;1H[30m[47mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[13;1H[30m[47mDecember [1;8H
February [m[13;1H[30m[45mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m[12;1H[30m[47mNovember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m[12;1H[30m[47mNovember [1;8H[m[12;1H[30m[45mNovember [m
[30m[47mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m[12;1H[30m[47mNovember [1;8H[m[12;1H[30m[45mNovember [m
[30m[47mDecember [1;8H[m[13;1H[30m[45mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m[12;1H[30m[47mNovember [1;8H[m[12;1H[30m[45mNovember [m
[30m[47mDecember [1;8H[m[13;1H[30m[45mDecember [1;8H[m[11;1H[30m[47mOctober [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[13;1H[30m[47mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[13;1H[30m[47mDecember [1;8H[12;1HNovember [m
[30m[45mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H
[m[1;1H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;1H[8C[m
December
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October [m
[30m[47mDecember [1;9H[m
Nov
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October [m
[30m[47mNovember [m
[30m[45mDecember [1;9H[m
October[1;8H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October [m
[30m[47mOctober [m
[30m[45mNovember [1;8H[m
September
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September [m
[30m[47mOctober [10;1HSeptember [m
[30m[45mOctober [1;10H[m[24;1H[K[24;1H=ListMonths()
[1;8H
January[1;8H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[13;1H[30m[47mDecember [1;8H[12;1HNovember [m
[30m[45mDecember [1;8H[m[11;1H[30m[47mOctober [m
[30m[45mNovember [1;8H[m[10;1H[30m[47mSeptember [m
[30m[45mOctober [1;8H[m[24;1H[K[24;1H=ListMonths()
[2;9H[24;1H[K[24;1H=ListMonths()
[2;9H[1;1HDecember2015
December[2;9H[K[3;1H[1m[34m~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[3;1H[30m[47mDecember [2;9H[m[24;1H[K[24;1H=ListMonths()
[1;6H
March[1;6H[K[2;1H[1m[34m~ [3;1H~ [m[2;1H[30m[47mMarch [m
[30m[45mMay [1;6H[my[1;4H[K[2;1H[1m[34m~
~ [m[2;1H[30m[47mMarch [m
[30m[45mMay [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mMarch [m
[30m[47mMay [1;4H[m rch
[1m[34m~
~ [m[2;1H[30m[45mMarch [m
[30m[47mMay [2;1HMarch [m
[30m[45mMay [1;6H[m[24;1H[K[24;1H=ListMonths()
[2;6H[1;2H[K[2;1HMarch[2;6H[K[3;1H[1m[34m~ [m
[30m[47mMarch [m
[30m[45mMay [2;6H[my[2;4H[K[3;1H[1m[34m~
~ [m[3;1H[30m[47mMarch [m
[30m[45mMay [m[24;1H[1m-- INSERT --[m[24;13H[K[3;1H[30m[45mMarch [m
[30m[47mMay [2;4H[m rch
[1m[34m~
~ [m[3;1H[30m[45mMarch [m
[30m[47mMay [3;1HMarch [m
[30m[45mMay [2;6H[m[24;1H[K[24;1H=ListMonths()
[1;6H
March
[1m[34m~ [3;1H~
~ [m[2;1H[30m[47mMarch [m
[30m[45mMay [1;6H[m[24;1H[K[24;1H=ListMonths()
[2;2HM[2;2H[K[3;1H[1m[34m~ [m
[30m[45mMarch
May [2;2H[m[24;1H[K[24;1H=ListMonths()
[3;2HM[3;2H[K[4;1H[1m[34m~ [m
[30m[47mMarch [m
[30m[45mMay [3;2H[m[24;1H[K[24;1HExecuting Test_popup_complete2()[24;1H[K[24;1H=ListMonths()
[1;2H[24;1H[K[24;1HExecuting Test_popup_completion_insertmode()[24;1H[K[24;1H=ListMonths()
[1;1H[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~
~ [m[12;11H[1m[7m [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;1H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mFebruary [1;1H[m[24;1H[K[24;1H=ListMonths()
[1;1H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;1H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mFebruary [1;1H[m[24;1H[K[24;1H=ListMonths()
[1;1H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;1H[8C[m
February
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mFebruary [1;9H[m
March[1;6H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary [m
[30m[47mFebruary [m
[30m[45mMarch
April
May
June
July
August
September
October [3;1HFebruary [m
[30m[47mMarch [1;6H[m
April
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February [m
[30m[47mMarch [m
[30m[45mApril
May
June
July
August
September
October [4;1HMarch [m
[30m[47mApril [1;6H[m
May[1;4H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March [m
[30m[47mApril [m
[30m[45mMay
June
July
August
September
October [5;1HApril [m
[30m[47mMay [1;4H[m
June
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April [m
[30m[47mMay [m
[30m[45mJune
July
August
September
October [6;1HMay [m
[30m[47mJune [1;5H[mly
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May [m
[30m[47mJune [m
[30m[45mJuly
August
September
October [7;1HJune [m
[30m[47mJuly [1;5H[m
August
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June [m
[30m[47mJuly [m
[30m[45mAugust
September
October [8;1HJuly [m
[30m[47mAugust [1;7H[m
September
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July [m
[30m[47mAugust [m
[30m[45mSeptember
October [9;1HAugust [m
[30m[47mSeptember [1;10H[m
October[1;8H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August [m
[30m[47mSeptember [m
[30m[45mOctober [10;1HSeptember [m
[30m[47mOctober [1;8H[m
November
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September [m
[30m[47mOctober [m
[30m[45mOctober [m
[30m[47mNovember [1;9H[m
Dec
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October
November [m
[30m[47mDecember [1;9H
[m[1;1H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October
December [1;1H[m[24;1H[K[24;1H=ListMonths()
[1;1H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;1H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;1H[m[24;1H[K[24;1H=ListMonths()
[1;1H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;1H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;1H[8C[m
December
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October [m
[30m[47mDecember [1;9H[m[24;1H[K[24;1HExecuting 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][24;25H[K[24;15H[K[24;15H[New] 2L, 4C written[24;8Hsubdir/Xfile" [24;22H[K[24;22H[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][24;17H[K[24;1H
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][24;20H[K[24;10H[K[24;10H[New] 3L, 18C written
Executing Test_statusline_will_be_disabled_with_error()[27m[23m[m[H[2J[1;1Hx
-1 match priority
vmap works
Test1: text with a (here some more text)
Test1: text with a (here some more text)
Test[34m2[m: text wit a (here some more text [und undo])
fooc d
fooc d
+
+
bbbb
bbbb
cccc
bbbb
+
-foo-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m [m[24;1HExecuting 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][24;19H[K[24;9H[K[24;9H[New] 2L, 4C written[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_symlink_dir_delete()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_symlink_recursive_delete()
"Xdir3/Xfile" [New File][24;25H[K[24;15H[K[24;15H[New] 2L, 4C written[24;8Hsubdir/Xfile" [24;22H[K[24;22H[New] 2L, 4C written
"Xdir4/Xfile" [24;15H[K[24;15H[New] 2L, 4C written[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_syntax_valid()
Executing Test_tabline_will_be_disabled_with_error()[27m[23m[m[H[2J[1;1H[7m [m[2;1Hx
-1 match priority
vmap works
Test1: text with a (here some more text)
Test1: text with a (here some more text)
Test[34m2[m: text wit a (here some more text [und undo])
fooc d
fooc d
+
+
bbbb
bbbb
cccc
bbbb
+
-foo-
[1m[34m~ [22;1H~ [m[23;1H[1m[7m[No Name] [m[24;1HExecuting Test_tabnext_on_buf_unload1()
Executing Test_tabnext_on_buf_unload2()
"x" [Not edited] --No lines in buffer--
"y" [New File][24;15H[K[24;1H
Executing Test_tabpage()
"Xtestfile" [New File][24;23H[K[24;1H
2 fewer lines; before #1 0 seconds ago
"test1" [New File][24;19H[K[24;2Hnewfile" [New File]
"test1" [New File][24;19H[K[24;14Hfile] --No lines in buffer--[24;14HF[24;20H[K[24;1H
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][24;19H[K[24;1H
Executing Test_tan()
Executing Test_tanh()
Executing Test_thesaurus()
Executing Test_three_windows()
"Xtestje1" [New File][24;22H[K[24;12H[K[24;12H[New] 1L, 8C written[24;9H2" [New File][24;22H[K[24;12H[K[24;12H[New] 1L, 8C written[24;9H3" [New File][24;22H[K[24;12H[K[24;12H[New] 1L, 8C written[24;9H1[24;12H[K[24;12H1L, 8C
"Xtestje3" 1L, 8C[24;9H2[24;12H[K[24;12H1L, 8C[24;9H1[24;12H[K[24;12H1L, 8C
"Xanother" [New File]
"Xtestje1[24;12H[K[24;12H1L, 8C
"Xanother" [New File]
Already only one window
"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
Executing Test_tostring()
Executing Test_true_false_arg()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;32H[?1l>[?1049l[?1049h[?1h=[24;32H[?1l>[?1049l[?1049h[?1h=[24;32H[?1l>[?1049l[?1049h[?1h=[24;1H
[?25l"colored" [New File]
Executing Test_trunc()
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" [24;15H[K[24;15H0L, 0C
[31mW19: Deleting augroup that is still in use[m
Executing Test_with_directories()[24;34H[K[24;1H"Xdir1/file" [New File][24;24H[K[24;1H
"Xdir1/file" [New] 2L, 4C written
"Xdir3/Xdir4/file" [New] 2L, 4C written[24;20H[K[24;20H2L, 4C
"Xdir?/*/nofile" [New DIRECTORY]
"foo" [New File][24;18H[K[24;1HExecuting Test_with_partial_callback()[?12l[?25h[?25l[24;21Htilde()[24;28H[K[24;17Hrong_arguments()
"test_alot.res" [New File][24;27H[K[24;1H
"test_alot.res" [New] 0L, 0C written
Executed 256 tests[24;19H[K[24;1H"messages" [24;12H[K[24;12H584L, 15447C
"messages" 845L, 23978C 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_OptionSet_modeline()
Skipped
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_sandbox()
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_glob2regpat_invalid()
Executing Test_glob2regpat_valid()
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_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_modeline_fails_always()
Executing Test_modeline_fails_modelineexpr()
Executing Test_modeline_filetype()
Executing Test_modeline_filetype_fails()
Executing Test_modeline_invalid()
Executing Test_modeline_keymap()
Executing Test_modeline_keymap_fails()
Executing Test_modeline_syntax()
Executing Test_modeline_syntax_fails()
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_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 256 tests
SKIPPED Test_OptionSet_modeline(): test_override() missing
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 -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 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/fileio.o fileio.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 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 -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_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
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
link.sh: Linked fine
./message_test || exit 1; echo passed;
passed
make[1]: Leaving directory '/<<PKGBUILDDIR>>/src/vim-athena'
touch build-stamp-vim-athena
dh_testdir
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
dh_prep
/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/hardcopy.o hardcopy.c
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
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
touch de.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq en_GB.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/if_cscope.o if_cscope.c
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/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 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/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 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
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 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 -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 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
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 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
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 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/normal.o normal.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/ops.o ops.c
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 -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 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
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 -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 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
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 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
touch ru.cp1251.ck
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq sk.cp1250.po
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 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test1.in" 57 lines, 2069 characters[2;1HFirst 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[20;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 35 lines, 1133 characters written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[21;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If columns or lines are too small, create wrongtermsize.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" (Some tests will fail. When columns and/or lines are small)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Write a single line to test.out to check if testing works at all.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%d
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25lthis is a test[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 15 characters written[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Create small.vim and tiny.vim empty, create mbyte.vim to skip the test.
[?25l[1;14H[?12l[?25h
[?25l[1;1H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! small.vim
[?25l"small.vim" [24;13H[K[24;13H[New File] 1 line, 1 character written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! tiny.vim
[?25l"tiny.vim" [24;12H[K[24;12H[New File] 1 line, 1 character written[1;1H[?12l[?25h[?25le! test.ok
w! test.out[2;12H[K[3;1Hqa![3;4H[K[4;1H[K[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! mbyte.vim
[?25l"mbyte.vim" [24;13H[K[24;13H[New File] 4 lines, 28 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! mzscheme.vim
[?25l"mzscheme.vim" [24;16H[K[24;16H[New File] 4 lines, 28 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! lua.vim
[?25l"lua.vim" [24;11H[K[24;11H[New File] 4 lines, 28 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +multi_byte feature supported, make mbyte.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif has("multi_byte") | sp another | w! mbyte.vim | q | endif
[?25l"another" [New File][24;21H[K[24;1H
"mbyte.vim" 0 lines, 0 characters written[1;1H[L[1;1He! test.ok[24;1H[K[4;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +mzscheme feature supported, make mzscheme.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif has("mzscheme") | sp another | w! mzscheme.vim | q | endif
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +lua feature supported, make lua.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif has("lua") | sp another | w! lua.vim | q | endif
[?25l"another" [New File][24;21H[K[24;1H
"lua.vim" 0 lines, 0 characters written[1;1H[L[1;1He! test.ok[24;1H[K[4;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Otherwise write small.vim to skip the test.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif 1 | q! | endif
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test3.in" 2342 lines, 23089 characters[1;1H/* vim: set cin ts=4 sw=4 : */
Test for 'cindent'
STARTTEST
:so small.vim
:set nocompatible viminfo+=nviminfo modeline
:edit[16C" read modeline
/start of AUTO
=/end of AUTO
ENDTEST
/* start of AUTO matically checked vim: set ts=4 : */
{[15;9Hif (test)[16;17Hcmd1;[17;9Hcmd2;
}
{[21;9Hif (test)[22;17Hcmd1;[23;9Helse[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1H/* vim: set cin ts=4 sw=4 : */[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 125 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo modeline
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit " read modeline
[?25l"test3.in"[24;22H[K[24;12H2342L, 23089C[15;5Hif (test)[15;14H[K[16;9Hcmd1;[16;17H[K[17;5Hcmd2;[17;10H[K[21;5Hif (test)[21;14H[K[22;9Hcmd1;[22;17H[K[23;5Helse[23;9H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hstart of AUTO
[?25l[13;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hend of AUTO
[?25l956 lines to indent...
9500
850
750
650
550
450
350
250
150
50 lines to indent...
957 lines indented [24;20H[K[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;13H}[2;13Hbreak;[3;9Hdefault:[4;13Hbaz();[5;13Hbaz();[6;13Hbreak;
}
}
/* end of AUTO */
STARTTEST
:set tw=0 wm=60 columns=80 noai fo=croq
/serious/e
a about life, the universe, and the rest[34m^[[m
ENDTEST
{
/* this is
* a real serious important big
* comment
*/[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 93C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=0 wm=60 columns=80 noai fo=croq
[?25l[27m[23m[m[H[2J[1;13H}[2;13Hbreak;[3;9Hdefault:[4;13Hbaz();[5;13Hbaz();[6;13Hbreak;
}
}
/* end of AUTO */
STARTTEST
:set tw=0 wm=60 columns=80 noai fo=croq
/serious/e
a about life, the universe, and the rest[34m^[[m
ENDTEST
{
/* this is
* a real serious important big
* comment
*/[16;1H[?12l[?25h[?25l[24;1H/[?12l[?25hserious/e
[?25l[21;17H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[20;19H[K[21;4Habout life, the
* universe, and the
* rest important big[23;7H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H* comment[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[5M[1;24r[19;2H*/
/* insert " about life, the universe, and the rest" after "serious" */
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set nocin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H6L, 78C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H/comments
joabout life[34m^[[m/happens
jothere[34m^[[m/below
oline[34m^[[m/this
Ohello[34m^[[m[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hcomments
[?25l[1;23r[1;1H[4M[1;24r[21;1H{
/*[23;6H* Testing for comments, without 'cin' set[24;1H[K[23;20H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;6H*/[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1Habout life[?12l[?25h[?25l
/[?12l[?25hhappens
[?25l[1;23r[1;1H[3M[1;24r[22;1H/*
* what happens here?[24;1H[K[23;8H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H*/[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1Hthere[?12l[?25h[?25l
/[?12l[?25hbelow
[?25l[1;23r[1;1H[3M[1;24r[22;5H/*[23;8Hthe end of the comment, try inserting a line below */[24;1H[K[23;53H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1Hline[?12l[?25h[?25l
/[?12l[?25hthis
[?25l[1;23r[1;1H[3M[1;24r[22;9H/* how about[23;25Hthis one */[24;1H[K[23;25H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[23;1Hhello[23;25H[K[23;5H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;25Hthis one */[23;8H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 18C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/vec2
==[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hvec2
[?25l[1;23r[1;1H[5M[1;24r[20;1H{
var = this + that + vec[0] * vec[0][22;23H+ vec[1] * vec[1][23;23H+ vec2[2] * vec[2];[24;1H[K[23;25H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5L, 51C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H:set cino=}4
/testing1
k2==/testing2
k2==[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=}4
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25htesting1
[?25l[1;23r[1;1H[8M[1;24r[17;1H{[18;9Hasdf asdflkajds f;
if (tes & ting) {[20;9Hasdf asdf asdf ;[21;9Hasdfa sdf asdf;[22;9H}
testing1;[24;1H[K[23;5H[?12l[?25h[22;8H [?25l
/[?12l[?25htesting2
[?25l[1;23r[1;1H[6M[1;24r[18;5Hif (tes & ting)
{[20;9Hasdf asdf asdf ;[21;9Hasdfa sdf asdf;[22;9H}
testing2;[24;1H[K[23;5H[?12l[?25h[22;8H [23;9H[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H4L, 36C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set cino=(0,)20
/main
=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,)20
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hmain
[?25l[1;23r[1;1H[2M[1;24r[23;1Hmain ( int first_par, /*[24;1H[K[23;1H[?12l[?25h[?25l
19 lines to indent...
20[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;24H* Comment for[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[1;23H* Comment for[2;23H* first par[3;23H*/[4;11Hsecond_par /*[5;23H* Comment for[6;23H* second par[7;23H*/[8;9H);
}
STARTTEST
:set cin
:set cino=es,n0s
/main
=][
ENDTEST
main(void)
{
/* Make sure that cino=X0s is not parsed like cino=Xs. */
if (cond)[23;9Hfoo();[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H4L, 36C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=es,n0s
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hmain
[?25l[19;1H[?12l[?25h[?25l[24;1H8 lines to indent...
9[7Cindented [24;18H[K[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;5Helse
{[19;9Hbar();
}
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 26C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H:set cino=
]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H{[24;1H[K[23;1H[?12l[?25h[?25l
11 lines to indent...
12[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hdo[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[1;9Hif ()[2;9H{[3;13Hif ()[4;17Hasdf;[5;13Helse[6;17Hasdf;[7;9H}
} while ();
cmd;[8C/* this should go under the } */
}
STARTTEST
]]=][
ENDTEST
void f()
{
if ( k() ) {[19;9Hl();[21;5H} else { /* Start (two words) end */[22;9Hm();
}[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H1L, 6C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[14;1H[?12l[?25h
[?25l[24;1H8 lines to indent...
9[7Cindented [24;18H[K[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[5M[1;24r[20;5Hn();
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino={s,e-s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino={s,e-s
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
7 lines to indent...
8[7Cindented [24;18H[K[23;1H {[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif ( k() )[24;1H[K[23;5H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[9M[1;24r[15;9H{[16;9Hl();[17;9H} else { /* Start (two words) end */[18;9Hm();[19;9H}
n(); /* should be under the if () */
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino={s,fs
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 25C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H]]=/ foo[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino={s,fs
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Hvoid bar(void)
{[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h foo
[?25l30 lines to indent...
31[7Cindented [24;19H[K[23;1H {[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;1Hvoid func(void)
{
a = 1;[4;9H{[5;9Hb = 2;[6;9H}
c = 3;
d = 4;
}
/* foo */
STARTTEST
:set cino=
/while
ohere[34m^[[m
ENDTEST
a()
{
do {
a = a +[22;7Ha;
} while ( a );[8C/* add text under this line */[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 25C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hwhile
[?25l[23;5H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;3Hhere[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif ( a )
i[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[4M[1;24r[20;7Ha;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino= com=
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 109C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H/comment
olabel2: b();[34m^M[mlabel3 /* post */:[34m^M[m/* pre */ label4:[34m^M[mf(/*com*/);[34m^M[mif (/*com*/)[34m^^[23;1HM[mcmd();[34m^[[m[24;1H[K[22;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino= com=
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hcomment
[?25l[1;23r[1;1H[6M[1;24r[19;1Ha()
{
label1:[22;13H/* hmm */[23;13H// comment[24;1H[K[23;16H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[1;1H[6M[1;24r[18;1Hlabel2: b();
label3 /* post */:
/* pre */ label4:[21;9Hf(/*com*/);[22;9Hif (/*com*/)[23;13Hcmd();[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set comments& comments^=s:/*,m:**,ex:*/
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 53C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/simple
=5j[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments& comments^=s:/*,m:**,ex:*/
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hsimple
[?25l[1;23r[1;1H[3M[1;24r[22;1H/*
* A simple comment[24;1H[K[23;7H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;2H* A simple comment[23;20H[K[23;2H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H*/[24;1H[K[23;2H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[19;1H/*
** A different comment
*/
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=c0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 70C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H:set comments& comments-=s1:/* comments^=s0:/*
2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=c0
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments& comments-=s1:/* comments^=s0:/*
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;5H/*********[19;7HA comment.
*********/
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=c0,C1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 73C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H:set comments& comments-=s1:/* comments^=s0:/*
2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=c0,C1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments& comments-=s1:/* comments^=s0:/*
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;5H/*********
A comment.
*********/
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 17C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 &&[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;9H([18;10Hc2 ||[19;10Hc3[20;9H) && c4;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(s
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 &&[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;9H([18;10Hc2 ||[19;10Hc3[20;9H) && c4;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(s,U1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 28C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(s,U1
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 &&[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;9H([18;13Hc2 ||[19;13Hc3[20;9H) && c4;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif ( c1[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;12H&& ( c2[19;19H|| c3))[20;9Hfoo;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,w1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 28C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,w1
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif ( c1[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;9H&& ( c2[19;13H|| c3))[20;9Hfoo;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(s
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
8 lines to indent...
9[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 && ([24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;9Hc2 ||[15;9Hc3[16;9H) && c4;
if ([18;9Hc1 && c2[19;8H)[20;9Hfoo;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(s,m1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 28C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(s,m1
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
8 lines to indent...
9[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 && ([24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;9Hc2 ||[15;9Hc3
) && c4;
if ([18;9Hc1 && c2
)[20;9Hfoo;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=b1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=b1
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
9 lines to indent...
10 lines indented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hswitch (x)[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[11M[1;24r[13;5H{[14;9Hcase 1:[15;13Ha = b;[16;9Hbreak;[17;9Hdefault:[18;13Ha = 0;[19;9Hbreak;
}
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,W5
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 26C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,W5
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
10 lines to indent...
11[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hinvokeme([24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[12M[1;24r[12;10Hargu,[13;10Hment);
invokeme([15;10Hargu,[16;10Hment[17;10H);
invokeme(argu,[19;14Hment[20;13H);
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=/6
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=/6
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
3 lines to indent...
4[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hstatement;[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[5M[1;24r[19;11H// comment 1[20;11H// comment 2
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 34C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H2kdd]]/comment 1/+1
==[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=
[?25l[23;1H[?12l[?25h[21;1H[?25l==[21;3H[K[22;1HENDTEST[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25hcomment 1/+1
[?25l[1;23r[1;1H[3M[1;24r[21;5Hstatement;[22;8H// comment 1
// comment 2[24;1H[K[23;4H[?12l[?25h[?25l // comment 2[23;8H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=g0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=g0
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hclass CAbc
{[24;1H[K[23;1H[?12l[?25h[?25l
6 lines to indent...
7[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hint Test() { return FALSE; }[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[8M[1;24r[17;1Hpublic: // comment
void testfall();
protected:
void testfall();
};
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,gs,hs
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 29C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,gs,hs
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hclass Foo : public Bar
{[24;1H[K[23;1H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hpublic:[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;9Hvirtual void method1(void) = 0;[18;9Hvirtual void method2(int arg1,[19;30Hint arg2,[20;30Hint arg3) = 0;
};
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=+20
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 24C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=+20
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;5Hvoid
foo()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif (a)[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;5H{
} else[20;9Hasdf;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,W2s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 27C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,W2s
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H{[24;1H[K[23;1H[?12l[?25h[?25l
34 lines to indent...
35[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haverylongfunctionnamelongfunctionnameaverylongfunctionname()->asd([24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[1;21Hdec)->asdfasdfasdf([2;29Hasdfadsf,[3;29Hasdfasdf,[4;29Hasdfasdf,[5;29H),[6;13Hfunc(asdfadf,[7;18Hasdfasdf),[8;13Hasdasdf[9;13H);
}
STARTTEST
:set cino=M1
2kdd]]=][
ENDTEST
int main ()
{
if (cond1 &&[20;13Hcond2[21;13H)[22;9Hfoo;
}[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=M1
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h[17;1H[?25l[24;1H4 lines to indent...
5[7Cindented [24;18H[K[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,ts
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 26C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd2j=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,ts
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd2j=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h
[?25l
7 lines to indent...
8[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hvoid func(int a[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[9M[1;24r[15;1H#if defined(FOO)[16;11H, int b[17;11H, int c
#endif[19;10H)
{
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd2j=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd2j=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h
[?25l
8 lines to indent...
9[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hvoid[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;1Hfunc(int a
#if defined(FOO)[16;6H, int b[17;6H, int c
#endif
)
{
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 22C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd2j=7][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino&
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd2j=7][
ENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h
[?25l
69 lines to indent...
50
7[8Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hvoid func(void)[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[1;9Hint a,[2;9Hint b)
{
}[6;5Hvoid
func6([8;9Hint a)
{
}
STARTTEST
:set cino&
:set cino+=l1
2kdd2j=][
ENDTEST
void func(void)
{
int tab[] =
{[22;9H1, 2, 3,[23;9H4, 5, 6};[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino&
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino+=l1
[?25l[16;1H[?12l[?25h[14;1H[?25l[14;23r[23;1H
[1;24r[24;1H[K[14;1H[?12l[?25h
[?25l[24;1H22 lines to indent...
23[7Cindented [24;19H[K[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;13Hbreak;[2;9Hcase baz: {[3;13Hprintf("baz");[4;13Hbreak;[5;9H}[6;9Hcase quux:[7;13Hprintf("But don't break the indentation of this instruction\n");[8;13Hbreak;
}
}
STARTTEST
:set cino&
2kdd2j=][
ENDTEST
void func(void)
{
cout << "a"
<< "b"
<< ") :"
<< "c";
}[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 21C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino&
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H6 lines to indent...
7[7Cindented [24;18H[K[19;5H << "b"
<< ") :"
<< "c";[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set com=s1:/*,m:*,ex:*/
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 38C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H]]3jofoo();[34m^[[m[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset com=s1:/*,m:*,ex:*/
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Hvoid func(void)
{[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;5H/*[22;6H* This is a comment.[23;6H*/[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;5Hfoo();[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 21C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd2j=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino&
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd2j=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h
[?25l
8 lines to indent...
9[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hvoid func(void)[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;1H{
for (int i = 0; i < 10; ++i)[16;9Hif (i & 1) {[17;13Hfoo(1);[18;9H} else[19;13Hfoo(0);
baz();
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=k2s,(0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 27C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd3j=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(0
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd3j=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hvoid func(void)[24;1H[K[23;1H[?12l[?25h[?25l
23 lines to indent...
24[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H{[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[2;5Hif ( c1[3;13H&& ( c2[4;23H|| c3))[5;9Hfoo;
func( c1[7;11H&& ( c2[8;20H|| c3))[9;9Hfoo;
}
STARTTEST
:set cino=k2s,(s
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 27C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(s
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H23 lines to indent...
24[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[2;5Hif ( c1[3;13H&& ( c2[4;17H|| c3))[5;9Hfoo;
func( c1[7;9H&& ( c2[8;13H|| c3))[9;9Hfoo;
}
STARTTEST
:set cino=k2s,(s,U1
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 30C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(s,U1
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H24 lines to indent...
25[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;13H&& (c22345[2;17H|| c3))[3;9Hprintf("foo\n");[5;5Hc = c1 &&[6;9H([7;13Hc2 ||[8;13Hc3[9;9H) && c4;
}
STARTTEST
:set cino=k2s,(0,W4
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 30C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(0,W4
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H29 lines to indent...
30[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;13H&& ( c2[2;20H|| c3))[3;9Hfoo;[5;5Ha_long_line([6;9Hargument,[7;9Hargument);
a_short_line(argument,[9;18Hargument);
}
STARTTEST
:set cino=k2s,u2
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 27C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,u2
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H18 lines to indent...
19[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;9Hfoo;
if (c1 &&[3;13H(c2 || c3))
{
}
if (c123456789[7;13H&& (c22345[8;15H|| c3))[9;9Hprintf("foo\n");
}
STARTTEST
:set cino=k2s,(0,w1
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 30C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(0,w1
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H27 lines to indent...
28[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[2;5Hif ( c1[3;13H&& ( c2[4;17H|| c3))[5;9Hfoo;
func( c1[7;10H&& ( c2[8;14H|| c3))[9;9Hfoo;
}
STARTTEST
:set cino=k2,(s
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1[20;7H&& condition2)[21;9Haction();
function(argument1[23;9H&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 26C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2,(s
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H14 lines to indent...
15[7Cindented [24;19H[K[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;5Hif (c1 && (c2 ||[15;11Hc3))[16;9Hfoo;
if (c1 &&[18;7H(c2 || c3))
{
}
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=N-s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 47C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^NAMESPACESTART
=/^NAMESPACEEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=N-s
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^NAMESPACESTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HNAMESPACESTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^NAMESPACEEND
[?25l81 lines to indent...
50
82[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;1Hnamespace test test2
{
1111111111111111111;
}
namespace111111111
{
111111111111111111;
}
NAMESPACEEND
STARTTEST
:set cino=j1,J1
/^JSSTART
=/^JSEND
ENDTEST
JSSTART
var bar = {
foo: {
that: this,
some: ok,
},[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSEND
[?25l12 lines to indent...
13[7Cindented [24;19H[K[20;1H foo: {
that: this,
some: ok,
},[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;5H"bar":{[15;9Ha : 2,[16;9Hb: "123abc",[17;9Hx: 4,[18;9H"y": 5
}
}
JSEND
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=j1,J1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^JSSTART
=/^JSEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HJSSTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^JSEND
[?25l5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[8M[1;24r[16;1Hvar foo = [
1,
2,
3
];
JSEND
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=j1,J1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^JSSTART
=/^JSEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HJSSTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^JSEND
[?25l7 lines to indent...
8[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;1Hfunction bar() {
var foo = [[16;9H1,[17;9H2,[18;9H3
];
}
JSEND
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=j1,J1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^JSSTART
=/^JSEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HJSSTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^JSEND
[?25l58 lines to indent...
509[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;21Hreturn false;[2;17H}[3;17H_arguments[0]=options;[4;17Hmethod.apply(this,_arguments);[5;13H}[6;9H});
}
})(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: [[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSEND
[?25l14 lines to indent...
15[7Cindented [24;19H[K[20;1H $(this).data(class_name+'_public',$.extend({},{
foo: 'bar',
bar: 2,
foobar: [[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[12M[1;24r[12;13H1,[13;13H2,[14;13H3[15;9H],[16;9Hcallback: function(){[17;13Hreturn true;[18;9H}
}, options||{}));
}
JSEND
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=j1,J1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^JSSTART
=/^JSEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HJSSTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^JSEND
[?25l16 lines to indent...
17[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;17H2,[2;17H3[3;13H],[4;13Hcallback: function(){[5;17Hreturn true;[6;13H}[7;9H}, options||{}));
}
})(jQuery);
JSEND
STARTTEST
:set cino=j1,J1,+2
/^JSSTART
=/^JSEND
ENDTEST
JSSTART
// Results of JavaScript indent
// 1
(function(){
var a = [
'a',[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 38C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1,+2
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSEND
[?25l149 lines to indent...
100
50 lines to indent...
150 lines indented [24;20H[K[22;1H var a = [
'a',[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;1Hvar 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[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 48C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin cino&
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hstart of define
[?25l[18;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hend of define
[?25l11 lines to indent...
12[7Cindented [24;19H[K[22;1H BBB\
CCC[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[8M[1;24r[17;1H#define CNT \
1 + \
2 + \
4
/* end of define */
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 61C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l226 fewer lines[24;16H[K[1;1H c,
d,
e,[3;7H[K[4;1H f,[4;7H[K[5;1H g,[5;8H[K[6;1H h,[6;7H[K[7;1H i;[7;7H[K[8;1HJSEND[9;1H[K[10;1H[K[11;1H/* start of define */
{[12;2H[K[13;1H}[13;5H[K[14;1H#define AAA \
BBB\
CCC[16;9H[K[17;5H[K[18;1H#define CNT \
1 + \
2 + \[20;11H[K[21;5H4
/* end of define */[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/start of AUTO/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test4.in" 34 lines, 960 characters[1;1HTest 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[13C" split to Xxx, autocmd will do :brew
G?this is a
othis should be auto-indented[34m^[[m
:[19C" Append text with autoindent to this file
:au! BufEnter Xxx
:buf Xxx[12C" go to Xxx, no autocmd anymore
G?this is a
othis should be in column 1[34m^[[m:wq " append text without autoindent to Xxx
G:r Xxx[13C" include Xxx in the current file
:set fo+=r[10C" issue #57 do not move cursor on <c-o> when autoindent is ss[21;1Het
Go# abcdef[34m^[[m2hi
[34m^O[md0[34m^[[mo# abcdef[34m^[[m2hi[34m^O[md0[34m^[[m:[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for autocommand that changes current buffer on BufEnter event.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 20 lines, 678 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:?startstart?,$w! test.out
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter Xxx brew
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hstart of
[?25l[1;23r[1;1H[2M[1;24r[22;1Hstartstart
start of test file Xxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h.,/end of/w! Xxx " write test file Xxx
[?25l"Xxx" [24;7H[K[24;7H[New] 7L, 124C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ai modeline modelines=3
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx " split to Xxx, autocmd will do :brew
[?25l"Xxx" [24;7H[K[24;7H7L, 124C[1;1HTest for autocommand that changes current buffer on BufEnter event.
Check if modelines are interpreted for the correct buffer.[3;1H[K[4;1HSTARTTEST[4;10H[K[5;3Ho small.vim[5;21H[K[6;1H:set nocompatible viminfo+=nviminfo
:au BufEnter Xxx brew[7;22H[K[8;1H/start of[8;21H[K[9;2H.,/end of/w![7C" write test file Xxx
:set ai modeline modelines=3[10;29H[K[11;1H:sp Xxx [9C" split to Xxx, autocmd will do :brew
[1m[7mtest4.in [m[13;1H:set fo+=r[13Cssue #57 do not move cursor on <c-o> when autoindent is ss[14;1Het[14;3H[K[15;1HGo# abcdef[34m^[[m2hi
[34m^O[md0[34m^[[mo# abcdef[34m^[[m2hi[34m^O[md0[34m^[[m:
:?startstart?,$w! test.out[17;27H[K[18;2Hqa![18;5H[K[19;1HENDTEST[20;1H[K[21;1Hstartstart[22;6H of test file Xxx
[7mtest4.in [m[24;2Htest4.in" line 1 of 34 --2%-- col 1[1;1H[?12l[?25h[?25l:qa![1;6H[K[2;1HENDTEST[2;8H[K[4;1Hstartstart
start of test file Xxx
vim: set noai :[6;16H[K[7;1H this is a test
this is a test
this is a test[9;23H[K[10;1H this is a test[10;23H[K[11;1Hend of test file Xxx[11;21H[K[11;1H[?12l[?25h[?25l[24;1H[K[24;1H?[?12l[?25hthis is a
[?25l[10;9H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;1H[K[11;1H this should be auto-indented[12;10H[1m[7m[+][m[23;10H[7m[+][11;36H[?12l[?25h[?25l[1;11r[m[11;1H
[1;24r[11;1Hend of test file Xxx[?12l[?25h[?25l[24;1H:[?12l[?25h " Append text with autoindent to this file
[?25l[11;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau! BufEnter Xxx
[?25l[11;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbuf Xxx " go to Xxx, no autocmd anymore
[?25l"Xxx" [24;7H[K[24;7H7L, 124C[1;1Hstart of test file Xxx
vim: set noai :
this is a test
this is a test
this is a test
end of test file Xxx[7;21H[K[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxxt [1;1H[?12l[?25h[7;1H[?25l[m[24;1H[K[24;1H?[?12l[?25hthis is a
[?25l[6;9H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;1H[K[7;11r[7;1H[L[1;24r[7;1Hthis should be in column 1[12;5H[1m[7m[+][7;26H[?12l[?25h[?25l[24;1H[m:[?12l[?25hwq " append text without autoindent to Xxx
[?25l"Xxx[24;7H[K[24;7H8L, 151C written[1;1H:au BufEnter Xxx brew[1;22H[K[2;1H/start of[2;10H[K[3;1H:.,/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[6;12H[K[7;1Hothis should be auto-indented[34m^[[m
: " Append text with autoindent to this file
:au! BufEnter Xxx[9;18H[K[10;1H:buf Xxx " go to Xxx, no autocmd anymore[10;52H[K[11;1HG?this is a[11;12H[K[12;1Hothis should be in column 1[34m^[[m:wq " append text without autoindent to Xxx[12;73H[K[13;1HG:r Xxx [13Cnclude Xxx in the current file[13;55H[K[14;1H:set fo+=r[10C" issue #57 do not move cursor on <c-o> when autoindent is ss[15;1Het[15;3H[K[16;1HGo# abcdef[34m^[[m2hi[16;16H[K[17;1H[34m^O[md0[34m^[[mo# abcdef[34m^[[m2hi[34m^O[md0[34m^[[m:
:?startstart?,$w! test.out
:qa![19;5H[K[20;1HENDTEST[21;1H[K[22;6Hstar[22;11H[K[23;1Hstart of test file Xxx[23;23H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[7M[1;24r[17;1Hvim: set noai :[18;9Hthis is a test[19;9Hthis is a test[20;9Hthis is a test[21;9Hthis is a test[22;9Hthis should be auto-indented
end of test file Xxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hr Xxx " include Xxx in the current file
[?25l"Xxx" [24;20H[K[24;7H8L, 151C[1;23r[23;1H
[1;24r[23;1Hstart of test file Xxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset fo+=r " issue #57 do not move cursor on <c-o> when autoindent is
[23;80Hs[24;1Het
[?25l[1;1H[L[1;1H:au! BufEnter Xxx[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[7M[1;24r[17;1Hvim: set noai :[18;9Hthis is a test[19;9Hthis is a test[20;9Hthis is a test[21;9Hthis is a test
this should be in column 1
end of test file Xxx
[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1H# abcdef[?12l[?25h[?25l
[1m-- INSERT --
-- (insert)- --[1;23r[m[23;1H
[1;24r[22;6H[K[23;1H# def[?12l[?25h[?25l[24;4H[1mINSERTt --[m[24;13H[K[23;1Hdef[23;4H[K[23;1Ho[?12l[?25hd[24;1H[K[?25l[23;1H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1H# abcdef[?12l[?25h[?25l
[1m-- INSERT --
-- (insert)- --[23;6H[?12l[?25h[?25l
-- INSERTt --[m[24;13H[K[23;1Hdef[23;4H[K[23;1H:[?12l[?25hd[24;1H[K[?25l[23;1H[?12l[?25h[?25l
:[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?startstart?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 20L, 330C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test5.in" 29 lines, 949 characters[1;1HTest 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[15C" write test file Xxx
:sp Xxx[25C" split to Xxx
:bwipe[26C" delete buffer Xxx, now we're back here
G?this is a
othis is some more text[34m^[[m
:[31C" Append some text to this file
:?start?,$w! test.out[11C" Write current file contents
:bwipe test.out[17C" delete alternate buffer
:au bufleave test5.in bwipe
:bwipe![25C" delete current buffer, get an empty one
ithis is another test line[34m^[[m:w >>test.out
:[31C" append an extra line to the output file
:qa!
ENDTEST
start of test file Xxx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for autocommand that deletes the current buffer on BufLeave event.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 16 lines, 664 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufLeave Xxx bwipe
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hstart of
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx " write test file Xxx
[?25l"Xxx" [24;7H[K[24;7H[New File] 7 lines, 124 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx " split to Xxx
[?25l"Xxx" [24;7H[K[24;7H7 lines, 124 characters[1;1Hstart of test file Xxx[1;23H[K[2;1Hvim: set noai :[2;16H[K[3;9Hthis is a test
this is a test
this is a test
this is a test
end of test file Xxx
[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxx [m[13;2H?start?,$w! test.out[13CWrite current file contents[13;62H[K[14;2Hbwipe test.out [13Cdelete alternate buffer[14;58H[K[15;2Hau bufleave test5.in bwipe[15;33H[K[16;2Hbwipe! " delete current buffer, get an empty one
ithis is another test line[34m^[[m:w >>test.out[17;42H[K[18;1H: " append an extra line to the output file
:qa![19;33H[K[20;1HENDTEST[21;1H[K[22;1Hstart of test file Xxx
[7mtest5.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbwipe " delete buffer Xxx, now we're back here
[?25l[1;1HTest for autocommand that deletes the current buffer on BufLeave event.
Also test deleting the last buffer, should give a new, empty buffer.[3;9H[K[4;1HSTARTTEST[4;10H[K[5;1H:so small.vim[5;14H[K[6;1H:au BufLeave Xxx bwipe
/start of[7;10H[K[8;1H:.,/end of/w! Xxx " write test file Xxx[8;54H[K[9;1H:sp Xxx " split to Xxx[9;47H[K[10;1H:bwipe " delete buffer Xxx, now we're back here[10;73H[K[11;1HG?this is a[11;12H[K[12;1Hothis is some more text[34m^[[m[12;26H[K[13;2H [13CAppend some text to this file
:?start?,$w! test.out[13CWrite current file contents
:bwipe test.out " delete alternate buffer
:au bufleave test5.in bwipe[16;33H[K[17;1H:bwipe! " delete current buffer, get an empty one
ithis is another test line[34m^[[m:w >>test.out[18;42H[K[19;2H [28C" append an extra line to the output file
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1Hstart of test file Xxx[23;23H[K[24;1H"test5.in" line 23 of 29 --79%-- col 1[24;39H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[6M[1;24r[18;1Hvim: set noai :[19;9Hthis is a test[20;9Hthis is a test[21;9Hthis is a test[22;9Hthis is a test
end of test file Xxx[24;1H[K[23;1H[?12l[?25h[?25l
?[?12l[?25hthis is a
[?25l[22;9H[?12l[?25h[?25l
this is some more text[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hend of test file Xxx[24;1H[K[23;20H[?12l[?25h[?25l
:[?12l[?25h " Append some text to this file
[?25l[23;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?start?,$w! test.out " Write current file contents
[?25l"test.out" [24;12H[K[24;12H[New File] 8 lines, 147 characters written[23;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe test.out " delete alternate buffer
[?25l[23;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau bufleave test5.in bwipe
[?25l[23;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe! " delete current buffer, get an empty one
[?25l[1m[37m[41mError detected while processing BufLeave Auto commands for "test5.in":[m[24;71H[K[24;1H
[1m[37m[41mE89: No write since last change for buffer 1 (add ! to override)[m
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[2L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25lthis is another test line[?12l[?25h[?25l[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 26 characters appended[1;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h " append an extra line to the output file
[?25l[1;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test7.in" 26 lines, 675 characters[1;1HTest for autocommand that changes the buffer list, when doing ":ball".
STARTTEST
:so small.vim
/^start of
A1[34m^[[m:.,/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[17C" open window for all args, close Xxx2
:.,$w! test.out[10C" Write contents of this file
[34m^W^W[m:w >>test.out[8C" Append contents of second window (Xxx1)
[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa!
ENDTEST
start of test file Xxx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 508 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of
[?25l[23;1H[?12l[?25h[?25l[22C1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx1 " write test file Xxx1
[?25l"Xxx1" [24;9H[K[24;8H[New File] 4 lines, 77 characters written[23;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx1
[?25l"Xxx1" [24;8H[K[24;8H4 lines, 77 characters[1;1Hstart of test file Xxx1[1;24H[K[2;9Hthis is a test
this is a test
end of test file Xxx
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxx1 [m[13;2Hclose[13;7H[K[14;2Hau BufReadPost Xxx2 bwipe
$r4:ball " open window for all args, close Xxx2
:.,$w! test.out[12CWrite contents of this file[16;55H[K[17;1H[34m^W^W[m:w >>test.out[10CAppend contents of second window (Xxx1)[18;6H/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![19;5H[K[20;1HENDTEST[21;1H[K[22;1Hstart of test file Xxx1
[7mtest7.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[2;9H[K[3;1HSTARTTEST[3;10H[K[4;1H:so small.vim[4;14H[K[5;1H/^start of[5;11H[K[6;1HA1[34m^[[m:.,/end of/w! Xxx1 " write test file Xxx1[6;48H[K[7;1H:sp Xxx1[7;9H[K[8;1H:close[8;7H[K[9;1H$r2:.,/end of/w! Xxx2 " write test file Xxx2[9;48H[K[10;1H:sp Xxx2[10;9H[K[11;1H:close[11;7H[K[12;1H$r3:.,/end of/w! Xxx3 " write test file Xxx3[12;48H[K[13;2Hsp Xxx3
:close[14;7H[K[15;1H:au BufReadPost Xxx2 bwipe[15;28H[K[16;1H$r4:ball [12Copen window for all args, close Xxx2
:.,$w! test.out [10CWrite contents of this file[17;55H[K[18;6Hw >>test.out " Append contents of second window (Xxx1)[18;67H[K[19;1H[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1Hstart of test file Xxx1[23;24H[K[23;23H[?12l[?25h[?25l2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx2 " write test file Xxx2
[?25l"Xxx2" [24;9H[K[24;8H[New File] 4 lines, 77 characters written[23;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx2
[?25l"Xxx2" [24;8H[K[24;8H4 lines, 77 characters[1;1Hstart of test file Xxx2[1;24H[K[2;9Hthis is a test
this is a test
end of test file Xxx
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxx2 [m[13;2Hclose[13;7H[K[14;2Hau BufReadPost Xxx2 bwipe
$r4:ball " open window for all args, close Xxx2
:.,$w! test.out[12CWrite contents of this file[16;55H[K[17;1H[34m^W^W[m:w >>test.out[10CAppend contents of second window (Xxx1)[18;6H/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![19;5H[K[20;1HENDTEST[21;1H[K[22;1Hstart of test file Xxx2
[7mtest7.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[2;9H[K[3;1HSTARTTEST[3;10H[K[4;1H:so small.vim[4;14H[K[5;1H/^start of[5;11H[K[6;1HA1[34m^[[m:.,/end of/w! Xxx1 " write test file Xxx1[6;48H[K[7;1H:sp Xxx1[7;9H[K[8;1H:close[8;7H[K[9;1H$r2:.,/end of/w! Xxx2 " write test file Xxx2[9;48H[K[10;1H:sp Xxx2[10;9H[K[11;1H:close[11;7H[K[12;1H$r3:.,/end of/w! Xxx3 " write test file Xxx3[12;48H[K[13;2Hsp Xxx3
:close[14;7H[K[15;1H:au BufReadPost Xxx2 bwipe[15;28H[K[16;1H$r4:ball [12Copen window for all args, close Xxx2
:.,$w! test.out [10CWrite contents of this file[17;55H[K[18;6Hw >>test.out " Append contents of second window (Xxx1)[18;67H[K[19;1H[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1Hstart of test file Xxx2[23;24H[K[23;23H[?12l[?25h[?25l3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx3 " write test file Xxx3
[?25l"Xxx3" [24;9H[K[24;8H[New File] 4 lines, 77 characters written[23;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx3
[?25l"Xxx3" [24;8H[K[24;8H4 lines, 77 characters[1;1Hstart of test file Xxx3[1;24H[K[2;9Hthis is a test
this is a test
end of test file Xxx
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxx3 [m[13;2Hclose[13;7H[K[14;2Hau BufReadPost Xxx2 bwipe
$r4:ball " open window for all args, close Xxx2
:.,$w! test.out[12CWrite contents of this file[16;55H[K[17;1H[34m^W^W[m:w >>test.out[10CAppend contents of second window (Xxx1)[18;6H/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![19;5H[K[20;1HENDTEST[21;1H[K[22;1Hstart of test file Xxx3
[7mtest7.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[2;9H[K[3;1HSTARTTEST[3;10H[K[4;1H:so small.vim[4;14H[K[5;1H/^start of[5;11H[K[6;1HA1[34m^[[m:.,/end of/w! Xxx1 " write test file Xxx1[6;48H[K[7;1H:sp Xxx1[7;9H[K[8;1H:close[8;7H[K[9;1H$r2:.,/end of/w! Xxx2 " write test file Xxx2[9;48H[K[10;1H:sp Xxx2[10;9H[K[11;1H:close[11;7H[K[12;1H$r3:.,/end of/w! Xxx3 " write test file Xxx3[12;48H[K[13;2Hsp Xxx3
:close[14;7H[K[15;1H:au BufReadPost Xxx2 bwipe[15;28H[K[16;1H$r4:ball [12Copen window for all args, close Xxx2
:.,$w! test.out [10CWrite contents of this file[17;55H[K[18;6Hw >>test.out " Append contents of second window (Xxx1)[18;67H[K[19;1H[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1Hstart of test file Xxx3[23;24H[K[23;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPost Xxx2 bwipe
[?25l[23;23H[?12l[?25h[?25l4[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hball " open window for all args, close Xxx2
[?25l"Xxx1"[24;23H[K[24;8H4 lines, 77 characters
"Xxx2" 4 lines, 77 characters
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.,$w! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 4 lines, 77 characters written
[32mPress ENTER or type command to continue[?12l[?25h[27m[23m[m[H[2J[?25l[1;1H:close
:au BufReadPost Xxx2 bwipe
$r4:ball[17C" open window for all args, close Xxx2
:.,$w! test.out[10C" Write contents of this file
[34m^W^W[m:w >>test.out[8C" Append contents of second window (Xxx1)
[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa!
ENDTEST
start of test file Xxx4
[1m[7mtest7.in [+] [m[12;1Hstart of test file Xxx1[13;9Hthis is a test[14;9Hthis is a test
end of test file Xxx
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mXxx1 [10;23H[?12l[?25h
test7.in [+][m[1m[7m [m[7m [m[23;1H[1m[7mXxx1 [12;1H[?25l[24;1H[m:[?12l[?25hw >>test.out " Append contents of second window (Xxx1)
[?25l"test.out" [24;12H[K[24;12H4 lines, 77 characters appended[12;1H[?12l[?25h[11;1H[1m[7mtest7.in [+] [m[23;1H[7mXxx1[m[1m[7m [m[7m [10;23H[?25l[m[24;1H[K[24;1H:[?12l[?25h/^start of/,$w >>test.out " Append contents of last window (this file)
[?25l[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[24;1H"test.out" [24;12H[K[24;12H4 lines, 77 characters appended[10;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test8.in" 46 lines, 1236 characters[1;1HTest 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[34m^[[m:.,/end of/w! Xxx1 " write test file Xxx1
$r2:.,/end of/w! Xxx2 " write test file Xxx2
:e! Xxx2[16C" edit Xxx2
:bdel test8.in[10C" delete this file from the buffer list
:e Xxx1[17C" edit Xxx1
:w[22C" write it, will unload it and give an error msg
:w! test.out[12C" Write contents of this file
:e! Xxx2[16C" start editing Xxx2
:bwipe test.out[9C" remove test.out from the buffer list
:w[22C" write it, will delete the buffer and give an error msg[19;1H:w >>test.out[11C" Append contents of this file
:au! BufWritePre
:func CloseAll()
let i = 0
while i <= bufnr('$')[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for BufWritePre autocommand that deletes or unloads the buffer.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 37 lines, 1054 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[19M[1;24r[5;5Hif i != bufnr('%') && bufloaded(i)[6;7Hexe 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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufWritePre Xxx1 bunload
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufWritePre Xxx2 bwipe
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of
[?25l[1;23r[23;1H
[1;24r[23;1Hstart of Xxx[24;1H[K[23;1H[?12l[?25h[?25l[12C1[?12l[?25h[?25l
:[?12l[?25h.,/end of/w! Xxx1 " write test file Xxx1
[?25l"Xxx1" [24;9H[K[24;8H[New File] 3 lines, 31 characters written[23;13H[?12l[?25h[?25l2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx2 " write test file Xxx2
[?25l"Xxx2" [24;9H[K[24;8H[New File] 3 lines, 31 characters written[23;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xxx2 " edit Xxx2
[?25l"Xxx2" [24;8H[K[24;8H3 lines, 31 characters[1;1Hstart of Xxx2
test[2;14H[K[3;1Hend of Xxx[3;11H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbdel test8.in[34m^I^I[m" delete this file from the buffer list
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xxx1 " edit Xxx1
[?25l"Xxx1" [24;25H[K[24;8H3 lines, 31 characters[1;13H1
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw " write it, will unload it and give an error msg
[?25l"Xxx2"[24;25H[K[24;8H3 lines, 31 characters
[1m[37m[41mE203: Autocommands deleted or unloaded buffer to be written[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 3 lines, 31 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he! Xxx2 " start editing Xxx2
[?25l"Xxx2" [24;8H[K[24;8H3 lines, 31 characters[1;1H[3L[1;1Hstart of Xxx2[2;9Htest
end of Xxx[24;1H[K[24;1H"Xxx2" 3 lines, 31 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe test.out " remove test.out from the buffer list
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw " write it, will delete the buffer and give an error ms
[23;80Hg[24;1H[?25l[23;1H"Xxx1"[23;25H[K[23;8H3 lines, 31 characters
[1m[37m[41mE203: Autocommands deleted or unloaded buffer to be written[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out " Append contents of this file
[?25l"test.out" [24;12H[K[24;12H3 lines, 31 characters appended
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau! BufWritePre
[?25l[1;1H[3L[1;1Hstart of Xxx1[2;9Htest
end of Xxx[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[8L[?25l[1;1Hstart of Xxx1[2;9Htest
end of Xxx
[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfunc WriteToOut()
[?25l
: [?12l[?25h edit! test.out
[?25l: [?12l[?25h $put ='VimLeave done'
[?25l: [?12l[?25h write
[?25l: [?12l[?25hendfunc
[1;1H[4L[?25l[1;1Hstart of Xxx1[2;9Htest
end of Xxx
[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset viminfo='100,nviminfo
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufUnload * call CloseAll()
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau VimLeave * call WriteToOut()
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he small.vim
[?25l[1m[37m[41mError detected while processing function CloseAll:[m
[33mline 4:[m
[1m[37m[41mE16: Invalid range: 0bunload[m
"small.vim" 1 line, 1 character
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsp mbyte.vim
[?25l"mbyte.vim" [24;13H[K[24;13H0 lines, 0 characters[1;1H[4L[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[12;1H[1m[7mmbyte.vim [m[13;1H[K[23;1H[7msmall.vim [m[24;1H[K[24;1H"mbyte.vim" 0 lines, 0 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq
[?25l[1m[37m[41mError detected while processing function CloseAll:[m
[33mline 4:[m
[1m[37m[41mE16: Invalid range: 0bunload
[m
"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test9.in" 12 lines, 255 characters[1;1HTest 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
[1m[34m~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for Bufleave autocommand that deletes the buffer we are about to edit.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 117 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufLeave test9.in bwipe yy
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he yy
[?25l[1m[37m[41mE143: Autocommands unexpectedly deleted new buffer yy[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h/^start of/,$w! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 2 lines, 42 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test14.in" 99 lines, 1606 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for "vaBiB", end could be wrong.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 56 lines, 1141 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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):[15;9H{[16;17Hcmd;[17;17H{[18;25Hcmd; /* <-- Start cursor here */[19;25H{[20;25H}[21;17H}[22;9H}[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hStart cursor here
[?25l[18;40H[?12l[?25h[?25l[?12l[?25h[?25l[17;17H[7m{
cmd; /* <-- Start cursor here */
{
}
[?12l[?25h[?25l[16;1H cmd;
[21;17H}[?12l[?25h[?25l[m
6 fewer lines[24;15H[K[16;1H }[16;10H[K[17;1H[K[18;1HPiece of Java[18;14H[K[19;1H{[19;2H[K[20;1H tt m1 {[20;16H[K[21;1H t1;[22;11He1[16;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?Bug?,/Piece/-2w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 3 lines, 44 characters written[16;9H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^- Bug
[?25l[31msearch hit BOTTOM, continuing at TOP[14;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hs/u/~u~/
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hs/i/~u~/
[?25l[14;7Huuun "vPPPP" on this text (Webb):
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hs/o/~~~/
[?25l[14;20Huuuuuuuuun this text (Webb):
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 48 characters appended[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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>
[23;80H"[24;1H
[?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
[1;1H[5L[?25l[1;1H:$put =@/
/^substitute
:keeppatterns s/asdf/xyz/
:$put =@/
/^substitute[24;1H[K[14;1H[?12l[?25h[?25l[24;1H:[?12l[?25hexe "normal " . tt
[?25l[15;23r[15;1H[L[1;24r[15;1HABC !a[34m^O[mg[34m^G[m8[24;1H[K[15;12H[?12l[?25h[?25l[24;1H:[?12l[?25hunlet tt
[?25l[15;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[15;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset vb
[?25l[15;12H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Piece
[?25l[19;1H[?12l[?25h[21;15H[?25l{A[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 10 characters appended[21;16H[?12l[?25h[22;16H[?25l[1;23r[1;1H[2M[1;24r[23;9Htt m2 {[24;1H[K[23;15H[?12l[?25h[?25l{B[?12l[?25h[?25l
:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 10 characters appended[23;16H[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[20;17Ht2;[21;9H} e2[23;9Htt m3 {[24;1H[K[23;15H[?12l[?25h[?25l{C[?12l[?25h[?25l
:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 10 characters appended[23;16H[?12l[?25h[?25l{DC[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[23;16H[?12l[?25h[22;1H[15;15H[?25l{EA[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[15;16H[?12l[?25h[14;1H[?25l{F[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 3 characters appended[14;2H[?12l[?25h[17;9H[?25l}G e1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 7 characters appended[17;10H[?12l[?25h
[?25l[1;23r[1;1H[5M[1;24r[19;17Hif (x)[20;17H{[21;25Ht3;[22;17H}[23;9H} e3[24;1H[K[23;9H[?12l[?25h[?25l}H e3[?12l[?25h[?25l
:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 7 characters appended[23;10H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[24;1H[K[23;1H[?12l[?25h[?5h[?5l[?25l}I[?12l[?25h[?25l
:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 3 characters appended[23;2H[?12l[?25h[22;9H[?25l}JH e3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 8 characters appended[22;10H[?12l[?25h[21;16H[15;9H[?25l}K e2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 7 characters appended[15;10H[?12l[?25h[8;1H[?25l{LF[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 4 characters appended[8;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[8;2H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^foobar
[?25l[1;23r[1;1H[2M[1;24r[23;1Hfoobar[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet startline = line('.')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall search('foobar', 'c')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcall search('^$', 'c')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall search('^$', 'bc')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25htwo
[?25l[1;23r[1;1H[3M[1;24r[21;1Hsubstitute foo asdf
one two[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25hcall search('.', 'c')
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), getline('.')[col('.') - 1:])
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^substitute
[?25l[31msearch hit BOTTOM, continuing at TOP[21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hs/foo/bar/
[?25l[21;12Hbar
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =@/
[?25l[1;23r[1;1H[6M[1;24r[18;1Hsearch()
0
1
1
two
foo[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^substitute
[?25l[31msearch hit BOTTOM, continuing at TOP[15;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hkeeppatterns s/asdf/xyz/
[?25l[15;16Hxyz[15;19H[K[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =@/
[?25l[1;23r[23;1H
[1;24r[23;1H^substitute[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^substitute
[?25l[31msearch hit BOTTOM, continuing at TOP[14;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =@0
[?25l[1;23r[23;1H
[1;24r[23;1Hsubstitute bar xyz[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25hbar /e
[?25l[23;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =@0
[?25l[1;23r[23;1H
[1;24r[23;1Hsubstitute bar xyz[24;1H[K[23;1H[?12l[?25h[22;1H[?25l
:[?12l[?25hkeeppatterns /xyz
[?25l[23;1H[?12l[?25h[?25l
/bar /e[24;8H[K[24;1H[23;1Hxyz[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^search()/,$w >>test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H9 lines, 58 characters appended[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test15.in" 136 lines, 2246 characters[1;1HTests 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[34m^R[m
:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
/^aa
ggu
:?test for :left?,$w! test.out
:qa!
ENDTEST[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :right on text with embedded TAB.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 401 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=65
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;9Htest for :left[24;1H[K[23;8H[?12l[?25h[?25l
:[?12l[?25h/^\s*test for :left/,/^\s*test for :center/ left
[?25l[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[23;1Htest for :left[23;15H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^\s*test for :center/,/^\s*test for :right/ center
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^\s*test for :right/,/^xxx/-1 right
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fo+=tcroql tw=72
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hxxxxxxxx$
[?25l[27m[23m[m[H[2J[1;40Hasxa;ofa[9Caxxxoike[2;39Hasdfaqwer[9Caxxxoike[3;47Ha[9Caxxxoikey[4;46Hfa[9Caxxxoikey[5;45Hdfa[9Caxxxoikey[6;44Hsdfa[9Caxxxoikey[7;43Hasdfa[9Caxxxoikey[8;42Hxasdfa[9Caxxxoikey[9;41Hasxxdfa[9Caxxxoikey[10;40Hasxa;ofa[9Caxxxoikey[11;39Hasdfaqwer[9Caxxxoikey
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[19;50H[?12l[?25h
[?25l[13;23r[23;1H
[1;24r[13;6H xx xxxxxx xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx[14;62Hxx xxxxxxx.
xxxx xxxx.[15;11H[K[17;65Hxxxxxx[18;9Hx: xxxx xxxxxxx, xx xxxx[7C xxxxxxx[18;51H[K[23;1H[1m[34m~ [18;1H[?12l[?25h[17;1H
[?25l[24;1H[m:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" undo/redo here to make the next undo only work on the following changes
[?25l[18;1H[?12l[?25h[?25l[24;1H1 more line; before #1 0 seconds ago[24;38H[K[27m[23m[m[H[2J[1;1H0gq6kk
:set nocp viminfo+=nviminfo
:" undo/redo here to make the next undo only work on the following changes
u[34m^R[m
:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
/^aa
ggu
:?test for :left?,$w! test.out
:qa!
ENDTEST[12;9Htest for :left[13;11Ha[13Ca[14;13Hfa[10Ca[15;11Hdfa[11Ca[16;17Hsdfa[12Ca[17;11Hasdfa[9Ca[18;17Hxasdfa[10Ca
asxxdfa[9Ca[21;9Htest for :center[22;11Ha[13Ca[23;13Hfa[10Cafd asdf[12;8H[?12l[?25h[?25l[24;1H1 line less; after #1 0 seconds ago[12;1Htest for :left[12;15H[K[13;1Ha[9C a[13;25H[K[14;1Hfa[10C a[14;25H[K[15;1Hdfa[7C a[15;25H[K[16;1Hsdfa[12Ca[16;18H[K[17;1Hasdfa a[17;25H[K[18;1Hxasdfa[10Ca[18;18H[K[21;9H test for :center[22;11H [13C a[14Ca[23;13H [8Cfa [8Cafd asdf[12;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hmap gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^aa
[?25l[27m[23m[m[H[2J[1;41Hasxxdfa[9Caxxxoike[2;40Hasxa;ofa[9Caxxxoike[3;39Hasdfaqwer[9Caxxxoike[4;47Ha[9Caxxxoikey[5;46Hfa[9Caxxxoikey[6;45Hdfa[9Caxxxoikey[7;44Hsdfa[9Caxxxoikey[8;43Hasdfa[9Caxxxoikey[9;42Hxasdfa[9Caxxxoikey[10;41Hasxxdfa[9Caxxxoikey[11;40Hasxa;ofa[9Caxxxoikey[12;39Hasdfaqwer[9Caxxxoikey
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[21;1H[?12l[?25h[?25l
:.,.+2s/^/x/
3 substitutions on 3 lines[21;1Hxaa aa aa aa
xbb bb bb bb
xcc cc cc cc
[?12l[?25h[22;1H[21;1H[?25l[24;1H[K[24;1H:set tw=3
[21;1H[?12l[?25h[?25l
3 more lines[1;23r[23;1H
[1;24r[20;5H[K[21;1Haa[21;3H[K[22;1Haa[22;3H[K[23;1Haa[24;1H[K[24;1H3 more lines[23;1H[?12l[?25h[?25l
3 fewer lines; before #2 0 seconds ago[20;1Haa aa aa aa
bb bb bb bb
cc cc cc cc
[1m[34m~ [20;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25h?test for :left?,$w! test.out
[?25l"test.out"[24;12H[K[24;12H[New] 111L, 2304C written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test19.in" 33 lines, 692 characters[1;1HTests 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=[34m^V[mx7f t_kb=[34m^V[mx08
/some
r[7C:set noexpandtab
/other
r
:" Test replacing with Tabs and then backspacing to undo it
0wR[21C[34m^H^H^H^[[m
:" Test replacing with Tabs
0wR[21C[34m^[[m
:" Test that copyindent works with expandtab set
:set expandtab smartindent copyindent ts=8 sw=8 sts=8
o{
x[34m^[[m:set nosol
/Second line/
fwdv_:?^start?,$w! test.out
:qa![1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 19 lines, 447 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[23;1H
[1;24r[23;1HENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset smarttab expandtab ts=8 sw=4
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make sure that backspace works, no matter what termcap is used
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset t_kD=^[34m^?[m t_kb=^[34m^H
[?25l[27m[23m[m[H[2J[2;1HSTARTTEST
:so small.vim
:set smarttab expandtab ts=8 sw=4
:" make sure that backspace works, no matter what termcap is used
:set t_kD=[34m^V[mx7f t_kb=[34m^V[mx08
/some
r[7C:set noexpandtab
/other
r
:" Test replacing with Tabs and then backspacing to undo it
0wR[21C[34m^H^H^H^[[m
:" Test replacing with Tabs
0wR[21C[34m^[[m
:" Test that copyindent works with expandtab set
:set expandtab smartindent copyindent ts=8 sw=8 sts=8
o{
x[34m^[[m:set nosol
/Second line/
fwdv_:?^start?,$w! test.out
:qa!
ENDTEST
[?12l[?25h[?25l
/[?12l[?25hsome
[?25l[1;23r[1;1H[2M[1;24r[22;1Hstart text[23;17Hsome test text[24;1H[K[23;17H[?12l[?25h[?25l ome test text[23;20H[?12l[?25h[?25l
:[?12l[?25hset noexpandtab
[?25l[23;20H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hother
[?25l[1;23r[1;1H[2M[1;24r[22;1Htest text[23;17Hother test text[24;1H[K[23;17H[?12l[?25h[?25l ther test text[23;20H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Ha cde[?12l[?25h[?25l
:[?12l[?25h" Test replacing with Tabs and then backspacing to undo it
[?25l[23;9H[?12l[?25h
[?25l[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hf ghi[24;1H[K[23;4H[?12l[?25h[?25l
:[?12l[?25h" Test replacing with Tabs
[?25l[23;4H[?12l[?25h
[?25l [7Chi[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest text[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25h" Test that copyindent works with expandtab set
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset expandtab smartindent copyindent ts=8 sw=8 sts=8
[?25l[23;9H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1H{[23;9Hx[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25hset nosol
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hSecond line/
[?25l[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;3HSecond line beginning with whitespace[24;1H[K[23;3H[?12l[?25h[22C[?25l
with whitespace[23;18H[K[23;3H[?12l[?25h[?25l
:[?12l[?25h?^start?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 10 lines, 121 characters written[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test20.in" 28 lines, 398 characters[1;1HTests 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$[34m^V[mjjlld
/456$
[34m^V[mjj"bP
:/56$/,$-1w! test.out
:qa!
ENDTEST
123456
234567
345678
test text test tex start here[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests Blockwise Visual when there are TABs before the text.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 11 lines, 107 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso tiny.vim
[?25l[18;1H[?12l[?25h[?25l[1;23r[1;1H[5M[1;24r[19;17Hsome text[20;17Htest text
test text
Ox[34m^[[mjAy[34m^[[mkdd[24;1H[K[23;1H[?12l[?25h[22;1H[?25lx[23;1H[K[22;1H[?12l[?25h
[?25ly[?12l[?25h[22;1H[?25ly
Ox[34m^[[mjAy[34m^[[mkdd[22;1H[?12l[?25h[?25l
2 changes; before #1 0 seconds ago[22;1H[K[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1H123456
234567
345678[16;1H[K[17;1Htest text test tex start here
some text[18;26H[K[19;17Htest
test text[20;17H[K[21;1H[K[22;1HOx[34m^[[mjAy[34m^[[mkdd
[7mtest20.in [1;1H[?12l[?25h[?25l[1;11r[m[1;1H[L[1;24r[1;1Hx[12;11H[1m[7m[+][m[24;1H[K[1;1H[?12l[?25h
[?25ly[?12l[?25h[1;1H[?25l[1;11r[11;1H
[1;24r[11;1H[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H1 line less; before #1 0 seconds ago[1;1H[K[12;11H[1m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hquit!
[?25l[1;1H:so tiny.vim
G0"ay$k@au[2;11H[K[3;1H:new[3;5H[K[4;1H@auY:quit![4;11H[K[5;1HGP[5;3H[K[6;1H/start here$[6;13H[K[7;1H"by$[34m^V[mjjlld[7;12H[K[8;1H/456$[8;6H[K[9;1H[34m^V[mjj"bP[9;8H[K[10;1H:/56$/,$-1w! test.out[10;22H[K[11;1H:qa![11;5H[K[12;1HENDTEST[12;8H[K[13;1H[K[14;1H123456
234567
345678[17;1H[K[18;1Htest text test tex start here[19;17Hsome
[7Ctest text
test text[22;1H[K[23;1HOx[34m^[[mjAy[34m^[[mkdd[23;13H[K[23;1H[?12l[?25h[?25l[23;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HOx[34m^[[mjAy[34m^[[mkdd[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25hstart here$
[?25l[31msearch hit BOTTOM, continuing at TOP[17;20H[?12l[?25h[?25l[?12l[?25h[?25l[m[7ms[18;20H[?12l[?25h[?25le[19;20H[?12l[?25h[?25l[17;21Ht[18;21H [19;20Ht[?12l[?25h[?25l[17;22Ha[18;22Ht[19;21H [?12l[?25h[?25l[m[17;20Hrt here[17;27H[K[18;20Hext[18;23H[K[19;20Hex[19;23H[K[17;20H[?12l[?25h[18;20H[?25l[24;1H[K[24;1H/[?12l[?25h456$
[?25l[31msearch hit BOTTOM, continuing at TOP[13;4H[?12l[?25h[?25l[?12l[?25h[?25l[m[7m4
[m234[?12l[?25h[?25l[7m5
[m345[?12l[?25h[?25l[?12l[?25h[?25l[13;4Hstart here56
234start here67
345start here78[13;13H[?12l[?25h[14;13H[?25l[24;1H[K[24;1H:[?12l[?25h/56$/,$-1w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 10 lines, 106 characters written[14;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test22.in" 13 lines, 197 characters[1;1HTests for file with some lines ending in CTRL-M, some not[34m^M
^M[m
STARTTEST
:set ta tx
:e!
:$-3,$w! test.out
:qa!
ENDTEST
this lines ends in a[34m^M[m
this one doesn't
this one does[34m^M[m
and the last one doesn't
[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for file with some lines ending in CTRL-M, some not[34m^M[m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 4 lines, 38 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ta tx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he!
[?25l"test22.in" 13 lines, 197 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$-3,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 4 lines, 79 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test23.in" 15 lines, 282 characters[1;1HTests 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
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for complicated + argument to :edit command[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 7 lines, 125 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$-1w! Xfile1
[?25l"Xfile1" [24;10H[K[24;10H[New File] 1 line, 8 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! Xfile2
[?25l"Xfile2" [24;10H[K[24;10H[New File] 1 line, 8 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w
[?25l"Xfile1" [24;10H[K[24;10H1 line, 8 characters
foo|bar
"Xfile1" 1 line, 11 characters written
"Xfile2" 1 line, 8 characters
foo/bar
"Xfile2" 1 line, 12 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 12 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfile1
[?25l"Xfile1" 1 line, 11 characters[1;1H[7L[1;1HfooPIPEbar
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[24;1H[K[24;1H"Xfile1" 1 line, 11 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >> test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test24.in" 89 lines, 1301 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with backslash and other special characters inside [][24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 51 lines, 519 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[2;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\x]
[?25l[15;6H[?12l[?25h[?25ltext test text[15;20H[K[15;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\t\]]
[?25l[16;8H[?12l[?25h[?25ltext test tex[16;20H[K[16;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[]y]
[?25l[17;11H[?12l[?25h[?25ltest text[17;20H[K[17;11H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\]]
[?25l[18;6H[?12l[?25h[?25ltext test text[18;20H[K[18;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[y^]
[?25l[19;13H[?12l[?25h[?25lst text[19;20H[K[19;13H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[$y]
[?25l[20;8H[?12l[?25h[?25lxt test text[20;20H[K[20;8H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\x61]
[?25l[21;7H[?12l[?25h[?25lext test text x61[21;25H[K[21;7H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\x60-\x64]
[?25l[22;7H[?12l[?25h[?25lext test text x60-x64[22;29H[K[22;7H[?12l[?25h[23;7H
[?25l[24;1H[K[24;1H/[?12l[?25h[\x785]
[?25l[23;6H[?12l[?25h[?25ltext test text x78 5[23;27H[K[23;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\o143]
[?25l[1;23r[23;1H
[1;24r[23;1Htestc text test text o143[24;1H[K[23;5H[?12l[?25h[?25l text test text o143[23;26H[K[23;5H[?12l[?25h[?25l
/[?12l[?25h[\o140-\o144]
[?25l[1;23r[23;1H
[1;24r[23;1Htesdt text test text o140-o144[24;1H[K[23;4H[?12l[?25h[?25lt text test text o140-o14[23;31H[K[23;4H[?12l[?25h[?25l
/[?12l[?25h[\o417]
[?25l[1;23r[23;1H
[1;24r[23;1Htest7 text test text o41 7[24;1H[K[23;5H[?12l[?25h[?25l text test text o41 7[23;27H[K[23;5H[?12l[?25h[?25l
/[?12l[?25h\%x42
[?25l[1;23r[23;1H
[1;24r[23;1Htest text tBest text \%x42[24;1H[K[23;12H[?12l[?25h[?25lest text \%x42[23;27H[K[23;12H[?12l[?25h[?25l
/[?12l[?25h\%o103
[?25l[1;23r[23;1H
[1;24r[23;1Htest text teCst text \%o103[24;1H[K[23;13H[?12l[?25h[?25lst text \%o103[23;28H[K[23;13H[?12l[?25h[?25l
/[?12l[?25h[\x00]
[?25l[1;23r[23;1H
[1;24r[23;1Htest text [34m^@[mtest text [\x00][24;1H[K[23;11H[?12l[?25h[?25ltest text [\x00][23;28H[K[23;11H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest te[34m^@[mxt t[34m^D[mest t[34m^P[mext [\x00-\x10][23;11H[?12l[?25h[?25l
:[?12l[?25hs/[\x00-\x10]//g
[?25l3 substitutions on 1 line[23;8Hxt test text [\x00-\x10][23;33H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest \xyztext test text [\x-z][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/[\x-z]\+//
[?25l[23;6Htext test text [\x-z][23;28H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest text tev\uyst text [\u-z][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/[\u-z]\{2,}//
[?25l[23;13Hst text [\u-z][23;28H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)\+//
[?25l[23;4H xx [23;10H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a*\)\+//
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a*\)*//
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)\{2,3}/A/
[?25l[23;4HAaa xx[23;10H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)\{-2,3}/A/
[?25l[23;4HAaaa x[23;11H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaa12aa xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)*\(12\)\@>/A/
[?25l[23;4HAaa xx[23;10H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx foobar xbar xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(foo\)\@<!bar/A/
[?25l[23;12HA xx[23;16H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx an file xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(an\_s\+\)\@<=file/A/
[?25l[23;7HA xx[23;12H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hx= 9;[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/XX/
[?25l[23;1HXX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hhh= 77;[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/
[?25l[23;1HYY 77;[23;7H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/aaa/xyz/
[?25l[23;2Hxyz
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Hxyz[24;1H[K[23;2H[?12l[?25h[?25l
:[?12l[?25hs/~/bcd/
[?25l[23;2Hbcd
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Hbcdbcdbcd[24;1H[K[23;2H[?12l[?25h[?25l
:[?12l[?25hs/~\+/BB/
[?25l[23;2HBB[23;4H[K[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?start?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 32L, 586C written[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test26.in" 44 lines, 750 characters[1;1HTest 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[34m^V^[[m
: if i == 9
: break
: endif
: if i == 5
: continue
: else
: let j = 9
: while j > 0
:[8Cif has("ebcdic")[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for :execute, :while and :if[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 39 lines, 696 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: let j = 9
: while j > 0
:[8Cif has("ebcdic")
:[10Cexecute "normal" j . "a" . j . "\x27"
:[8Celse
:[10Cexecute "normal" j . "a" . j . "\x1b"
:[8Cendif
:[8Clet 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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet i = 0
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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^[34m^[
[m
[?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:[8C[?12l[?25h: if has("ebcdic")
[?25l:[10C[?12l[?25h: execute "normal" j . "a" . j . "\x27"
[?25l:[10C[?12l[?25h: else
[?25l:[10C[?12l[?25h: execute "normal" j . "a" . j . "\x1b"
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: let j = j - 1
[?25l:[8C[?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
[27m[23m[m[H[2J[?25l[1;1H: 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[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h't,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 10 lines, 159 characters written[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test28.in" 23 lines, 364 characters[1;1HTest for sourcing a file with CTRL-V's at the end of the line
STARTTEST
:/firstline/+1,/lastline/-1w! Xtestfile
:so Xtestfile
Gmm__1[34m^[^[[m__2[34m^[[m__3[34m^[^[[m__4[34m^[[m__5[34m^[[m:'m,$s/[34m^@[m/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[34m^V[m
map __2 asd[34m^V^V[m
map __3 asd[34m^V^V[m
map __4 asd[34m^V^V^V[m
map __5 asd[34m^V^V^V[m
lastline[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for sourcing a file with CTRL-V's at the end of the line[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 114 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/firstline/+1,/lastline/-1w! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;13H[New File] 10 lines, 148 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso Xtestfile
[?25l[10;1H[?12l[?25h[23;1H[11C[?25l[1;23r[23;1H
[1;24r[22;1Hsd
map __2 asd[34m^[[m[24;1H[K[23;12H[?12l[?25h[?25l[2Csecond[?12l[?25hd [?25lsd[34m^[[?12l[?25h^[[m [13C[?25l[23;24Hsd[34m^@[mmap __5 asd[34m^@[?12l[?25h[?25l[m[2Cfifth[?12l[?25h[?25l
:[?12l[?25h'm,$s/[34m^@[m/0/g
[?25l[23;26H0map __5 asd0fifth[23;44H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h'm,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 2 lines, 45 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test29.in" 230 lines, 4261 characters[1;1HTest 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+=j[14;1Hj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j joinspaces
j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptionss[16;1H+=j
j05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j nojoinspaces compatible
j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj4Jy3l$pjd/STARTTEST/-2
ENDTEST
firstline
asdfasdf.
asdf[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for joining lines and marks in them[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 11 lines, 478 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nojoinspaces
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpoptions-=j
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hfirstline/
[?25l[24;11H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H/[?12l[?25h^STARTTEST/-1
[?25l[12C+-1
37 fewer lines[24;15H[K[22;1HSTARTTEST
/^{/+1[22;1H[?12l[?25h[?25l[24;4Hmore lines[24;14H[K[22;1Hasdfasdf.
asdf[23;5H[K[22;1H[?12l[?25h[?25l[10Casdf
asdfasdf.[22;10H[?12l[?25h[23;10H[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[24;1H[K[23;11H[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[14C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[8C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[15C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hzx cvn.[?12l[?25h
zx cv[?25l[1;23r[1;1H[3M[1;24r[21;1Has dfg?
hjkl iop!
ert[22;6H[?12l[?25h
hjkl i[20;7H[?25l. as dfg? hjkl iop! ert
zx cvn.
as dfg?[22;8H[K[23;1Hhjkl iop![20;26H[?12l[?25h er[?25lt er[?12l[?25h
zx cv[26C[?25lrn[?12l[?25h[20;23H[10C[?25lnop[?12l[?25h[?25l[24;1H:[?12l[?25hset cpoptions+=j
[?25l[20;35H[?12l[?25h[21;7H
zx cv[23;6H
hjkl i[21;7H[?25l. as dfg? hjkl iop! ert[22;1H[K[23;1HSTARTTEST[21;26H[?12l[?25h er[?25lt er[?12l[?25h
zx cv[26C[?25lrn[?12l[?25h[21;23H[10C[?25lnop[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpoptions-=j joinspaces
[?25l[21;35H[?12l[?25h
[?25l
37 more lines[24;14H[K[23;1Hasdfasdf.
[?12l[?25h[?25l[11Casdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[24;1H[K[23;10H[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[14C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[8C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[15C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hzx cvn.[?12l[?25h
zx cv[?25l[1;23r[1;1H[2M[1;24r[22;1Has dfg?
hjkl iop![?12l[?25h
hjkl i[21;7H[?25l. as dfg? hjkl iop! ert
zx cvn.
as dfg?[23;8H[K[21;28H[?12l[?25h er[?25lt e[?12l[?25h
zx cv[29C[?25len[?12l[?25h[21;25H[11C[?25lnop[?12l[?25h[?25l
:[?12l[?25hset cpoptions+=j
[?25l[21;38H[?12l[?25h[22;7H
zx cv[?25l[1;23r[23;1H
[1;24r[23;1Hhjkl iop![24;1H[K[23;6H[?12l[?25h
hjkl i[21;7H[?25l. as dfg? hjkl iop! ert[22;1H[K[23;1HSTARTTEST[21;27H[?12l[?25h er[?25lt er[?12l[?25h
zx cv[27C[?25lrn[?12l[?25h[21;24H[10C[?25lnop[?12l[?25h[?25l
:[?12l[?25hset cpoptions-=j nojoinspaces compatible
[?25l[21;36H[?12l[?25h
[?25l
37 more lines[24;14H[K[23;1Hasdfasdf.
[?12l[?25h[?25l[11Casdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[24;1H[K[23;10H[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[14C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[8C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[15C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hzx cvn.[?12l[?25h[?25l. as dfg? hjkl iop! ert[23;8H[?12l[?25h[22C[?25lt a[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hzx cvn.[?12l[?25h[?25l
/[?12l[?25hSTARTTEST/-2
[?25l[11C+-2
4 fewer lines[24;14H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H12 lines, 147 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[12M[1;24r[12;1H:set comments=s1:/*,mb:*,ex:*/,://
:set nojoinspaces fo=j
:set backspace=eol,start
:.,+3join
j4J
:.,+2join
j3J
:.,+2join
j3J
:.,+2join
jj3J
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset comments=s1:/*,mb:*,ex:*/,://
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nojoinspaces fo=j
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset backspace=eol,start
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,+3join
[?25l[23;1H/* Make sure the previous comment leader is not removed. */
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l/* Make sure the previous comment leader is not removed. */
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+2join
[?25l[23;1H// Should the next comment leader be left alone? Yes.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l// Should the next comment leader be left alone? Yes.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+2join
[?25l[23;1H/* Here the comment leader should be left intact. */ // And so should this one.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l/* Here the comment leader should be left intact. */ // And so should this one.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+2join
[?25l[23;1Hif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haction();[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25lif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haction();
[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:" Test with backspace set to the non-compatible setting
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H17 lines, 347 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:inoremap <c-u> <left><c-u>
Avim3[34m^U^[[m
:iunmap <c-u>
Avim4[34m^U^U^[[m
:" Test with backspace set to the compatible setting
:set backspace= visualbell
A vim5[34m^[[mA[34m^U^U^[[m
A vim6[34m^[[mAzwei[34m^G[mu[34m^U^[[m
:inoremap <c-u> <left><c-u>
A vim7[34m^U^U^[[m
: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test with backspace set to the non-compatible setting
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^\d\+ this
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp bs=2
[?25l[14;1H[?12l[?25h[?25l[26C[?12l[?25h[15;27Hd [?25lvim2[?12l[?25h[?25l[15;28H[K[15;27H[?12l[?25h[16;24H[?25l[24;1H[K[24;1H:[?12l[?25hset cpo-=<
[?25l[16;24H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <c-u> <left><c-u>
[?25l[16;24H[?12l[?25h[?25ld3[?12l[?25h[17;24H[?25l[24;1H[K[24;1H:[?12l[?25hiunmap <c-u>
[?25l[17;24H[?12l[?25h[?25l[17;1H[K[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h" Test with backspace set to the compatible setting
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset backspace= visualbell
[?25l[18;1H[?12l[?25h[?25l[28Cvim5[?12l[?25h[?5h[?5l[?5h[?5l[19;27H[?25ld vim6[?12l[?25h6 [?25lzwei[?12l[?25h[?25l[19;33H[K[19;32H[?12l[?25h[20;32H[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <c-u> <left><c-u>
[?25l[20;32H[?12l[?25h[?5h[?5l[?5h[?5l[?25l[15Cvim7[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hset compatible novisualbell
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H21 lines, 356 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj3J
:.,+2join
j3J
:.,+2join
jj3J
j:.,+2join
jj3J
j:.,+5join
j6J
oSome code![34m^M[m// Make sure backspacing does not remove this comment leader.[34m^[[m0i[34m^HH[11;1H^[[m
ENDTEST
{
/*
* Make sure the previous comment leader is not removed.
*/
/*
* Make sure the previous comment leader is not removed.
*/[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments=sO:*\ -,mO:*\ \ ,exO:*/
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments+=s1:/*,mb:*,ex:*/,://
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments+=s1:>#,mb:#,ex:#<,:<
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpoptions-=j joinspaces fo=j
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset backspace=eol,start
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,+3join
[?25l[15;23r[15;1H[3M[1;24r[15;1H/* Make sure the previous comment leader is not removed. */[21;1H/* List:
* - item1
* foo bar baz[24;1H[K[15;1H[?12l[?25h
[?25l[16;23r[16;1H[3M[1;24r[16;1H/* Make sure the previous comment leader is not removed. */[21;2H* foo bar baz
* - item2
* foo bar baz[16;1H[?12l[?25h
[?25l[24;1H:[?12l[?25h.,+8join
[?25l[17;1H/* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz */[18;1H[K[19;1H/* List:[19;9H[K[20;4H- item1[20;11H[K[22;4H foo bar baz
* - item2[23;11H[K[17;1H[?12l[?25h
[?25l/* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz */[19;1H[K[20;1H// Should the next comment leader be left alone?
// Yes.[21;8H[K[22;2H[K[23;1H// Should the next comment leader be left alone?[18;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h.,+2join
[?25l[19;23r[19;1H[2M[1;24r[19;4HShould the next comment leader be left alone? Yes.
// Yes.[24;1H[K[19;1H[?12l[?25h
[?25l// Should the next comment leader be left alone? Yes.[21;1H[K[22;2H* Here the comment leader should be left intact. */
// And so should this one.[20;1H[?12l[?25h
[?25l
:[?12l[?25h.,+2join
[?25l[21;1H/* Here the comment leader should be left intact. */ // And so should this one.[22;1H[K[23;2H* Here the comment leader should be left intact. */[21;1H[?12l[?25h
[?25l/* Here the comment leader should be left intact. */ // And so should this one.[23;1H[K[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h.,+2join
[?25l[23;1Hif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haction();[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25lif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haction();
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+2join
[?25l[23;1Hint i = 7 /* foo *// 3 // comment
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H;[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25lint i = 7 /* foo *// 3 // comment
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H;
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+5join
[?25l[23;1H># Note that the last character of the ending comment leader (left angle bracket[23;1H[1m[34m@ [1;23r[m[1;1H[3M[1;24r[20;1H># Note that the last character of the ending comment leader (left angle brackett[21;1H) is a comment leader itself. Make sure that this comment leader is not removed [22;1Hfrom the next line #< < On this line a new comment is opened which spans 2 liness[23;1H. This comment should retain its comment leader.[24;1H[K[20;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l># Note that the last character of the ending comment leader (left angle bracket[23;1H[1m[34m@ [1;23r[m[1;1H[3M[1;24r[20;1H># Note that the last character of the ending comment leader (left angle brackett[21;1H) is a comment leader itself. Make sure that this comment leader is not removed [22;1Hfrom the next line #< < On this line a new comment is opened which spans 2 liness[23;1H. This comment should retain its comment leader.[20;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HSome code!
// Make sure backspacing does not remove this comment leader.[?12l[?25h
[?25l[22;11H// Make sure backspacing does not remove this comment leader.
}[23;2H[K[22;10H[?12l[?25h
[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 61 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[23;19H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:?firstline?+1,$w! test.out[24;1H[K[23;19H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l74 fewer lines[24;15H[K[1;1H// Should the next comment leader be left alone? Yes.[1;56H[K[2;1H/* 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();[5;14H[K[6;1Hif (condition) // Remove the next comment leader! OK, I will.
action();[7;14H[K[8;1Hint i = 7 /* foo *// 3 // comment
;[9;4H[K[10;1Hint i = 7 /* foo *// 3 // comment[10;34H[K[11;1H ;[11;3H[K[12;1H># Note that the last character of the ending comment leader (left angle brackett[13;1H) is a comment leader itself. Make sure that this comment leader is not removed [14;1Hfrom the next line #< < On this line a new comment is opened which spans 2 liness[15;1H. This comment should retain its comment leader.[15;49H[K[16;1H># Note that the last character of the ending comment leader (left angle brackett[17;1H) is a comment leader itself. Make sure that this comment leader is not removed [18;1Hfrom the next line #< < On this line a new comment is opened which spans 2 liness[19;1H. This comment should retain its comment leader.
Some code!// Make sure backspacing does not remove this comment leader.
}[22;2H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?firstline?+1,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 97 lines, 3018 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test31.in" 95 lines, 1832 characters[1;1HTest for commands that close windows and/or buffers:
:quit
:close
:hide
:only
:sall
:all
:ball
:buf
:edit
STARTTEST
:so small.vim
GA 1[34m^[[m:$w! Xtest1
$r2:$w! Xtest2
$r3:$w! Xtest3
:n! Xtest1 Xtest2
A 1[34m^[[m: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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for commands that close windows and/or buffers:[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[12;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 80 lines, 1697 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:" 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[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h
[?25l[9C1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! Xtest1
[?25l"Xtest1" [24;10H[K[24;10H[New File] 1 line, 11 characters written[23;10H[?12l[?25h[?25l2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! Xtest2
[?25l"Xtest2" [24;10H[K[24;10H[New File] 1 line, 11 characters written[23;10H[?12l[?25h[?25l3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! Xtest3
[?25l"Xtest3" [24;10H[K[24;10H[New File] 1 line, 11 characters written[23;10H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hn! Xtest1 Xtest2
[?25l"Xtest1" [24;10H[K[24;10H1 line, 11 characters[1;1Htesttext 1[1;11H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[11C1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for working :n when hidden set; write "testtext 2"
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hn
[?25l"Xtest2" 1 line, 11 characters[1;10H2[1;12H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 11 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for failing :rew when hidden not set; write "testtext 2 2"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[11C2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hrew
[?25l[1m[37m[41mE37: No write since last change (add ! to override)[1;12H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for working :rew when hidden set; write "testtext 1 1"
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hrew
[?25l"Xtest1" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)[1;10H1 1
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for :all keeping a buffer when it's modified; write "testtext 1 1 1"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[13C1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp
[?25l[12;1H[1m[7mXtest1 [+] [m[13;1Htesttext 1 1 1[13;15H[K[23;1H[7mXtest1 [+] [1;14H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hn Xtest2 Xtest3
[?25l"Xtest2" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)[1;10H2 2[1;14H[K[12;6H[1m[7m2 [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hall
[?25l"Xtest3" 1 line, 11 characters[27m[23m[m[H[2J[1;1Htesttext 1 1 1
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7mXtest1 [+] [m[9;1Htesttext 2 2
[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[1m[7mXtest2 [+] [m[16;1Htesttext 3
[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mXtest3 [9;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h1wincmd w
[?25l[8;1H[1m[7mXtest1 [+] [m[15;1H[7mXtest2 [+][m[1m[7m [m[7m [1;14H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 15 characters appended[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test abandoning changed buffer, should be unloaded even when 'hidden' set
[?25l[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" write "testtext 2 2" twice
[?25l[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[1;14H[?12l[?25h[?25l1 1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[27m[23m[m[H[2J[1;1Htesttext 2 2
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXtest2 [+] [m[13;1Htesttext 3
[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mXtest3 [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hunhide
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":hide" hides anyway when 'hidden' not set; write "testtext 3"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[13C2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhide
[?25l[1;10H3[1;12H[K[12;1H[1m[34m~ [13;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":edit" failing in modified buffer when 'hidden' not set
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" write "testtext 3 3"
[?25l[1;1H[?12l[?25h[?25l[11C3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtest1
[?25l[1m[37m[41mE37: No write since last change (add ! to override)[1;12H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":edit" working in modified buffer when 'hidden' set; write "testtext 1
[23;80H"[24;1H[?25l[1;1H[L[1;1Htesttext 3 3[24;1H[K[1;12H[?12l[?25h[?25l[24;1H:[?12l[?25hset hidden
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtest1
[?25l"Xtest1" 1 line, 11 characters[1;10H1[1;12H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":close" not hiding when 'hidden' not set in modified buffer;
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" write "testtext 3 3 3"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xtest3
[?25l"Xtest3" [Modified] line 1 of 1 --100%-- col 1 (file 2 of 2)[1;10H3 3[12;1H[1m[7mXtest3 [+] [m[13;1Htesttext 1[13;11H[K[23;1H[7mXtest1 [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[13C3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1m[37m[41mE37: No write since last change (add ! to override)[1;14H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 15 characters appended[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":close!" does hide when 'hidden' not set in modified buffer;
[?25l[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" write "testtext 1"
[?25l[1;14H[?12l[?25h[?25l3 3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose!
[?25l[1;10H1[1;12H[K[12;1H[1m[34m~ [13;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":all!" hides changed buffer; write "testtext 2 2 2"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xtest4
[?25l"Xtest4" [New File][1;1H[K[12;1H[1m[7mXtest4 [m[13;1Htesttext 1[13;11H[K[23;1H[7mXtest1 [1;1H[?12l[?25h[?25l[m 4[12;8H[1m[7m[+][1;2H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?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)
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[1;1H[2L[1;1Htesttext 2 2 2
[1m[34m~ [m[11;1H[1m[7mXtest2 [+] [m[12;1Htesttext 3 3 3 3[12;17H[K[13;1H[1m[34m~ [m[23;6H[7m3 [+][m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 15 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":q!" and hidden buffer.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbw! Xtest1 Xtest2 Xtest3 Xtest4
[?25l"test31.in"[24;13H[K[24;13H95 lines, 1832 characters
4 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsp Xtest1
[?25l"Xtest1" [24;10H[K[24;10H1 line, 11 characters[1;1H[2L[1;1Htesttext 1
[1m[34m~ [11;1H~ [m[12;1H[1m[7mXtest1 [m[13;1H:w >>test.out[13;14H[K[14;1H:q![14;4H[K[15;1H:w >>test.out[15;14H[K[16;1H:q![16;4H[K[17;1H:call append(line('$'), "Oh, Not finished yet.")[17;49H[K[18;1H:w >>test.out[18;14H[K[19;1H:qa![19;5H[K[20;1HENDTEST[20;8H[K[21;1H[K[22;1Htesttext[22;9H[K[23;1H[7mtest31.in [m[24;1H[K[24;1H"Xtest1" 1 line, 11 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd w
[?25l[12;1H[7mXtest1[m[1m[7m [m[7m [m[23;1H[1m[7mtest31.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbw!
[?25l[12;1H[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset modified
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbot sp Xtest2
[?25l"Xtest2" [24;10H[K[24;10H1 line, 11 characters[11;1H[7mXtest1 [+] [m[12;1Htesttext 2[12;11H[K[23;1H[1m[7mXtest2 [12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset modified
[?25l[23;8H[1m[7m[+][12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbot sp Xtest3
[?25l"Xtest3" [24;10H[K[24;10H1 line, 11 characters[27m[23m[m[H[2J[1;1Htesttext 1
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7mXtest1 [+] [m[9;1Htesttext 2
[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7mXtest2 [+] [m[16;1Htesttext 3
[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7mXtest3 [16;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hset modified
[?25l[23;8H[1m[7m[+][16;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd t
[?25l[8;1H[1m[7mXtest1 [+] [m[23;1H[7mXtest3 [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhide
[?25l[27m[23m[m[H[2J[1;1Htesttext 2
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXtest2 [+] [m[13;1Htesttext 3
[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mXtest3 [+] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hq!
[?25l[1;10H3[12;1H[1m[34m~ [13;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[1m[37m[41mE37: No write since last change[m
[1m[37m[41mE162: No write since last change for buffer "Xtest1"[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test33.in" 34 lines, 616 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for 'lisp'[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 63 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset lisp
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^(defun
[?25l[12;1H[?12l[?25h[?25l[24;1H22 lines to indent...
23[7Cindented [24;19H[K[13;1H (format nil "~(~A~).html" base))
(let ((ti (gensym)))
`(with-open-file (*standard-output*
[8C(html-file ,name)
[7C:direction :output
:if-exists :supersede)
(let ((,ti ,title))
[15C(as title ,ti)
[17C(with center[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^(defun/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 23 lines, 544 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test34.in" 87 lines, 1833 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for user functions.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 78 lines, 1621 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[8L[?25l[1;1H: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[24;1H[K[22;1H[?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
[1;1H[6L[?25l[1;1H: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))[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc Expr1()
[?25l
: [?12l[?25h: normal! v
[?25l: [?12l[?25h: return "111"
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc Expr2()
[?25l
: [?12l[?25h: call search('XX', 'b')
[?25l: [?12l[?25h: return "222"
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc ListItem()
[?25l
: [?12l[?25h: let g:counter += 1
[?25l: [?12l[?25h: return g:counter . '. '
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc ListReset()
[?25l
: [?12l[?25h: let g:counter = 0
[?25l: [?12l[?25h: return ''
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc FuncWithRef(a)
[?25l
: [?12l[?25h: unlet g:FuncRef
[?25l: [?12l[?25h: return a:a
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hlet g:FuncRef=function("FuncWithRef")
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet counter = 0
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <expr> ( ListItem()
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <expr> [ ListReset()
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25himap <expr> + Expr1()
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25himap <expr> * Expr2()
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet retval = "nop"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^here
[?25l[23;1H[?12l[?25h[?25lher$[24;1H[K[24;1H=[?12l[?25hTable("xxx", 4, "asdf")
[?25l[24;1H[K[24;1H=[?12l[?25hCompute(45, 0, "retval")
[?25l[24;1H[K[24;1H=[?12l[?25hretval
[?25l[24;1H[K[24;1H=[?12l[?25hCompute(45, 5, "retval")
[?25l[24;1H[K[24;1H=[?12l[?25hretval
[?25l[24;1H[K[24;1H=[?12l[?25hg:FuncRef(333)
[?25l[1m[37m[41mError detected while processing function Expr1:[m
[33mline 1:[m
[1m[37m[41mE523: Not allowed here[m
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[4L[?25l[1;1H: $put =(0&&(function('tr'))(1, 2, 3))
: $put =(1&&(function('tr'))(1, 2, 3))
:catch
: $put ='!!! Unexpected exception:'[5;6H$put =v:exception
:endtry[6;8H[K[7;2H$-9,$w! test.out[7;18H[K[8;2Hdelfunc Table
:delfunc Compute[9;17H[K[10;2Hdelfunc Expr1[10;15H[K[11;2Hdelfunc Expr2
:delfunc ListItem[13;10HListReset
:unlet retval counter
:q![15;4H[K[16;1HENDTEST[16;8H[K[17;1H[K[18;1Hxxx4asdf fail nop ok 9 333
XX111-XX[19;9H[K[20;1H---222---
1. one[21;7H[K[22;1H2. two[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l1. one again[?12l[?25h[?25l
:[?12l[?25hcall append(line('$'), max([1, 2, 3]))
[?25l[23;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall extend(g:, {'max': function('min')})
[?25l[1m[37m[41mE704: Funcref variable name must start with a capital: max[23;12H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), max([1, 2, 3]))
[?25l[23;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[23;80Hi[24;1Hng
[?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
[1;1H[10L[?25l[1;1H: $put =v:exception
:endtry
:$-9,$w! test.out
:delfunc Table
:delfunc Compute
:delfunc Expr1
:delfunc Expr2
:delfunc ListItem
:delfunc ListReset
:unlet retval counter
:q![11;4H[K[12;1HENDTEST[12;8H[K[13;1H[K[14;1Hxxx4asdf fail nop ok 9 333
XX111-XX
---222---
1. one
2. two[18;7H[K[19;1H1. one again
3[20;2H[K[21;1H3[21;2H[K[22;1H0[22;2H[K[23;2H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$-9,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 10 lines, 81 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc Table
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc Compute
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc Expr1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc Expr2
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc ListItem
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc ListReset
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hunlet retval counter
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test36.in" 108 lines, 2025 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest character classes in regexp using regexpengine 0, 1, 2.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 101 lines, 1850 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hp: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
:[?12l[?25hs/\%#=0\D//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\D//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\D//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^0-9]//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^0-9]//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^0-9]//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\O//g
[?25l74 substitutions on 1 line[21;1H01234567[21;9H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=2\O//g
[?25l74 substitutions on 1 line[21;1H01234567[21;9H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
:[?12l[?25hs/\%#=1[^0-7]//g
[?25l74 substitutions on 1 line[22;1H01234567[22;9H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^0-7]//g
[?25l74 substitutions on 1 line[22;1H01234567[22;9H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\X//g
[?25l60 substitutions on 1 line[21;1H0123456789ABCDEFabcdef[21;23H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=2\X//g
[?25l60 substitutions on 1 line[21;1H0123456789ABCDEFabcdef[21;23H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=1[^0-9A-Fa-f]//g
[?25l60 substitutions on 1 line[21;1H0123456789ABCDEFabcdef[21;23H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\W//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\W//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\W//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0\H//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\H//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\H//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^A-Za-z_]//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^A-Za-z_]//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^A-Za-z_]//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0\A//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\A//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\A//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^A-Za-z]//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^A-Za-z]//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^A-Za-z]//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0\L//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\L//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\L//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^a-z]//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^a-z]//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^a-z]//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\U//g
[?25l70 substitutions on 1 line[21;1HABCDEFGHIXYZ[21;14H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=2\U//g
[?25l70 substitutions on 1 line[21;1HABCDEFGHIXYZ[21;14H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
:[?12l[?25hs/\%#=1[^A-Z]//g
[?25l70 substitutions on 1 line[22;1HABCDEFGHIXYZ[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^A-Z]//g
[?25l70 substitutions on 1 line[22;1HABCDEFGHIXYZ[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test37.in" 116 lines, 3262 characters[1;1HTest 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
[34m^W[mt:
:resize 8
/^start of window 1$/
zt:
:set scrollbind
[34m^W[mj:
:resize 7
/^start of window 2$/
zt:
:set scrollbind
:" -- start of tests --[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for 'scrollbind'. <eralston@computer.org> Do not add a line below![24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 72 lines, 1498 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[3;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1HHk[34m^W[mtH[34m^W[mjHyy[34m^W[mbp[34m^W[mtyy[34m^W[mbp:
[34m^W[mt:set noscb
ggL[34m^W[mj:set noscb
ggL:set scb
[34m^W[mt:set scb
[34m^W[mtG[34m^W[mjG[34m^W[mt:syncbind
Hk[34m^W[mjH[34m^W[mtHyy[34m^W[mbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
[34m^W[mtH3k[34m^W[mjH[34m^W[mtHyy[34m^W[mbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
:" ***** done with tests *****
:w! test.out[13C" 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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noscrollbind
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt=ver,jump
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrolloff=2
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nowrap
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noequalalways
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset splitbelow
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST using two windows open to one buffer, one extra empty window
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsplit
[?25l[1;1H[34m^W[mtH3k[4C[34m^W[mtHyy[2Cbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
:" ***** done with tests *****
:w! test.out [9C" Write contents of this file
:qa![4;5H[K[5;1HENDTEST[5;9H[K[6;1H[K[7;1H[K[8;1Hstart of window 1[8;18H[K[9;1H. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[10;51H[K[11;1H[7mtest37.in [m[12;1HHk[34m^W[mjH[34m^W[mtHyy[34m^W[mbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
[34m^W[mtH3k[34m^W[mjH[34m^W[mtHyy[34m^W[mbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
:" ***** done with tests *****
:w! test.out [8C" Write contents of this file
:qa![16;5H[K[17;1HENDTEST[17;8H[K[18;1H[K[19;1H[K[20;1Hstart of window 1[20;18H[K[21;9H1[39C1[22;9H2[39C2
[1m[7mtest37.in [18;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnew
[?25l[12;1H:w! test.out " Write contents of this file
:qa![13;5H[K[14;1HENDTEST[14;8H[K[15;1H[K[16;1H[K[17;1H[7mtest37.in [m[19;1H[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [18;1H[?12l[?25h[11;1Htest37.in [m[23;1H[7m[No Name][m[1m[7m [m[7m [6;1H[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hresize 8
[?25l[1;1H:" ***** done with tests *****[1;31H[K[2;2Hw! test.out " Write contents of this file
:qa![3;5H[K[4;1HENDTEST[5;1H[K[7;1Hstart of window 1
. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
[1m[7mtest37.in [m[10;1H:" ***** done with tests *****[10;31H[K[11;1H:w! test.out " Write contents of this file[11;55H[K[12;2Hqa![12;5H[K[13;1HENDTEST[14;1H[K[16;1Hstart of window 1[5;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of window 1$/
[?25l[24;21H[K[24;1H[1;8r[8;1H
[1;24r[8;1H. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[24;1H[K[6;1H[?12l[?25h[?25l[1;8r[1;1H[3M[1;24r[6;1H. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03
. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04
. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollbind
[?25l[3;1H[?12l[?25h[9;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7mtest37.in [14;1H[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hresize 7
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of window 2$/
[?25l[24;21H[K[24;1H[10;1Hend of window 1[10;16H[K[11;1H[K[12;1H[K[13;1Hstart of window 2
. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01
. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03[13;1H[?12l[?25h[?25l[10;16r[16;1H
[1;24r[16;1H. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04[24;1H[K[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollbind
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" -- start of tests --
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST scrolling down
[?25l[12;1H[?12l[?25h
[?25l[1;8r[1;1H[5M[1;24r[4;1H. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07
. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08
. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09
. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10[10;16r[10;1H[5M[1;24r[12;1H. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07
. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08
. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09[24;1H[K[14;1H[?12l[?25h[12;1H[17;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [18;1H[?25l[m
. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[19;50H[K[23;11H[1m[7m[+][19;1H[?12l[?25h[?25l[m0[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [19;1H[?25l[m
. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[20;50H[K[20;1H[?12l[?25h[?25l1[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H
[?25l[1;8r[m[1;1H[6M[1;24r[3;1H. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12
. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13
. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14
. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15
end of window 1[10;16r[10;1H[6M[1;24r[11;1H. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10
. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13
. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15[6;1H[?12l[?25h[3;1H[9;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [20;1H[?25l[m
. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[21;50H[K[21;1H[?12l[?25h[?25l2[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[17;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [21;1H[?25l[m
. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[22;50H[K[22;1H[?12l[?25h[?25l3[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST scrolling up
[?25l[22;1H[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[1;8r[m[1;1H[5L[1;24r[1;1H. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04
. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07
. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08[10;9H4[39C4[11;8H05[38C05[12;8H06[38C06[13;8H07[38C07[14;8H08[38C08[15;8H09[38C09[16;9H0[39C0[24;1H[K[4;1H[?12l[?25h[9;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7mtest37.in [14;1H[12;1H[9;1Htest37.in [m[17;1H[7mtest37.in[m[1m[7m [m[7m [4;1H[3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
[?12l[?25h[?25l4[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[17;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
[?12l[?25h[?25l5[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[?25l[1;8r[m[1;1H[4L[1;24r[1;1Hstart of window 1
. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[10;16r[10;1H[4L[1;24r[10;1Hstart of window 2
. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01
. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
[?12l[?25h[9;1H[1m[7mtest37.in [m[17;1H[7mtest37.in[m[1m[7m [m[7m [6;1H[3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7mtest37.in [13;1H[12;1H[m[17;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
[?12l[?25h[?25l6[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l7[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST horizontal scrolling
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt+=hor
[?25l[22;1H[?12l[?25h[?25l[18;1H[K[19;1H0[7C5 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
1[7C5 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[18;1H[?12l[?25h[?25l[18;22r[18;1H[4M[1;24r[19;1H4 line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
5 line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[24;1H[K[22;1H[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[1;1H 1[1;3H[K[2;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01[2;35H[K[3;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[3;35H[K[4;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[4;35H[K[5;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[5;35H[K[6;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[6;35H[K[7;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06[7;35H[K[8;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07[8;35H[K[10;1H 2[10;3H[K[11;1HUTSRQPONMLKJIHGREDCBA9876543210 01[11;35H[K[12;1HUTSRQPONMLKJIHGREDCBA9876543210 02[12;35H[K[13;1HUTSRQPONMLKJIHGREDCBA9876543210 03[13;35H[K[14;1HUTSRQPONMLKJIHGREDCBA9876543210 04[14;35H[K[15;1HUTSRQPONMLKJIHGREDCBA9876543210 05[15;35H[K[16;1HUTSRQPONMLKJIHGREDCBA9876543210 06[16;35H[K[3;1H[?12l[?25h[9;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[17;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[mUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[?25l[m[1;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09[2;33H10[3;33H11[4;33H12[5;33H13[6;33H14[7;33H15[8;1H[K[10;1HUTSRQPONMLKJIHGREDCBA9876543210 09[11;33H10[12;33H11[13;33H12[14;33H13[15;33H14[16;33H15[13;1H[?12l[?25h[?25l[1;1H. 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[12;1H[?12l[?25h[?25l[?12l[?25h[17;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l[18;22r[22;1H
[1;24r[24;1H[K[22;1H[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;16H
[9;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt-=hor
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" ****** tests using two different buffers *****
[?25l[22;1H[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7mtest37.in [12;1H[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[9;1H[K[10;1H[K[11;1Hstart of window 2[11;18H[K[12;8H0[39C0[13;8H0[39C0[14;8H0[39C0[15;8H0[39C0[16;8H0[39C0[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noscrollbind
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start of window 2$/,/^end of window 2$/y
[?25l18 lines yanked[24;16H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[8;1H[7mtest37.in [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [m[17;1H[1m[7m[No Name] [9;1H[?12l[?25h[8;1Htest37.in [m[17;1H[7m[No Name][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [9;1H[?25l[m[24;1H4 more lines[10;1H[K[11;1H[K[12;1H[K[13;1H[K[17;11H[1m[7m[+][10;1H[?12l[?25h
[?25l[m[24;1H18 more lines[14;1Hstart of window 2[14;18H[K[15;1H. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01[15;50H[K[16;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[16;50H[K[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[14;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[24;1H[K[24;1H/[?12l[?25h^start of window 1$/
[?25l[24;21H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[m[1;1HENDTEST[1;8H[K[2;1H[K[3;1H[K[4;1Hstart of window 1[4;18H[K[5;8H01[38C01[6;8H02[38C02[7;8H03[38C03[4;1H[?12l[?25h[?25l[1;7r[7;1H
[1;24r[7;1H. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollbind
[?25l[3;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [14;1H[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of window 2$/
[?25l[24;21H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[14;1H[?12l[?25h[?25l[9;16r[m[9;1H[3M[1;24r[14;1H. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04
. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[24;1H[K[11;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollbind
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" -- start of tests --
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST scrolling down
[?25l[11;1H[?12l[?25h
[?25l[1;7r[1;1H[5M[1;24r[3;1H. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07
. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08
. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09[9;16r[9;1H[5M[1;24r[12;1H. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07
. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08
. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09
. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10[24;1H[K[14;1H[?12l[?25h[11;1H[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
[?12l[?25h[?25l0[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
[?12l[?25h[?25l1[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H
[?25l[1;7r[m[1;1H[6M[1;24r[2;1H. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10
. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12
. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13
. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14
. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15[9;16r[9;1H[6M[1;24r[11;1H. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13
. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[5;1H[?12l[?25h[3;1H[8;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
[?12l[?25h[?25l2[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[17;1H[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
[?12l[?25h[?25l3[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST scrolling up
[?25l[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[1;9H4[39C4[2;8H05[38C05[3;8H06[38C06[4;8H07[38C07[5;8H08[38C08[6;8H09[38C09[7;9H0[39C0[9;16r[9;1H[5L[1;24r[9;1H. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04
. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07
. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08[24;1H[K[4;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [14;1H[11;1H[8;1Htest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [4;1H[3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
[?12l[?25h[?25l4[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[17;1H[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
[?12l[?25h[?25l5[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[?25l[1;7r[m[1;1H[4L[1;24r[1;1Hstart of window 1
. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[9;16r[9;1H[4L[1;24r[9;1Hstart of window 2
. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01
. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [12;1H[11;1H[m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
[?12l[?25h[?25l6[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l7[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST horizontal scrolling
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt+=hor
[?25l[22;1H[?12l[?25h[?25l[18;1H[K[19;1H0[7C5 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
1[7C5 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[18;1H[?12l[?25h[?25l3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
4[7C6 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
5[7C6 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l[18;22r[22;1H
[1;24r[24;1H[K[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[1;1H 1[1;3H[K[2;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01[2;35H[K[3;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[3;35H[K[4;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[4;35H[K[5;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[5;35H[K[6;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[6;35H[K[7;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06[7;35H[K[9;1H 2[9;3H[K[10;1HUTSRQPONMLKJIHGREDCBA9876543210 01[10;35H[K[11;1HUTSRQPONMLKJIHGREDCBA9876543210 02[11;35H[K[12;1HUTSRQPONMLKJIHGREDCBA9876543210 03[12;35H[K[13;1HUTSRQPONMLKJIHGREDCBA9876543210 04[13;35H[K[14;1HUTSRQPONMLKJIHGREDCBA9876543210 05[14;35H[K[15;1HUTSRQPONMLKJIHGREDCBA9876543210 06[15;35H[K[16;1HUTSRQPONMLKJIHGREDCBA9876543210 07[16;35H[K[3;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[17;1H[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[mUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[?25l[m[1;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09[2;33H10[3;33H11[4;33H12[5;33H13[6;33H14[7;33H15
UTSRQPONMLKJIHGREDCBA9876543210 09[10;33H10[11;33H11[12;33H12[13;33H13[14;33H14[15;33H15[16;33H16[12;1H[?12l[?25h[?25l[1;1H. 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[11;1H[?12l[?25h[?25l[?12l[?25h[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l[18;22r[22;1H
[1;24r[24;1H[K[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;16H
[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt-=hor
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST syncbind
[?25l[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset noscb
[?25l[3;1H[?12l[?25h[?25l[1;1HTest for 'scrollbind'. <eralston@computer.org> Do not add a line below!
STARTTEST[2;11H[K[3;1H:so small.vim[3;14H[K[4;1H:set noscrollbind[4;18H[K[5;1H:set scrollopt=ver,jump[5;24H[K[6;1H:set scrolloff=2[6;17H[K[7;1H:set nowrap[7;12H[K[1;1H[?12l[?25h[5;1H
[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset noscb
[?25l[11;1H[?12l[?25h[?25l[9;1H[K[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1Hstart of window 2[14;18H[K[15;8H01[38C01[16;8H02[38C02[9;1H[?12l[?25h[14;1H[?25l[24;1H[K[24;1H:[?12l[?25hset scb
[?25l[14;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset scb
[?25l[5;1H[?12l[?25h[?25l[1;1H. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13[1;50H[K[2;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
end of window 2[5;16H[K[6;1H[K[7;1Hend of test37.in (please don't delete this line)
end of window 2
[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [7;1H[?12l[?25h[?25l[m[1;1Hzt:[1;4H[K[2;1H:set scrollbind[2;16H[K[3;1H:" -- start of tests --[3;24H[K[4;1H:" TEST scrolling down[4;23H[K[5;1HL5jHyy[34m^W[mbpr0[34m^W[mtHyy[34m^W[mbpr1[34m^W[mtL6jHyy[34m^W[mbpr2[34m^W[mkHyy[34m^W[mbpr3:
:" TEST scrolling up
[34m^W[mtH4k[34m^W[mjH[34m^W[mtHyy[34m^W[mbpr4[34m^W[mkHyy[34m^W[mbpr5[34m^W[mk3k[34m^W[mtH[34m^W[mjHyy[34m^W[mbpr6[34m^W[mtHyy[34m^W[mbpr7:
[7mtest37.in[m[1m[7m [m[7m [9;16r[m[9;1H[2L[1;24r[9;1H. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[17;1H[1m[7m[No Name] [+] [m[24;1H[K[11;1H[?12l[?25h[?25l[24;1H:[?12l[?25hsyncbind
[?25l[11;1H[?12l[?25h[?25l[1;7r[1;1H[L[1;24r[1;1H/^start of window 2$/[9;16r[9;1H[L[1;24r[9;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[24;1H[K[11;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H:set scrollbind
[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset noscb
[?25l[3;1H[?12l[?25h[?25l[1;1HTest for 'scrollbind'. <eralston@computer.org> Do not add a line below!
STARTTEST
:so small.vim[3;14H[K[4;2Hset noscrollbind[4;18H[K[5;2Hset scrollopt=ver,jump
:set scrolloff=2[6;17H[K[7;2Hset nowrap[7;12H[K[1;1H[?12l[?25h[5;1H
[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset noscb
[?25l[11;1H[?12l[?25h[?25l[9;1H[K[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1Hstart of window 2[14;18H[K[15;1H. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01[15;50H[K[16;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[16;50H[K[9;1H[?12l[?25h[14;1H[?25l[24;1H[K[24;1H:[?12l[?25hset scb
[?25l[14;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset scb
[?25l[5;1H[?12l[?25h[?25l[1;1H. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13[1;50H[K[2;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
end of window 2[5;16H[K[6;1H[K[7;1Hend of test37.in (please don't delete this line)
end of window 2
[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [7;1H[?12l[?25h[?25l[m[1;1Hzt:[1;4H[K[2;1H:set scrollbind[2;16H[K[3;1H:" -- start of tests --[3;24H[K[4;1H:" TEST scrolling down[4;23H[K[5;1HL5jHyy[34m^W[mbpr0[34m^W[mtHyy[34m^W[mbpr1[34m^W[mtL6jHyy[34m^W[mbpr2[34m^W[mkHyy[34m^W[mbpr3:
:" TEST scrolling up
[34m^W[mtH4k[34m^W[mjH[34m^W[mtHyy[34m^W[mbpr4[34m^W[mkHyy[34m^W[mbpr5[34m^W[mk3k[34m^W[mtH[34m^W[mjHyy[34m^W[mbpr6[34m^W[mtHyy[34m^W[mbpr7:
[7mtest37.in[m[1m[7m [m[7m [9;16r[m[9;1H[2L[1;24r[9;1H. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[17;1H[1m[7m[No Name] [+] [m[24;1H[K[11;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[?25l[24;1H[m:[?12l[?25hsyncbind
[?25l[5;1H[?12l[?25h[3;1H[?25l[1;7r[1;1H[L[1;24r[1;1H/^start of window 2$/[9;16r[9;1H[L[1;24r[9;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[24;1H[K[3;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [12;1H[11;1H[8;1Htest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H:set scrollbind
[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[1;7r[m[1;1H[4L[1;24r[1;1Hzt:
:set scrollbind
[34m^W[mj:
:resize 7[9;16r[9;1H[4L[1;24r[9;1H. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10
. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13[24;1H[K[4;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [15;1H[11;1H[8;1Htest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [4;1H[3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H[34m^W[mj:
[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" ***** done with tests *****
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 33 lines, 1329 characters written[23;1H[1m[7mtest.out] [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test38.in" 35 lines, 455 characters[2;1HTest Virtual replace mode.
STARTTEST
:so small.vim
:" make sure that backspace works, no matter what termcap is used
:set t_kD=[34m^V[mx7f t_kb=[34m^V[mx08
ggdGa
abcdefghi
jk lmn
opq rst
[34m^D[muvwxyz
[34m^[[mgg:set ai
:set bs=2
gR0[34m^D[m 1
A
BCDEFGHIJ[18;9HKL
MNO
PQR[34m^[[mG:ka
o0[34m^D[m
abcdefghi
jk lmn[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 29 lines, 407 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[11M[1;24r[13;5Hopq rst
[34m^D[muvwxyz
[34m^[[m'ajgR0[34m^D[m 1
A
BCDEFGHIJ[18;9HKL
MNO
PQR[34m^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^[[m:$
iab cdefghi jkl[34m^[[m0gRAB......CDEFGHI.J[34m^[[mo[34m^[[m:
iabcdefghijklmnopqrst[34m^[[m0gRAB IJKLMNO QR[34m^[[m:wq! test.out
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make sure that backspace works, no matter what termcap is used
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset t_kD=^[34m^?[m t_kb=^[34m^H
[?25l[27m[23m[m[H[2J[1;1H[34m^[[mgg:set ai
:set bs=2
gR0[34m^D[m 1
A
BCDEFGHIJ[6;9HKL
MNO
PQR[34m^[[mG:ka
o0[34m^D[m
abcdefghi
jk lmn
opq rst
[34m^D[muvwxyz
[34m^[[m'ajgR0[34m^D[m 1
A
BCDEFGHIJ[17;9HKL
MNO
PQR[34m^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^[[m:$
iab cdefghi jkl[34m^[[m0gRAB......CDEFGHI.J[34m^[[mo[34m^[[m:
iabcdefghijklmnopqrst[34m^[[m0gRAB IJKLMNO QR[34m^[[m:wq! test.out
ENDTEST
[?12l[?25h[?25l[1;23r[1;1H[12L[1;24r[2;1HTest Virtual replace mode.
STARTTEST
:so small.vim
:" make sure that backspace works, no matter what termcap is used
:set t_kD=[34m^V[mx7f t_kb=[34m^V[mx08
ggdGa
abcdefghi
jk lmn
opq rst
[34m^D[muvwxyz[1;1H[?12l[?25h[?25l
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l
abcdefghi[2;10H[K[3;1Hjk lmn[3;12H[K[4;1H opq rst[4;12H[K[5;1Huvwxyz[5;7H[K[6;1H[K[6;1H[?12l[?25h[1;1H[?25l[24;1H[K[24;1H:[?12l[?25hset ai
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bs=2
[?25l[1;1H[?12l[?25h[?25l 1
A[2;3H[K[3;1H BCDEFGHIJ[3;11H[K[4;5H KL[4;11H[K[5;1H MNO[6;9HPQR[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hka
[?25l[6;9H[?12l[?25h[?25l[7;1H[K[8;1Habcdefghi[8;10H[K[9;1Hjk lmn[9;12H[K[10;1H opq rst[10;12H[K[11;1Huvwxyz[11;7H[K[12;1H[K[12;1H[?12l[?25h[6;9H
[?25l 1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$
[?25l[12;1H[?12l[?25h[?25lab cdefghi jkl[?12l[?25h
[?25lAB......CDEFGHI.J[?12l[?25h[?25l[13;1H[K[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25labcdefghijklmnopqrst[?12l[?25h
[?25lAB IJKLMNO QR[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test39.in" 118 lines, 2435 characters[2;1HTest Visual block mode commands
And test "U" in Visual mode, also on German sharp S.
#define BO_ALL 0x0001
#define BO_BS[7C0x0002
#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[34m^V[mjj>wll[34m^V[mjlll>
:" Test shift-left of a block
G$hhhh[34m^V[mkk<
:" Test block-insert
Gkl[34m^V[mkkkIxyz[34m^[[m
:" Test block-replace
Gllll[34m^V[mkkklllrq
:" Test block-change[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 75 lines, 2061 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[10;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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!
ENDTEST[14;17Hline1[15;17Hline2[16;17Hline3
aaaaaa
bbbbbb
cccccc
dddddd
xaaa[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" This only works when 'encoding' is "latin1", don't depend on the environment
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=latin1
[?25l[27m[23m[m[H[2J[1;1H: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!
ENDTEST[14;17Hline1[15;17Hline2[16;17Hline3
aaaaaa
bbbbbb
cccccc
dddddd
xaaa[13;1H[?12l[?25h[?25l[24;1H/[?12l[?25h^abcde
[?25l[1;23r[1;1H[18M[1;24r[6;1Hbbbb
cccc
dddd
yaaa
bbb
A23
4567
B23
4567
C23
4567
abcdefghijklm[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" Test shift-right of a block
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Habcdefghijklm[24;1H[K[23;1H[?12l[?25habcd[?25l[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5H[7me[m
abcdefghijklm
abcd[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5H[7me[m
abcdefghijklm
abcd[?12l[?25h[?25l
3 lines >ed 1 time[21;5H efghijklm
abcd efghijklm
abcd efghijklm[21;8H[?12l[?25h ef[?25l[?12l[?25h[?25l[7mg[22;15H[?12l[?25h[?25l[21;16Hh[22;15Hg[?12l[?25h[?25l[21;17Hi[22;16Hh[?12l[?25h[?25l[21;18Hj[22;17Hi[?12l[?25h[?25l[m[21;15H ghijklm[22;15H ghijklm[21;16H[?12l[?25h[22;16H[?25l[24;1H[K[24;1H:[?12l[?25h" Test shift-left of a block
[?25l[22;16H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Habcdefghijklm[24;1H[K[23;1H[?12l[?25h[12C[?25l[?12l[?25h[?25l[7mi[22;9H[?12l[?25h[?25l [21;9H[?12l[?25h[?25l[m
3 lines <ed 1 time[21;9Hef [22;9Hefghijklm[22;18H[K[23;9Hi[21;9H[?12l[?25h[22;9H[?25l[24;1H[K[24;1H:[?12l[?25h" Test block-insert
[?25l[22;9H[?12l[?25h
[22;1Ha[?25l[?12l[?25h[?25l[7mb[21;2H[?12l[?25h[?25lb[20;2H[?12l[?25h[?25lb[19;2H[?12l[?25h[?25l[m
ab
ab
ab[19;2Hxyzbcdefghijklm
axyzbcd
axyzbcd
axyzbcd[19;2H[?12l[?25h
a[?25l[24;1H[K[24;1H:[?12l[?25h" Test block-replace
[?25l[20;2H[?12l[?25h
abcd[?25l[?12l[?25h[?25l[7me[22;5H[?12l[?25h[?25lb[21;5H[?12l[?25h[?25lb[20;5H[?12l[?25h[?25lb[21;6Hc[22;6Hc[23;6Hf[20;6H[?12l[?25h[?25lc[21;7Hd[22;7Hd[23;7Hg[20;7H[?12l[?25h[?25ld[21;8H [22;8H [23;8Hh[20;8H[?12l[?25h[?25l[mqqqq
axyzqqqq
axyzqqqq
abcdqqqq[20;5H[?12l[?25h
axyz[?25l[24;1H[K[24;1H:[?12l[?25h" Test block-change
[?25l[21;5H[?12l[?25h
[12C[22;17H[?25l[?12l[?25h[?25l[7mj[?12l[?25h[?25li[?12l[?25h[?25l[21;12H [22;11Hghijkl[21;11H[?12l[?25h[?25l[20;13Hef[m[21;15H [22;11Hg[3Ckl[20;12H[?12l[?25h[?25lmno[21;12Hmno[22;12Hmno[20;14H[?12l[?25h[21;14H[?25l[24;1H[K[24;1H:[?12l[?25h$-4,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 5 lines, 108 characters written[21;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test block-insert using cursor keys for movement
[?25l[21;14H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^aaaa/
[?25l[24;7H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[1;23r[m[1;1H[5L[1;24r[1;1Haaaaaa
bbbbbb
cccccc
dddddd[24;1H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexe ":norm! l\<C-V>jjjlllI\<Right>\<Right> \<Esc>"
[?25l[1;4H aaa
bbb bbb
ccc ccc
ddd ddd[1;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^aa/,/^$/w >> test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H5 lines, 37 characters appended[1;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hxaaa$/
[?25l[24;7H[K[24;1H[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! \<C-V>jjjI<>\<Left>p\<Esc>"
[?25l[6;1H<p>xaaa
<p>bbbb
<p>cccc
<p>dddd[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/xaaa$/,/^$/w >> test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H5 lines, 33 characters appended[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block was created with the last <C-v>$
[?25l[6;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^A23$/
[?25l[24;7H[K[24;1H[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! l\<C-V>j$Aab\<Esc>"
[?25l[15;4Hab
4567ab[15;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" [24;13H[K[24;12H3 lines, 14 characters appended[15;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block was created with the middle <C-v>$ (1)
[?25l[15;2H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^B23$/
[?25l[24;7H[K[24;1H[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! l\<C-V>j$hAab\<Esc>"
[?25l[18;5Hab
4567ab[18;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" [24;13H[K[24;12H3 lines, 15 characters appended[18;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block was created with the middle <C-v>$ (2)
[?25l[18;2H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^C23$/
[?25l[24;7H[K[24;1H[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! l\<C-V>j$hhAab\<Esc>"
[?25l[21;4Hab
456ab7[21;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" [24;13H[K[24;12H3 lines, 14 characters appended[21;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block insert when virtualedit=all and utf-8 encoding
[?25l[21;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=all enc=utf-8
[?25l[27m[23m[m[H[2J[1;1Haaa aaa
bbb bbb
ccc ccc
ddd ddd
<p>xaaa
<p>bbbb
<p>cccc
<p>dddd
yaaa
[34m<bf><bf><bf>[m
bbb
A23ab
4567ab
B23 ab
4567ab
C23ab
456ab7[21;2H[?12l[?25h[?25l
:[?12l[?25h/\t\tline
[?25l[31msearch hit BOTTOM, continuing at TOP[1;23r[m[1;1H[4L[1;24r[1;17Hline1[2;17Hline2[3;17Hline3[24;1H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[1;17H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexe ":norm! 07l\<C-V>jjIx\<Esc>"
[?25l[1;8Hx[2;8Hx[3;8Hx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" [24;13H[K[24;12H4 lines, 49 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block append when virtualedit=all
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! 012l\<C-v>jjAx\<Esc>"
[?25l[1;14Hx line1[2;14Hx line2[3;14Hx line3[1;10H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve= enc=latin1
[?25l[27m[23m[m[H[2J[1;8Hx x line1[2;8Hx x line2[3;8Hx x line3
aaa aaa
bbb bbb
ccc ccc
ddd ddd
<p>xaaa
<p>bbbb
<p>cccc
<p>dddd
yaaa
bbb
A23ab
4567ab
B23 ab
456ab7
axyzbcdefghijklm
axyzqqqq mno[8Cghijklm
axyzqqqqef mno[8Cghijklm
axyzqqqqefgmnoklm
abcdqqqqijklm[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
the [?25l
:[?12l[?25h" VU must uppercase a whole line
[?25l[23;4H[?12l[?25h[?25l[1;23r[23;1H
[?25l
:[?12l[?25h" same, when it's the last line in the buffer
[?25l[23;1H[?12l[?25h[?25l[?12l[?25h[?25l[1;23r[23;1H
[?25l
:[?12l[?25h" Uppercase two lines
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1Hblah di[22;8H[K[23;1Hdoh dut[24;1H[K[23;7H[?12l[?25h[?25l
[7mdoh du[mt[7m [?12l[?25h[?25l[22;1Hblah d[mi[7m [23;7Ht[22;7H[?12l[?25h[?25l[m
BLAH DI[22;8H[K[23;1HDOH DUT[23;8H[K[22;7H[?12l[?25h[23;7H[?25l[1;23r[23;1H
:[?12l[?25h" Uppercase part of two lines
[?25l[23;7H[?12l[?25h[?25l
[1m[34m~ [22;1H[?12l[?25h[?25l[m
333the yo[?12l[?25h[?25lut[?12l[?25h[?25l[m[22;10HUTUSSEUU END
333THE YOUTU[22;10H[?12l[?25h[21;7H[22;10H[?25l
:[?12l[?25h" visual replace using Enter or NL
[?25l[22;10H[?12l[?25h
[?25l[1;23r[1;1H[3M[1;24r[21;1H123456789
123456789
123456789[24;1H[K[23;9H[?12l[?25h[21;9H
12345[?25l[?12l[?25h[?25l[7m6[22;6H6[23;6H[?12l[?25h[?25l[m[21;6H[K[22;1H789[22;4H[K[23;6H[K[21;5H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1H789
12345
789
[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1H98765
98765
98765[?12l[?25h[21;5H
98[?25l[?12l[?25h[?25l[7m7
[m98[7m7
[m98[?12l[?25h[?25l[21;3H[34m^M[m65
98[34m^M[m65
98[34m^M[m65[21;3H[?12l[?25h
98
[?25l[1;23r[1;1H[3M[1;24r[21;1H123456789
123456789
123456789[?12l[?25h[21;9H
12345[?25l[?12l[?25h[?25l[7m6[22;6H6[23;6H[?12l[?25h[?25l[m[21;6H[K[22;1H789[22;4H[K[23;6H[K[21;5H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1H789
12345
789
[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1H98765
98765
98765[?12l[?25h[21;5H
98[?25l[?12l[?25h[?25l[7m7
[m98[7m7
[m98[?12l[?25h[?25l[21;3H[34m^@[m65
98[34m^@[m65
98[34m^@[m65[21;3H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test cursor position. When ve=block and Visual block mode and $gj
[?25l[21;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=block
[?25l[21;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! 2k\<C-V>$gj\<Esc>"
[?25l[20;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet cpos=getpos("'>")
[?25l[20;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='col:'.cpos[2].' off:'.cpos[3]
[?25l[1;23r[23;1H
[1;24r[23;1Hcol:4 off:0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" block_insert when replacing spaces in front of the block with tabs
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ts=8 sts=4 sw=4
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h4,7y
[?25l4 lines yanked[23;1H[?12l[?25h[?25l
4 more lines[24;13H[K[1;23r[23;1H
[1;24r[24;1H[K[24;1H4 more lines[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H#define BO_ALL 0x0001[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hexe ":norm! f0\<C-V>2jI\<tab>\<esc>"
[?25l[1;23r[1;1H[2M[1;24r[21;21H 0x0001
#define BO_BS[11C0x0002
#define BO_CRSR[9C0x0004[24;1H[K[21;24H[?12l[?25h[?25l
:[?12l[?25h/^the/,$w >> test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H31 lines, 322 characters appended[21;24H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test40.in" 63 lines, 1536 characters[1;1HTest for "*Cmd" autocommands
STARTTEST
:so small.vim
:/^start/,$w! Xxx[15C" write lines below to Xxx
:au BufReadCmd XtestA 0r Xxx|$del
:e XtestA[23C" will read text of Xxd instead
:au BufWriteCmd XtestA call append(line("$"), "write")
:w[30C" will append a line to the file
:r XtestA[23C" should not read anything
:[31C" now we have:
:[31C" 1 start of Xxx
:[31C" 2[13Ctest40
:[31C" 3 end of Xxx
:[31C" 4 write
:au FileReadCmd XtestB '[r Xxx
:2r XtestB[22C" will read Xxx below line 2 instead
:[31C" 1 start of Xxx
:[31C" 2[13Ctest40
:[31C" 3 start of Xxx
:[31C" 4[13Ctest40
:[31C" 5 end of Xxx
:[31C" 6 end of Xxx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for "*Cmd" autocommands[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 55 lines, 1455 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$w >>test.out[18C" append "end of Xxx" to test.out
:au BufReadCmd XtestE 0r test.out|$del
:sp XtestE[22C" split window with test.out
5Goasdf[34m^[^W^W[m:"
:au BufWriteCmd XtestE w! test.out
:wall[27C" will write other window to test.out
:[31C" 1 start of Xxx
:[31C" 2[13Ctest40
:[31C" 3 start of Xxx
:[31C" 4[13Ctest401
:[31C" 5 end of Xxx
:[31C" 6 asdf
:[31C" 7 end of Xxx
:[31C" 8 write
:[31C" 9[13Ctest401
:[31C" 10 end of Xxx
:[31C" 11 end of Xxx
:qa!
ENDTEST
start of Xxx[22;9Htest40
end of Xxx[19;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start/,$w! Xxx[34m^I^I[m" write lines below to Xxx
[?25l"Xxx" [24;7H[K[24;7H[New File] 3 lines, 32 characters written[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadCmd XtestA 0r Xxx|$del
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he XtestA[34m^I^I^I[m" will read text of Xxd instead
[?25l"Xxx" [24;7H[K[24;7H3 lines, 32 characters[1;1Hstart of Xxx[1;13H[K[2;1H test40[2;16H[K[3;1Hend of Xxx[3;33H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau BufWriteCmd XtestA call append(line("$"), "write")
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw[34m^I^I^I^I[m" will append a line to the file
[?25l[4;1Hwrite[4;6H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hr XtestA[34m^I^I^I[m" should not read anything
[?25l[1m[37m[41mE484: Can't open file XtestA[m[24;29H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" now we have:
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 1[34m^I[mstart of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 2[34m^I^I[mtest40
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 3[34m^I[mend of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 4[34m^I[mwrite
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileReadCmd XtestB '[r Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h2r XtestB[34m^I^I^I[m" will read Xxx below line 2 instead
[?25l"Xxx" [24;7H[K[24;7H3 lines, 32 characters[3;23r[3;1H[3L[1;24r[3;1Hstart of Xxx[4;9Htest40
end of Xxx[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[34m^I^I^I^I[m" 1[34m^I[mstart of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 2[34m^I^I[mtest40
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 3[34m^I[mstart of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 4[34m^I^I[mtest40
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 5[34m^I[mend of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 6[34m^I[mend of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 7[34m^I[mwrite
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileWriteCmd XtestC '[,']copy $
[?25l[3;1H[?12l[?25h[4;9H[?25ltest401[?12l[?25h[5;10H[?25l[24;1H[K[24;1H:[?12l[?25h4,5w XtestC[34m^I^I^I[m" will copy lines 4 and 5 to the end
[?25l[8;1H test401[8;16H[K[9;1Hend of Xxx[9;11H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hr XtestC[34m^I^I^I[m" should not read anything
[?25l[1m[37m[41mE484: Can't open file XtestC[m[24;29H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 1[34m^I[mstart of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 2[34m^I^I[mtest40
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 3[34m^I[mstart of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 4[34m^I^I[mtest401
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 5[34m^I[mend of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 6[34m^I[mend of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 7[34m^I[mwrite
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 8[34m^I^I[mtest401
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 9[34m^I[mend of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FILEAppendCmd XtestD '[,']w! test.out
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XtestD[34m^I^I^I[m" will write all lines to test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 9 lines, 91 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XtestD[34m^I^I^I[m" should not read anything
[?25l[1m[37m[41mE484: Can't open file XtestD[m[24;30H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w >>test.out[34m^I^I^I[m" append "end of Xxx" to test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadCmd XtestE 0r test.out|$del
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp XtestE[34m^I^I^I[m" split window with test.out
[?25l"test.out" [24;12H[K[24;12H10 lines, 102 characters[10;1Hend of Xxx[10;11H[K[12;1H[1m[7mXtestE [m[13;1Hend of Xxx[13;11H[K[14;1Hwrite[14;6H[K[15;1H test401[15;16H[K[16;1Hend of Xxx[16;11H[K[23;1H[7mXtestA [10;1H[?12l[?25h[5;1H[?25l[6;11r[m[6;1H[L[1;24r[6;1Hasdf[12;8H[1m[7m[+][m[24;1H[K[6;4H[?12l[?25h[12;1H[7mXtestE [+][m[1m[7m [m[7m [m[23;1H[1m[7mXtestA [16;1H[?25l[24;1H[m:[?12l[?25h"
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufWriteCmd XtestE w! test.out
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwall[34m^I^I^I^I[m" will write other window to test.out
[?25l"test.out" [24;12H[K[24;12H11 lines, 107 characters written[12;8H[7m [16;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 1[34m^I[mstart of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 2[34m^I^I[mtest40
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 3[34m^I[mstart of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 4[34m^I^I[mtest401
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 5[34m^I[mend of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 6[34m^I[masdf
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 7[34m^I[mend of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 8[34m^I[mwrite
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 9[34m^I^I[mtest401
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 10[34m^I[mend of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 11[34m^I[mend of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test41.in" 24 lines, 421 characters[1;1HTest 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[34m^[[mkY3000p2GY3000p
:w! Xtest
:%d
:e! Xtest
:.w! test.out
3003G:.w >>test.out
6005G:.w >>test.out
:qa!
ENDTEST[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for writing and reading a file of over 100 Kbyte[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 13 lines, 196 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[10;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%d
[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25lThis is the start
This is the leader[2;19H[K[3;1HThis is the middle[3;19H[K[4;1HThis is the trailer[4;20H[K[5;1HThis is the end[5;16H[K[5;15H[?12l[?25h[4;15H[?25l[24;1H3000 more lines[24;16H[K[5;13Htrailer
This is the trailer[6;20H[K[7;1HThis is the trailer[7;20H[K[8;1HThis is the trailer[8;20H[K[9;1HThis is the trailer[9;20H[K[10;1HThis is the trailer[10;20H[K[11;1HThis is the trailer[11;20H[K[12;1HThis is the trailer[12;20H[K[13;1HThis is the trailer[13;20H[K[14;1HThis is the trailer[14;20H[K[15;1HThis is the trailer[15;20H[K[16;1HThis is the trailer[16;20H[K[17;1HThis is the trailer[17;20H[K[18;1HThis is the trailer[18;20H[K[19;1HThis is the trailer[19;20H[K[20;1HThis is the trailer[20;20H[K[21;1HThis is the trailer[21;20H[K[22;1HThis is the trailer[22;20H[K[23;1HThis is the trailer[23;20H[K[5;1H[?12l[?25h[2;1H[?25l[3;13Hleader[4;13Hleader[4;19H[K[5;13Hleader[5;19H[K[6;13Hleader[6;19H[K[7;13Hleader[7;19H[K[8;13Hleader[8;19H[K[9;13Hleader[9;19H[K[10;13Hleader[10;19H[K[11;13Hleader[11;19H[K[12;13Hleader[12;19H[K[13;13Hleader[13;19H[K[14;13Hleader[14;19H[K[15;13Hleader[15;19H[K[16;13Hleader[16;19H[K[17;13Hleader[17;19H[K[18;13Hleader[18;19H[K[19;13Hleader[19;19H[K[20;13Hleader[20;19H[K[21;13Hleader[21;19H[K[22;13Hleader[22;19H[K[23;13Hleader[23;19H[K[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest
[?25l"Xtest" [24;9H[K[24;9H[New File] 6005 lines, 117092 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%d
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest
[?25l"Xtest" [24;9H[K[24;9H6005 lines, 117092 characters[1;1HThis is the start
This is the leader[2;19H[K[3;1HThis is the leader[3;19H[K[4;1HThis is the leader[4;19H[K[5;1HThis is the leader[5;19H[K[6;1HThis is the leader[6;19H[K[7;1HThis is the leader[7;19H[K[8;1HThis is the leader[8;19H[K[9;1HThis is the leader[9;19H[K[10;1HThis is the leader[10;19H[K[11;1HThis is the leader[11;19H[K[12;1HThis is the leader[12;19H[K[13;1HThis is the leader[13;19H[K[14;1HThis is the leader[14;19H[K[15;1HThis is the leader[15;19H[K[16;1HThis is the leader[16;19H[K[17;1HThis is the leader[17;19H[K[18;1HThis is the leader[18;19H[K[19;1HThis is the leader[19;19H[K[20;1HThis is the leader[20;19H[K[21;1HThis is the leader[21;19H[K[22;1HThis is the leader[22;19H[K[23;1HThis is the leader[23;19H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 18 characters written[1;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HThis 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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 19 characters appended[12;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HThis 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" [24;12H[K[24;12H1 line, 16 characters appended[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test42.in" 130 lines, 2368 characters[1;1HTest 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[11C" 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[22C" Ignore change from setting 'ff'
o[34m^V^@^[[m:set noeol
:w
:set ffs& nobinary[14C" Allow default test42.in format
:e #
:set ff=unix[20C" Format for files to write
:/^ucs-4$/+1w! Xtest5
:/^ucs-4le$/+1w! Xtest6[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for writing and reading a file starting with a BOM[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 111 lines, 2116 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:e! test.out
:$r Xtest0x
:$r Xtest1x
:$r Xtest2x
:$r Xtest3x
:$r Xtest4x
:$r Xtest5x
:$r Xtest6x
:set nobin ff&[15C" Write the file in default format
:w! test.out
:qa!
ENDTEST
latin-1
utf-8
utf-8
utf-8-err
utf-8[34m~@[merr
ucs-2
ucs-2le
[?25l[24;1H[m:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1H:e! test.out
:$r Xtest0x
:$r Xtest1x
:$r Xtest2x
:$r Xtest3x
:$r Xtest4x
:$r Xtest5x
:$r Xtest6x
:set nobin ff&[15C" Write the file in default format
:w! test.out
:qa!
ENDTEST
latin-1
[34m<fe><fe>[mlatin-1
utf-8
[34m<feff>[mutf-8
utf-8-err
[34m<feff>[mutf-8[34m<80>[merr
ucs-2
[34m<fe><ff>^@[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[m
ucs-2le
[34m<ff><fe>[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[13;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hset fileencodings=ucs-bom,latin-1
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff=unix ffs=unix " This changes the file for DOS and MAC
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Write the test files
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^latin-1$/+1w! Xtest0
[?25l"Xtest0" [24;10H[K[24;10H[New File] 1 line, 10 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^utf-8$/+1w! Xtest1
[?25l"Xtest1" [24;10H[K[24;10H[New File] 1 line, 9 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^utf-8-err$/+1w! Xtest2
[?25l"Xtest2" [24;10H[K[24;10H[New File] 1 line, 13 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^ucs-2$/+1w! Xtest3
[?25l"Xtest3" [24;10H[K[24;10H[New File] 1 line, 14 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^ucs-2le$/+1w! Xtest4
[?25l"Xtest4" [24;10H[K[24;10H[New File] 1 line, 17 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Need to add a NUL byte after the NL byte
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest4 " Ignore change from setting 'ff'
[?25l"Xtest4" [24;10H[K[24;10H1 line, 17 characters[1;1H[34m<ff><fe>[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[m
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h
[?25l[m[34m^@[m[2;3H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noeol
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xtest4" [Incomplete last line] 2 lines, 18 characters written[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ffs& nobinary " Allow default test42.in format
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he #
[?25l"test42.in" [converted] 130 lines, 2385 characters[1;1H:$r Xtest0x[1;12H[K[2;1H:$r Xtest1x
:$r Xtest2x[3;12H[K[4;1H:$r Xtest3x[4;12H[K[5;1H:$r Xtest4x[5;12H[K[6;1H:$r Xtest5x[6;12H[K[7;1H:$r Xtest6x[7;12H[K[8;1H:set nobin ff& " Write the file in default format[8;64H[K[9;1H:w! test.out[9;13H[K[10;1H:qa![10;5H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1Hlatin-1[13;8H[K[14;1Hþ[14;2Hþ[14;3Hlatin-1[14;10H[K[15;1Hutf-8[15;6H[K[16;1H[16;4Hutf-8[16;9H[K[17;1Hutf-8-err[17;10H[K[18;1H[18;4Hutf-8[34m<80>[merr[18;16H[K[19;1Hucs-2[19;6H[K[20;1Hþ[20;2Hÿ[34m^@[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[m[20;20H[K[21;1Hucs-2le[21;8H[K[22;1Hÿþ[22;3Hu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[m[22;24H[K[23;1Hucs-4[23;6H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff=unix " Format for files to write
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^ucs-4$/+1w! Xtest5
[?25l"Xtest5" [24;10H[K[24;10H[converted][New File] 1 line, 30 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^ucs-4le$/+1w! Xtest6
[?25l"Xtest6" [24;10H[K[24;10H[converted][New File] 1 line, 35 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Need to add three NUL bytes after the NL byte
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest6 " ! for when setting 'ff' is a change
[?25l"Xtest6" [24;10H[K[24;10H1 line, 33 characters[1;1H[34m<ff><fe>^@^@[mu[34m^@^@^@[mc[34m^@^@^@[ms[34m^@^@^@[m-[34m^@^@^@[m4[34m^@^@^@[ml[34m^@^@^@[me[34m^@^@^@[m
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h
~ [?25l[m
[34m^@^@^@[m[2;7H[K[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noeol
[?25l[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xtest6" [Incomplete last line] 2 lines, 36 characters written[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nobin
[?25l[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he #
[?25l"test42.in" [converted] 130 lines, 2385 characters[1;1H:$r Xtest0x[1;12H[K[2;1H:$r Xtest1x
:$r Xtest2x[3;12H[K[4;1H:$r Xtest3x[4;12H[K[5;1H:$r Xtest4x[5;12H[K[6;1H:$r Xtest5x[6;12H[K[7;1H:$r Xtest6x[7;12H[K[8;1H:set nobin ff& " Write the file in default format[8;64H[K[9;1H:w! test.out[9;13H[K[10;1H:qa![10;5H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1Hlatin-1[13;8H[K[14;1Hþ[14;2Hþ[14;3Hlatin-1[14;10H[K[15;1Hutf-8[15;6H[K[16;1H[16;4Hutf-8[16;9H[K[17;1Hutf-8-err[17;10H[K[18;1H[18;4Hutf-8[34m<80>[merr[18;16H[K[19;1Hucs-2[19;6H[K[20;1Hþ[20;2Hÿ[34m^@[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[m[20;20H[K[21;1Hucs-2le[21;8H[K[22;1Hÿþ[22;3Hu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[m[22;24H[K[23;1Hucs-4[23;6H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check that editing a latin-1 file doesn't see a BOM
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest0
[?25l"Xtest0" [24;10H[K[24;10H[converted] 1 line, 12 characters[1;1Hþ[1;2Hþ[1;3Hlatin-1[1;10H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir! >test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=latin1
nobomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hþ[1;2Hþ[1;3Hlatin-1
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 12 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bomb fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest0x
[?25l"Xtest0x" [24;11H[K[24;11H[converted][New File] 1 line, 12 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check utf-8
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest1
[?25l"Xtest1" [24;10H[K[24;10H1 line, 9 characters[1;1Hutf-8[1;6H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=utf-8
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hutf-8
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 6 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=utf-8
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest1x
[?25l"Xtest1x" [24;11H[K[24;11H[New File] 1 line, 9 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check utf-8 with an error (will fall back to latin-1)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest2
[?25l"Xtest2" [24;10H[K[24;10H[converted] 1 line, 17 characters[1;1H[1;4Hutf-8[34m<80>[merr
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=latin1
nobomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1H[1;4Hutf-8[34m<80>[merr
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 17 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=utf-8
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest2x
[?25l"Xtest2x" [24;11H[K[24;11H[New File] 1 line, 17 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check ucs-2
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest3
[?25l"Xtest3" [24;10H[K[24;10H[converted] 1 line, 8 characters[1;1Hucs-2[1;6H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=utf-16
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hucs-2
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 6 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=ucs-2
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest3x
[?25l"Xtest3x" [24;11H[K[24;11H[converted][New File] 1 line, 8 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check ucs-2le
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest4
[?25l"Xtest4" [24;10H[K[24;10H[converted] 1 line, 10 characters[1;6Hle
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=utf-16le
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hucs-2le
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 8 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=ucs-2le
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest4x
[?25l"Xtest4x" [24;11H[K[24;11H[converted][New File] 1 line, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check ucs-4
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest5
[?25l"Xtest5" [24;10H[K[24;10H[converted] 1 line, 10 characters[1;5H4[1;6H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=ucs-4
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hucs-4
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 6 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=ucs-4
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest5x
[?25l"Xtest5x" [24;11H[K[24;11H[converted][New File] 1 line, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check ucs-4le
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest6
[?25l"Xtest6" [24;10H[K[24;10H[converted] 1 line, 12 characters[1;6Hle
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=ucs-4le
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hucs-4le
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 8 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=ucs-4le
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest6x
[?25l"Xtest6x" [24;11H[K[24;11H[converted][New File] 1 line, 12 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check the files written with BOM
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H35 lines, 275 characters[1;1H[K[2;1H[K[3;1H fileencoding=latin1[3;22H[K[4;1Hnobomb[4;7H[K[5;1H[34m<fe><fe>[mlatin-1[5;16H[K[6;1H[K[7;1H[K[8;1H fileencoding=utf-8[8;21H[K[9;1H bomb[9;7H[K[10;1Hutf-8[10;6H[K[11;1H[K[12;1H[K[13;1H fileencoding=latin1[13;22H[K[14;1Hnobomb[14;7H[K[15;1H[34m<feff>[mutf-8[34m<80>[merr[15;19H[K[16;1H[K[17;1H[K[18;1H fileencoding=utf-16[18;22H[K[19;1H bomb[19;7H[K[20;1Hucs-2[20;6H[K[21;1H[K[22;1H[K[23;1H fileencoding=utf-16le[23;24H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r Xtest0x
[?25l"Xtest0x" [24;11H[K[24;11H1 line, 10 characters[1;23r[1;1H[13M[1;24r[11;3Hbomb
ucs-2le[15;3Hfileencoding=ucs-4
bomb
ucs-4[20;3Hfileencoding=ucs-4le
bomb
ucs-4le
[34m<fe><fe>[mlatin-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest1x
[?25l"Xtest1x" [24;11H[K[24;11H1 line, 9 characters[1;23r[23;1H
[1;24r[23;1H[34m<feff>[mutf-8[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest2x
[?25l"Xtest2x" [24;11H[K[24;11H1 line, 17 characters[1;23r[23;1H
[1;24r[23;1H[23;4Hutf-8[34m<80>[merr[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest3x
[?25l"Xtest3x" [24;11H[K[24;11H1 line, 14 characters[1;23r[23;1H
[1;24r[23;1H[34m<fe><ff>^@[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest4x
[?25l"Xtest4x" [24;11H[K[24;11H[Incomplete last line] 2 lines, 18 characters[1;23r[23;1H
[1;24r[23;1H[34m<ff><fe>[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest5x
[?25l"Xtest5x" [24;11H[K[24;11H1 line, 28 characters[1;23r[1;1H[2M[1;24r[22;1H[34m^@
^@^@<fe><ff>^@^@^@[mu[34m^@^@^@[mc[34m^@^@^@[ms[34m^@^@^@[m-[34m^@^@^@[m4[34m^@^@^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest6x
[?25l"Xtest6x" [24;11H[K[24;11H[Incomplete last line] 2 lines, 36 characters[1;23r[23;1H
[1;24r[23;1H[34m<ff><fe>^@^@[mu[34m^@^@^@[mc[34m^@^@^@[ms[34m^@^@^@[m-[34m^@^@^@[m4[34m^@^@^@[ml[34m^@^@^@[me[34m^@^@^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset nobin ff& " Write the file in default format
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H44 lines, 409 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test43.in" 34 lines, 473 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with various magic settings.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 19 lines, 268 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^1
[?25l[1;23r[23;1H
[1;24r[23;1H1 a aa abb abbccc[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25ha*b\{2}c\+/e
[?25l[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\Md\*e\{2}f\+/e
[?25l[1;23r[23;1H
[1;24r[23;1H2 d dd dee deefff[24;1H[K[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l
:[?12l[?25hset nomagic
[?25l[23;16H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hg\*h\{2}i\+/e
[?25l[1;23r[23;1H
[1;24r[23;1H3 g gg ghh ghhiii[24;1H[K[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l
/[?12l[?25h\mj*k\{2}l\+/e
[?25l[1;23r[23;1H
[1;24r[23;1H4 j jj jkk jkklll[24;1H[K[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l
/[?12l[?25h\vm*n{2}o+/e
[?25l[1;23r[23;1H
[1;24r[23;1H5 m mm mnn mnnooo[24;1H[K[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l
/[?12l[?25h\V^aa$
[?25l[1;23r[23;1H
[1;24r[23;1H6 x ^aa$ x[24;1H[K[23;5H[?12l[?25h[?25laa$ x[23;10H[K[23;5H[?12l[?25h[?25l
:[?12l[?25hset magic
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\v(a)(b)\2\1\1/e
[?25l[1;23r[23;1H
[1;24r[23;1H7 (a)(b) abbaa[24;1H[K[23;14H[?12l[?25h[?25l[23;14H[K[23;13H[?12l[?25h[?25l
/[?12l[?25h\V[ab]\(\[xy]\)\1
[?25l[1;23r[23;1H
[1;24r[23;1H8 axx [ab]xx[24;1H[K[23;7H[?12l[?25h[?25lab]x[23;12H[K[23;7H[?12l[?25h[?25l
:[?12l[?25h$
[?25l[1;23r[1;1H[2M[1;24r[22;1H9 foobar[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset undolevels=100
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H?[?12l[?25hbar?
[?25l[24;5H[K[24;1H[22;6H[K[23;1H[1m[34m~ [22;5H[?12l[?25h[?25l[m
1 more line; before #2 0 seconds ago[22;6Hbar[23;1H[K[22;6H[?12l[?25h[?25l
9 foo
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?^1?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 11L, 137C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test44.in" 81 lines, 1492 characters[1;1HTests 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
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with multi-byte encoding and various magic settings.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
: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
: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
:[?12l[?25h" Test \%u, [\u] and friends
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" c
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%u20ac
[?25l[1;23r[23;1H
:[?12l[?25h" d
[?25l[23;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\u4f7f\u5929]\+
[?25l[1;23r[23;1H
:[?12l[?25h" e
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%U12345678
[?25l[1;23r[23;1H
:[?12l[?25h" f
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\U1234abcd\u1234\uabcd]
[?25l[1;23r[23;1H
:[?12l[?25h" g
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%d21879b
[?25l[1;23r[23;1H
:[?12l[?25h" j Test backwards search from a multi-byte char
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hx
[?25l[1;23r[23;1H
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" l Test what 7.3.192 fixed
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^l
[?25l[1;23r[23;1H
2 d dd dee deeff
3 g gg ghh ghhii
4 j jj jkk jkkll
5 m mm mnn mnnoo
g abb
[7mtest.out [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =['dog(a', 'cat(']
[?25l[2;1Hdog(a[2;6H[K[3;1Hcat([3;5H[K[12;11H[1m[7m[+][3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25h(/e+
[?25l/(/e+1
[3;4H[?12l[?25h[?25l[24;1H[31msearch hit BOTTOM, continuing at TOP[2;5H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbd!
[?25l[1;1H1 a aa abb abbcc
2 d dd dee deeff
3 g gg ghh ghhii
e y
[1;24r[24;1H[K[23;1H[?12l[?25h[?25la[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hcat(
[?12l[?25h[?25l
:[?12l[?25hw!
[?25l"test.out" 25L, 271C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test45.in" 90 lines, 1953 characters[1;1HTests 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{{ [34m^[[mr{jj:call append("$", foldlevel("."))
kYpj:call append("$", foldlevel("."))[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for folding. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 73 lines, 1820 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:new
iTest fdm=indent and :move bug END
line2[4;9HTest fdm=indent START[5;9Hline3[6;9Hline4[34m^[[m
: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" We also need the +syntax feature here.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has("syntax")
[?25l
: [?12l[?25h e! test.ok
[?25l: [?12l[?25h w! test.out
[?25l: [?12l[?25h qa!
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:new
iTest fdm=indent and :move bug END
line2[4;9HTest fdm=indent START[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" basic test if a fold can be created, opened, moving to the end and closed
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^1
[?25l[14;1H[?12l[?25h[?25l[34m[47m+-- 3 lines: 1 aa--------------------------------------------------------------[m[15;1H4 dd {{{
5 ee {{{ }}}
6 ff }}}
7 gg[18;6H[K[19;1H8 hh[19;6H[K[20;1H9 ii
a jj
b kk
last[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", "manual " . getline(foldclosed(".")))
[?25l[14;1H[?12l[?25h[?25l1 aa[14;5H[K[15;1H2 bb[15;6H[K[16;1H3 cc[16;6H[K[17;1H4 dd {{{
5 ee {{{ }}}
6 ff }}}
7 gg
8 hh
9 ii
a jj[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldclosed("."))
[?25l[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", getline("."))
[?25l[16;1H[?12l[?25h[?25l[14;1H[34m[47m+-- 3 lines: 1 aa--------------------------------------------------------------[m[15;1H4 dd {{{
5 ee {{{ }}}
6 ff }}}
7 gg[18;6H[K[19;1H8 hh[19;6H[K[20;1H9 ii
a jj
b kk
last[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", getline(foldclosed(".")))
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test folding with markers.
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fdm=marker fdl=1 fdc=3
[?25l[1;1H[34m[47m [m:new
[34m[47m [miTest fdm=indent and :move bug END
[34m[47m [mline2
[34m[47m [m Test fdm=indent START
[34m[47m [m line3
[34m[47m [m line4[34m^[[m
[34m[47m [m:set fdm=indent
[34m[47m [m:1m1
[34m[47m [m2jzc:m0
[34m[47m [m:%w >> test.out
[34m[47m [m:qa!
[34m[47m [mENDTEST
[34m[47m
[m1 aa[14;8H[K[15;1H[34m[47m [m2 bb[15;8H[K[16;1H[34m[47m [m3 cc[16;8H[K[17;1H[34m[47m- [m4 dd {{{
[34m[47m|- [m5 ee {{{ }}}
[34m[47m| [m6 ff }}}
[34m[47m [m7 gg
[34m[47m [m8 hh
[34m[47m [m9 ii
[34m[47m [ma jj[16;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^5
[?25l[18;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", "marker " . foldlevel("."))
[?25l[18;4H[?12l[?25h[17;4H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[17;4H[?12l[?25h[18;4H[?25l[20;23r[20;1H[L[1;24r[19;4H{{ [19;7H[K[20;1H[34m[47m| [m6 ff }}}[24;1H[K[19;6H[?12l[?25h[?25l[19;2H[34m[47m-[m[3C{[20;2H[34m[47m|
|
|
|[19;6H[?12l[?25h[20;6H[21;6H[?25l
[m:[?12l[?25hcall append("$", foldlevel("."))
[?25l[21;6H[?12l[?25h[20;6H[?25l[21;4H6 ff }}}
[34m[47m [m[2C7 gg
[34m[47m [m[2C8 hh[21;4H[?12l[?25h[22;4H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[22;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test folding with indent
[?25l[22;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fdm=indent sw=2
[?25l[4;1H[34m[47m-+[m[1C[34m[47m+--- 3 lines: Test fdm=indent START-----------------------------------------[m[5;4H:set fdm=indent[6;4H:1m1[6;12H[K[7;4H2jzc:m0[7;11H[K[8;5H%w >> test.out[9;4H:qa![9;8H[K[10;4HENDTEST[10;11H[K[11;4H[K[12;4H1 aa[12;8H[K[13;4H2 bb[14;4H3 cc[15;4H4 dd {{{[16;4H5 ee {{{ }}}
[34m[47m [m[2C{{{[17;7H[K[18;1H[34m[47m [m[1C6 ff }}}[18;13H[K[19;1H[34m[47m [m[1C6 ff }}}
[34m[47m [m[1C7 gg[20;9H[K[21;1H[34m[47m [m[2C8 hh[21;9H[K[22;4H9 ii[23;4Ha jj[20;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^2 b
[?25l[31msearch hit BOTTOM, continuing at TOP[13;4H[?12l[?25h[?25l[m
[34m[47m-[m[2C 2 bb[?12l[?25h[14;5H[?25l
[34m[47m|-[m[1C 3 cc[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", "indent " . foldlevel("."))
[?25l[14;7H[?12l[?25h[13;7H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[13;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test syntax folding
[?25l[13;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fdm=syntax fdl=0
[?25l[4;1H[34m[47m [m[1C Test fdm=indent START[4;33H[K[5;4H line3[5;17H[K[6;4H line4[34m^[[m[7;4H:set fdm=indent[8;5H1m1[8;8H[K[9;4H2jzc:m0[10;4H:%w >> test.out[11;4H:qa![12;4HENDTEST
[34m[47m [m[13;6H[K[14;1H[34m[47m [m[1C1 aa[14;8H[K[15;4H 2 bb[15;10H[K[16;4H 3 cc[16;13H[K[17;4H4 dd {{{[18;4H5 ee {{{ }}}[19;4H{{{[19;7H[K[20;4H6 ff }}}[21;4H6 ff }}}[22;4H7 gg[23;4H8 hh[15;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn region Hup start="dd" end="ii" fold contains=Fd1,Fd2,Fd3
[?25l[17;1H[34m[47m+[m[2C[34m[47m+-- 8 lines: 4 dd ----------------------------------------------------------[m[18;4Ha jj[18;9H[K[19;4Hb kk[20;4Hlast[20;9H[K[21;4Hmanual 1 aa[22;4H-1[22;6H[K[23;4H3 cc[15;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn region Fd1 start="ee" end="ff" fold contained
[?25l[15;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn region Fd2 start="gg" end="hh" fold contained
[?25l[15;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn region Fd3 start="commentstart" end="commentend" fold contained
[?25l[15;7H[?12l[?25h[?25l[1;23r[1;1H[7M[1;24r[17;1H[34m[47m [m1 aa
[34m[47m [mmarker 2
[34m[47m [m1
[34m[47m [m1
[34m[47m [m0
[34m[47m [mindent 2
[34m[47m [m1[24;1H[K[23;4H[?12l[?25h[10;4H[?25l[24;1H:[?12l[?25hcall append("$", "folding " . getline("."))
[?25l[10;4H[?12l[?25h[9;4H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", getline("."))
[?25l[9;4H[?12l[?25h[10;4H[?25l
[34m[47m--[m[1C4 dd {{{commentstart [10;26H[K[11;1H[34m[47m||[m[1C5 ee {{{ }}}
[34m[47m||[m[1C{{{[12;7H[K[13;1H[34m[47m||[m[1C6 ff }}}
[34m[47m||[m[1C6 ff }}}[14;13H[K[15;1H[34m[47m||[m[1C7 gg
[34m[47m||[m[1C8 hh
[34m[47m||[m[1C9 ii
[34m[47m||[m[1Ca jj[18;8H[K[19;1H[34m[47m||[m[1Cb kk
[34m[47m||[m[1Clast
[34m[47m||[m[1Cmanual 1 aa
[34m[47m||[m[1C-1[22;6H[K[23;1H[34m[47m||[m[1C3 cc[10;25H[?12l[?25h[?25l[10;2H[34m[47m [m[23Ccommentend[11;2H[34m[47m-[14;2H
|-
|
[10;35H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fdl=1
[?25l[11;2H[34m[47m+[m[1C[34m[47m+--- 3 lines: 5 ee ---------------------------------------------------------[m[12;2H[34m[47m [m[1C6 ff }}}[13;2H[34m[47m+[m[1C[34m[47m+--- 2 lines: 7 gg----------------------------------------------------------[m[14;4H9 ii[14;9H[K[15;1H[34m[47m [m[1Ca jj
[34m[47m [m[1Cb kk
[34m[47m [m[2Clast[18;4Hmanual 1 aa[19;4H-1[19;6H[K[20;4H3 cc[21;4H1 aa[21;8H[K[22;4Hmarker 2[23;4H1[23;6H[K[10;35H[?12l[?25h[13;4H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", getline("."))
[?25l[13;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fdl=0
[?25l[10;1H[34m[47m+[m[2C[34m[47m+-- 8 lines: 4 dd commentstart commentend----------------------------------[m[11;1H[34m[47m [m[1Ca jj[11;8H[K[12;1H[34m[47m [m[2Cb kk[12;9H[K[13;1H[34m[47m [m[1Clast[13;8H[K[14;1H[34m[47m [m[2Cmanual 1 aa[15;4H-1[15;6H[K[16;4H3 cc[17;4H1 aa[18;6Hrker 2[18;13H[K[19;4H1[19;5H[K[20;4H1[20;6H[K[21;4H0[21;6H[K[22;4Hindent[10;4H[?12l[?25h[?25l
[34m[47m-[m[2C4 dd {{{commentstart commentend[10;36H[K[11;1H[34m[47m|-[m[1C5 ee {{{ }}}
[34m[47m||[m[1C{{{[12;7H[K[13;1H[34m[47m||[m[1C6 ff }}}
[34m[47m|[m[2C6 ff }}}[14;13H[K[15;1H[34m[47m|-[m[1C7 gg
[34m[47m||[m[1C8 hh
[34m[47m|[m[2C9 ii[18;4Ha jj[18;8H[K[19;4Hb kk[20;4Hlast[21;4Hmanual 1 aa[22;4H-1[22;6H[K[23;4H3 cc[15;7H[?12l[?25h[27m[23m[m[H[2J[?25l[1;1H[34m[47m [m:1m1
[34m[47m [m2jzc:m0
[34m[47m [m:%w >> test.out
[34m[47m [m:qa!
[34m[47m [mENDTEST
[34m[47m
[m1 aa
[34m[47m [m 2 bb
[34m[47m [m 3 cc
[34m[47m- [m4 dd {{{commentstart commentend
[34m[47m|- [m5 ee {{{ }}}
[34m[47m|| [m{{{
[34m[47m|| [m6 ff }}}
[34m[47m| [m6 ff }}}
[34m[47m|- [m7 gg
[34m[47m|| [m8 hh
[34m[47m| [m9 ii
[34m[47m [ma jj
[34m[47m [mb kk
[34m[47m [mlast
[34m[47m [mmanual 1 aa
[34m[47m [m-1
[34m[47m [m3 cc[15;7H[?12l[?25h[16;4H[?25l[24;1H:[?12l[?25hcall append("$", getline("."))
[?25l[16;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test expression folding
[?25l[16;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[12L[?25l[1;1H[34m[47m [m:1m1
[34m[47m [m2jzc:m0
[34m[47m [m:%w >> test.out
[34m[47m [m:qa!
[34m[47m [mENDTEST
[34m[47m
[m1 aa
[34m[47m [m 2 bb
[34m[47m [m 3 cc
[34m[47m- [m4 dd {{{commentstart commentend
[34m[47m|- [m5 ee {{{ }}}
[34m[47m|| [m{{{[24;1H[K[16;4H[?12l[?25h[?25l[24;1H:[?12l[?25hset fdm=expr fde=Flvl()
[?25l[8;1H[34m[47m+[m[2C[34m[47m+-- 11 lines: 2 bb-----------------------------------------------------------[m[9;4Hb kk[9;8H[K[10;1H[34m[47m [m[2Clast[10;9H[K[11;1H[34m[47m [m[1Cmanual 1 aa[11;15H[K[12;1H[34m[47m [m[1C-1[12;6H[K[13;1H[34m[47m [m[1C3 cc[13;9H[K[14;1H[34m[47m [m[2C1 aa[14;9H[K[15;1H[34m[47m [m[1Cmarker 2
[34m[47m [m[1C1[16;6H[K[17;1H[34m[47m [m[2C1[17;6H[K[18;4H0[18;6H[K[19;4Hindent 2[20;4H1[20;5H[K[21;1H[34m[47m+[m[2C[34m[47m+-- 4 lines: folding 9 ii---------------------------------------------------[m[22;4H[1m[34m~ [23;4H~ [8;4H[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25hbb$
[?25l[31msearch hit BOTTOM, continuing at TOP[m[8;1H[34m[47m--[m[1C 2 bb[8;10H[K[9;1H[34m[47m||[m[1C 3 cc
[34m[47m||[m[1C4 dd {{{commentstart commentend
[34m[47m||[m[1C5 ee {{{ }}}
[34m[47m||[m[1C{{{
[34m[47m||[m[1C6 ff }}}
[34m[47m||[m[1C6 ff }}}
[34m[47m||[m[1C7 gg[15;8H[K[16;1H[34m[47m|[m[2C8 hh
[34m[47m|+[m[1C[34m[47m+--- 2 lines: 9 ii----------------------------------------------------------[m[18;4Hb kk[19;4Hlast[19;8H[K[20;4Hmanual 1 aa
[34m[47m [m[2C-1[21;6H[K[22;4H3 cc[22;8H[K[23;4H1 aa[23;8H[K[8;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", "expr " . foldlevel("."))
[?25l[8;8H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hhh$
[?25l[16;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[16;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hii$
[?25l[17;2H[34m[47m-[m[1C9 ii[17;8H[K[18;1H[34m[47m||[m[1Ca jj[19;4Hb kk[20;4Hlast[20;8H[K[21;4Hmanual 1 aa[22;4H-1[22;6H[K[23;4H3 cc[17;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[17;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hkk$
[?25l[19;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[19;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^last/+1,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 18 lines, 96 characters written[19;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfun Flvl
[?25l[19;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;4H[K[8;1H[34m[47m
[m[2;4H[1m[34m~ [3;4H~ [4;4H~ [5;4H~ [6;4H~ [7;4H~ [8;4H~ [9;4H~ [10;4H~ [11;4H~ [m[12;1H[1m[7m[No Name] [m[13;4H5 ee {{{ }}}[14;4H{{{[14;7H[K[15;4H6 ff }}}[16;2H[34m[47m|[m[1C6 ff }}}[17;2H[34m[47m|[m[1C7 gg[18;2H[34m[47m [m[1C8 hh
[34m[47m|-[m[1C9 ii
[34m[47m||[m[1Ca jj[21;4Hb kk[21;8H[K[22;4Hlast
[7mtest45.in [+] [1;4H[?12l[?25h[?25l[mTest fdm=indent and :move bug END[2;4Hline2[2;9H[K[3;4H Test fdm=indent START[3;33H[K[4;4H line3[4;17H[K[5;4H line4[5;17H[K[12;11H[1m[7m[+][5;16H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fdm=indent
[?25l[3;1H[34m[47m+[m[2C[34m[47m+-- 3 lines: Test fdm=indent START------------------------------------------[m[4;4H[1m[34m~ [5;4H~ [3;4H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h1m1
[?25l[1;4H[?12l[?25h[3;4H[?25l[24;1H[K[24;1H:[?12l[?25hm0
[?25l3 lines moved[1;1H[34m[47m+[m[2C[34m[47m+-- 3 lines: Test fdm=indent START------------------------------------------[m[2;4HTest fdm=indent and :move bug END
[34m[47m [m[2Cline2[3;9H[K[1;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%w >> test.out
[?25l"test.out" [24;12H[K[24;12H5 lines, 77 characters appended[12;1H[1m[7mtest.out [+]] [1;4H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test48.in" 83 lines, 1658 characters[1;1HThis 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[34m^N^[[m
:"
:" Using "C" then then <CR> moves the last remaining character to the next
:" line. (Mary Ellen Foster)
j^/are
C[34m^M[mare belong to vim[34m^[[m
:"
:" When past the end of a line that ends in a single character "b" skips
:" that word.
^$15lbC7[34m^[[m
:"
:" Make sure 'i' works[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HThis is a test of 'virtualedit'.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 61 lines, 1442 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:set display=
:"
:" Test for ^Y/^E due to bad w_virtcol value, reported by
:" Roy <royl@netropolis.net>.
^O[34m^[[m3li[34m^E^[[m4li[34m^E^[[m4li[34m^E[m <-- should show the name of a noted text editor[34m^[[m
^o[34m^[[m4li[34m^Y^[[m4li[34m^Y^[[m4li[34m^Y[m <-- and its version number[34m^[[m-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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noswf
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=all
[?25l[13;1H[?12l[?25h[12;1H[?25l[24;1H65 fewer lines[1;23r[1;1H[12M[1;24r[12;1Hthis is a test
"r"
"r"
a[34m^V[mb[34m^M[msd
abcv6efi.him0kl
[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[24;1H65 fewer lines[1;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Insert "keyword keyw", ESC, C CTRL-N, shows "keyword ykeyword".
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Repeating CTRL-N fixes it. (Mary Ellen Foster)
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hw
[?25l[2;12H[?12l[?25h[?25l$[24;1H[32mScanning tags.[m
The only match[2;16H[24;1H[K[2;12Hword[?12l[?25h[3;15H[?25l[24;1H:[?12l[?25h"
[?25l[3;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Using "C" then then <CR> moves the last remaining character to the next
[?25l[3;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" line. (Mary Ellen Foster)
[?25l[3;15H[?12l[?25h[4;15H
[?25l[24;1H[K[24;1H/[?12l[?25hare
[?25l[31msearch hit BOTTOM, continuing at TOP[3;15H[?12l[?25h[?25l[m[15C$[3;15H[K[4;1Hare belong to vim
1 2 3 4 5 6
'i
'C
'a
'A
'D'[10;4H[K[13;1Hthis is a test
"r"
a[34m^V[mb[34m^M[msd[16;9H[K[17;1Habcv6efi.him0kl[19;1H[K[4;17H[?12l[?25h[5;17H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[5;17H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When past the end of a line that ends in a single character "b" skips
[?25l[5;17H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" that word.
[?25l[5;17H[?12l[?25h
[10C[15C[5;11H[?25l$7[?12l[?25h[6;11H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[6;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'i' works
[?25l[6;11H[?12l[?25h
'i' [?25l<-- should be 3 ' '[?12l[?25h[7;25H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[7;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'C' works
[?25l[7;25H[?12l[?25h
'C' [?25l$<-- should be 3 ' '[?12l[?25h[8;25H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[8;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'a' works
[?25l[8;25H[?12l[?25h
'a' [?25l <-- should be 4 ' '[?12l[?25h[9;26H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'A' works
[?25l[9;26H[?12l[?25h
'A' [?25l<-- should be 0 ' '[?12l[?25h[10;22H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[10;22H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'D' works
[?25l[10;22H[?12l[?25h
'D' [?25l<-- 'D' should be intact[?12l[?25h[11;30H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[11;30H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for yank bug reported by Mark Waggoner.
[?25l[11;30H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=block
[?25l[11;14H[?12l[?25h
[8C[?25l[?12l[?25h[?25l[7ma[12;9Ha[13;9Ha[14;9H[?12l[?25h[?25l[m[11;9Ha[12;9Ha[13;9Ha[24;1Hblock of 4 lines yanked[11;9H[?12l[?25h[19;1H[?25l[24;1H3 more lines[24;13H[K[19;1Ha
a[20;2H[K[21;1Ha[21;2H[K[22;1H [22;2H[K[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test "r" beyond the end of the line
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=all
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^"r"
[?25l[31msearch hit BOTTOM, continuing at TOP[14;1H[?12l[?25h[m"r" [?25lx[?12l[?25h[?25lx<-- should be 'x'[?12l[?25h[15;25H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[15;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test "r" on a tab
[?25l[15;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Note that for this test, 'ts' must be 8 (the default).
[?25l[15;25H[?12l[?25h
"r" [?25lx[?12l[?25h[?25lx <-- should be ' x '[?12l[?25h[16;29H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[16;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test to make sure 'x' can delete control characters
[?25l[16;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset display=uhex
[?25l[16;2H[34m<16>[mb[34m<0d>[msd[20C[?12l[?25h
[?25l[34m<16>[mb[34m<0d>[msd[16;12H[K[16;1H[?12l[?25h[?25lb[34m<0d>[msd[16;8H[K[16;1H[?12l[?25h[?25l[34m<0d>[msd[16;7H[K[16;1H[?12l[?25h[?25lsd[16;3H[K[16;1H[?12l[?25h[?25ld[16;2H[K[16;1H[?12l[?25h[?25l[16;1H[K[16;1H[?12l[?25h[?25l[This line should contain only the text between the brackets.][?12l[?25h[17;62H[?25l[24;1H[K[24;1H:[?12l[?25hset display=
[?25l[17;62H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[17;62H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for ^Y/^E due to bad w_virtcol value, reported by
[?25l[17;62H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Roy <royl@netropolis.net>.
[?25l[17;62H[?12l[?25h
[?25l[17;23r[17;1H[L[1;24r[24;1H[K[17;1H[?12l[?25h [?25lv[?12l[?25hv [?25li[?12l[?25hi [?25lm <-- should show the name of a noted text editor[?12l[?25h[18;62H
[?25l[19;23r[19;1H[L[1;24r[19;1H[?12l[?25h [?25l6[?12l[?25h6 [?25l.[?12l[?25h. [?25l0 <-- and its version number[?12l[?25h[18;1H[?25l[18;23r[23;1H
[1;24r[18;5H[?12l[?25h
[?25l[24;1H:[?12l[?25h"
[?25l[19;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for yanking and pasting using the small delete register
[?25l[19;5H[?12l[?25h[1;1H[?25l[24;1H[K[24;1H/[?12l[?25h^foo
[?25l[31msearch hit BOTTOM, continuing at TOP[1;1H[?12l[?25h[?25l[m, bar[1;6H[K[1;1H[?12l[?25h, [?25l[?12l[?25h[?25l[7mba[?12l[?25h[?25l[?12l[?25h[?25l[mfoo[?12l[?25h
keyw[?25l[24;1H[K[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test51.in" 36 lines, 809 characters[1;1HTests 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=#000[11;1Hff00 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for ":highlight". vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 31 lines, 747 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[13M[1;24r[11;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" basic test if ":highlight" doesn't crash
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhighlight
[?25l
SpecialKey [34mxxx[m [34mterm=[mbold [34mctermfg=[m4 [34mguifg=[mBlue
EndOfBuffer [1m[34mxxx[m [34mlinks to[m NonText
NonText[8C[1m[34mxxx[m [34mterm=[mbold [34mcterm=[mbold [34mctermfg=[m4 [34mgui=[mbold [34mguifg=[mBlue
Directory [34mxxx[m [34mterm=[mbold [34mctermfg=[m4 [34mguifg=[mBlue
ErrorMsg[7C[1m[37m[41mxxx[m [34mterm=[mstandout [34mcterm=[mbold [34mctermfg=[m7 [34mctermbg=[m1 [34mguifg=[mWhite
[19C[34mguibg=[mRed
IncSearch [7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mgui=[mreverse
Search[9C[30m[43mxxx[m [34mterm=[mreverse [34mctermfg=[m0 [34mctermbg=[m3 [34mguibg=[mYellow
MoreMsg[8C[32mxxx[m [34mterm=[mbold [34mctermfg=[m2 [34mgui=[mbold [34mguifg=[mSeaGreen
ModeMsg[8C[1mxxx[m [34mterm=[mbold [34mcterm=[mbold [34mgui=[mbold
LineNr[9C[33mxxx[m [34mterm=[munderline [34mctermfg=[m3 [34mguifg=[mBrown
CursorLineNr [33mxxx[m [34mterm=[mbold [34mctermfg=[m3 [34mgui=[mbold [34mguifg=[mBrown
Question[7C[32mxxx[m [34mterm=[mstandout [34mctermfg=[m2 [34mgui=[mbold [34mguifg=[mSeaGreen
StatusLine [1m[7mxxx[m [34mterm=[mbold,reverse [34mcterm=[mbold,reverse [34mgui=[mbold,reverse
StatusLineNC [7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mgui=[mreverse
VertSplit [7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mgui=[mreverse
Title[10C[35mxxx[m [34mterm=[mbold [34mctermfg=[m5 [34mgui=[mbold [34mguifg=[mMagenta
Visual[9C[7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mguibg=[mLightGrey
VisualNOS [1m[4mxxx[m [34mterm=[mbold,underline [34mcterm=[mbold,underline [34mgui=[mbold,underline
WarningMsg [31mxxx[m [34mterm=[mstandout [34mctermfg=[m1 [34mguifg=[mRed
WildMenu[7C[30m[43mxxx[m [34mterm=[mstandout [34mctermfg=[m0 [34mctermbg=[m3 [34mguifg=[mBlack [34mguibg=[mYellow
Folded[9C[34m[47mxxx[m [34mterm=[mstandout [34mctermfg=[m4 [34mctermbg=[m7 [34mguifg=[mDarkBlue
[19C[34mguibg=[mLightGrey
FoldColumn [34m[47mxxx[m [34mterm=[mstandout [34mctermfg=[m4 [34mctermbg=[m7 [34mguifg=[mDarkBlue [34mguibg=[mGrey
DiffAdd[8C[44mxxx[m [34mterm=[mbold [34mctermbg=[m4 [34mguibg=[mLightBlue
DiffChange [45mxxx[m [34mterm=[mbold [34mctermbg=[m5 [34mguibg=[mLightMagenta
DiffDelete [1m[34m[46mxxx[m [34mterm=[mbold [34mcterm=[mbold [34mctermfg=[m4 [34mctermbg=[m6 [34mgui=[mbold [34mguifg=[mBlue
[19C[34mguibg=[mLightCyan
DiffText[7C[1m[41mxxx[m [34mterm=[mreverse [34mcterm=[mbold [34mctermbg=[m1 [34mgui=[mbold [34mguibg=[mRed
SignColumn [34m[47mxxx[m [34mterm=[mstandout [34mctermfg=[m4 [34mctermbg=[m7 [34mguifg=[mDarkBlue [34mguibg=[mGrey
Conceal[8C[37m[40mxxx[m [34mctermfg=[m7 [34mctermbg=[m0 [34mguifg=[mLightGrey [34mguibg=[mDarkGrey
SpellBad[7C[41mxxx[m [34mterm=[mreverse [34mctermbg=[m1 [34mgui=[mundercurl [34mguisp=[mRed
SpellCap[7C[44mxxx[m [34mterm=[mreverse [34mctermbg=[m4 [34mgui=[mundercurl [34mguisp=[mBlue
SpellRare [45mxxx[m [34mterm=[mreverse [34mctermbg=[m5 [34mgui=[mundercurl [34mguisp=[mMagenta
SpellLocal [46mxxx[m [34mterm=[munderline [34mctermbg=[m6 [34mgui=[mundercurl [34mguisp=[mDarkCyan
Pmenu[10C[30m[45mxxx[m [34mctermfg=[m0 [34mctermbg=[m5 [34mguibg=[mLightMagenta
PmenuSel[7C[30m[47mxxx[m [34mctermfg=[m0 [34mctermbg=[m7 [34mguibg=[mGrey
PmenuSbar [47mxxx[m [34mctermbg=[m7 [34mguibg=[mGrey
PmenuThumb [40mxxx[m [34mctermbg=[m0 [34mguibg=[mBlack
TabLine[8C[4m[30m[47mxxx[m [34mterm=[munderline [34mcterm=[munderline [34mctermfg=[m0 [34mctermbg=[m7
[19C[34mgui=[munderline [34mguibg=[mLightGrey
TabLineSel [1mxxx[m [34mterm=[mbold [34mcterm=[mbold [34mgui=[mbold
TabLineFill [7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mgui=[mreverse
CursorColumn [47mxxx[m [34mterm=[mreverse [34mctermbg=[m7 [34mguibg=[mGrey90
CursorLine [4mxxx[m [34mterm=[munderline [34mcterm=[munderline [34mguibg=[mGrey90
ColorColumn [41mxxx[m [34mterm=[mreverse [34mctermbg=[m1 [34mguibg=[mLightRed
Cursor[9Cxxx [34mguifg=[mbg [34mguibg=[mfg
lCursor[8Cxxx [34mguifg=[mbg [34mguibg=[mfg
MatchParen [46mxxx[m [34mterm=[mreverse [34mctermbg=[m6 [34mguibg=[mCyan
Normal[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Search
[?25l
Search[9C[30m[43mxxx[m [34mterm=[mreverse [34mctermfg=[m0 [34mctermbg=[m3 [34mguibg=[mYellow
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" test setting colors.
[?25l[27m[23m[m[H[2J[1;1H: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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi NewGroup term=bold cterm=italic ctermfg=DarkBlue ctermbg=Grey gui= guifg=#0
[23;80H0[24;1Hff00 guibg=Cyan
[?25l[23;1H[1m[37m[41mE418: Illegal value: guifg=#00ff00[m[23;35H[K[24;1H[K[24;1H[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group2 term= cterm=
[?25l[1m[37m[41mE418: Illegal value: cterm=[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group3 term=underline cterm=bold
[?25l[1;1H[2L[1;1H:hi NewGroup
:hi Group2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hredir! >test.out
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi NewGroup
[?25l
NewGroup[7C[3m[34m[47mxxx[23m[m [34mterm=[mbold [34mcterm=[mitalic [34mctermfg=[m4 [34mctermbg=[m7
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group2
[?25l
Group2[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group3
[?25l
Group3[9C[1mxxx[m [34mterm=[munderline [34mcterm=[mbold
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi clear NewGroup
[?25l[1;1H[6L[1;1H:hi NewGroup
:hi Group2
:hi Group3
:hi clear NewGroup
:hi NewGroup
:hi Group2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hhi NewGroup
[?25l
NewGroup[7Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group2
[?25l
Group2[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group2 NONE
[?25l[1;1H[4L[1;1H:hi NewGroup
:hi Group2
:hi Group3
:hi clear NewGroup[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hhi Group2
[?25l
Group2[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi clear
[?25l[27m[23m[m[H[2J[1;1H: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
Group3[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Crash term='asdf
[?25l[1m[37m[41mE475: Invalid argument: term='asdf[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[3L[1;1H:hi NewGroup
:hi Group2
:hi Group3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" filter ctermfg and ctermbg, the numbers depend on the terminal
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H20 lines, 289 characters[1;1H[K[2;1H[K[3;1HNewGroup xxx term=bold cterm=italic ctermfg=4 ctermbg=7[4;1H[K[5;1HGroup2 xxx cleared[6;1H[K[7;1HGroup3 xxx term=underline cterm=bold[8;1H[K[9;1H[K[10;1HNewGroup xxx cleared[11;1H[K[12;1HGroup2 xxx cleared[13;1H[K[14;1H[K[15;1HGroup2 xxx cleared[16;1H[K[17;1H[K[18;1HGroup3 xxx cleared[19;1H[K[20;1HE475: Invalid argument: term='asdf
[1m[34m~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h%s/ctermfg=\d*/ctermfg=2/
[?25l[3;51H2
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%s/ctermbg=\d*/ctermbg=3/
[?25l[3;61H3
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" filter out possibly translated error message
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%s/E475: [^:]*:/E475:/
[?25l[20;7Hterm='asdf[20;17H[K[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" fix the fileformat
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff&
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test53.in" 75 lines, 1763 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for string and html text objects. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 47 lines, 1237 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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>-[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start:/
[?25l[24;9H[K[24;1H[14;1H[?12l[?25h[?25l[7Cfo[14;11H[K[14;8H[?12l[?25h[15;8H
[?25l[?12l[?25h[?25l[7m'foo'[?12l[?25h[?25l 'bar'[?12l[?25h[?25l[m
xxxxxxxxxxxx
[?12l[?25h
[14C[?25lblah[16;13H[K[16;9H[?12l[?25h[17;9H
[12C[?25l"[17;12H[K[17;11H[?12l[?25h[18;11H
[9C[?25l[?12l[?25h[?25l'[7m rep[?12l[?25h[?25l[myyyyy[?12l[?25h[19;11H[?25l[24;1H[K[24;1H:[?12l[?25hset quoteescape=+*-
[?25l[19;11H[?12l[?25h[?25l` b`la[19;12H[K[19;6H[?12l[?25h[20;6H[29C[?25l[?12l[?25h[?25l[7m" sdf"[?12l[?25h[?25l[m"[5C[7m [20;27H[?12l[?25h[?25l"[?12l[?25h[?25l[20;16H asdf" sdf [20;15H[?12l[?25h[?25l[20;7Hah" sdf "
[mvoo "[?12l[?25h[?25lzzzzzzzzzzzzzzzzzzzzzzzzzzzz
voo "[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^<begin
[?25l[22;1H[?12l[?25h
[11C[?25l</i>asdf</b>-[23;25H[K[23;12H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-<b>asdX<i>a<i />sdf</i>asdf</b>-[24;1H[K[23;12H[?12l[?25h
[7C[?25l</b>-[23;10H[K[23;5H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-<b>asdf<i>Xasdf</i>asdf</b>-
-<b>[?12l[?25h[7C[?25lasdf</b>-[23;18H[K[23;9H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-<b>asdX<i>as<b />df</i>asdf</b>-[23;9H[?12l[?25h
[7C[?25l
--[23;3H[K[23;2H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-<b>
-[?12l[?25h[?25l<b></b>[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H</begin>[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hput =matchstr(\"abcd\", \".\", 0, 2) " b
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =matchstr(\"abcd\", \"..\", 0, 2) " bc
[?25l[1;23r[23;1H
[1;24r[23;1Hbc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =matchstr(\"abcd\", \".\", 2, 0) " c (zero and negative -> first match)
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =matchstr(\"abcd\", \".\", 0, -1) " a
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match(\"abcd\", \".\", 0, 5) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match(\"abcd\", \".\", 0, -1) " 0
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 0, 1) " 0
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 0, 2) " 1
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 0, 3) " 2
[?25l[1;23r[23;1H
[1;24r[23;1H2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 0, 4) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 1, 1) " 1
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 2, 1) " 2
[?25l[1;23r[23;1H
[1;24r[23;1H2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 3, 1) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 0, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 0, 2) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 1, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 2, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 3, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 4, 1) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 1) " 0
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 2) " 1
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 3) " 2
[?25l[1;23r[23;1H
[1;24r[23;1H2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 4) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 5) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 1, 1) " 1
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 2, 1) " 2
[?25l[1;23r[23;1H
[1;24r[23;1H2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 3, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 4, 1) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^start:/,/^end:/wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test55.in" 586 lines, 12256 characters[1;1HTests 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])
:"[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for List and Dictionary types. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 580 lines, 12170 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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[34m^R[m=a[34m^M^[[m:"
:lang C
:redir => a
:try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
:redir END
o[34m^R[m=a[34m^M^[[m:"
:"
:/^start:/,$wq! test.out
ENDTEST
start:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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:[8C[?12l[?25h: return "a:". a:a
[?25l:[8C[?12l[?25h:endfunc
[?25l:[8C[?12l[?25h:$put =d.func(string(remove(d, 'func')))
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Nasty: deepcopy() dict that refers to itself (fails when noref used
[23;80H)[24;1H
[?25l:[8C[?12l[?25h:let d = {1:1, 2:2}
[?25l:[8C[?12l[?25h:let l = [4, d, 6]
[?25l:[8C[?12l[?25h:let d[3] = l
[?25l:[8C[?12l[?25h:let dc = deepcopy(d)
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: let dc = deepcopy(d, 1)
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:14]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:let l2 = [0, l, l, 3]
[?25l:[8C[?12l[?25h:let l[1] = l2
[?25l:[8C[?12l[?25h:let l3 = deepcopy(l2)
[?25l:[8C[?12l[?25h:$put ='same list: ' . (l3[1] is l3[2])
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Locked variables
[?25l:[8C[?12l[?25h:for depth in range(5)
[?25l:[10C[?12l[?25h: $put ='depth is ' . depth
[?25l:[10C[?12l[?25h: for u in range(3)
[?25l:[12C[?12l[?25h: unlet l
[?25l:[12C[?12l[?25h: let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]
[?25l:[12C[?12l[?25h: exe "lockvar " . depth . " l"
[?25l:[12C[?12l[?25h: if u == 1
[?25l:[14C[?12l[?25h: exe "unlockvar l"
[?25l:[14C[?12l[?25h: elseif u == 2
[?25l:[14C[?12l[?25h: exe "unlockvar " . depth . " l"
[?25l:[14C[?12l[?25h: endif
[?25l:[12C[?12l[?25h: let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").i
[23;80Hs[24;1Hlocked("l[1][1][0]").'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2][
[23;80H'[24;1H6'][7]")
[?25l:[12C[?12l[?25h: $put =ps
[?25l:[12C[?12l[?25h: let ps = ''
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[1][1][0] = 99
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[1][1] = [99]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[1] = [99]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[2]['6'][7] = 99
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[2][6] = {99: 99}
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[2] = {99: 99}
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l = [99]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: $put =ps
[?25l:[12C[?12l[?25h: endfor
[?25l:[10C[?12l[?25h:endfor
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Unletting locked variables
[?25l:[8C[?12l[?25h:$put ='Unletting:'
[?25l:[8C[?12l[?25h:for depth in range(5)
[?25l:[10C[?12l[?25h: $put ='depth is ' . depth
[?25l:[10C[?12l[?25h: for u in range(3)
[?25l:[12C[?12l[?25h: unlet l
[?25l:[12C[?12l[?25h: let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]
[?25l:[12C[?12l[?25h: exe "lockvar " . depth . " l"
[?25l:[12C[?12l[?25h: if u == 1
[?25l:[14C[?12l[?25h: exe "unlockvar l"
[?25l:[14C[?12l[?25h: elseif u == 2
[?25l:[14C[?12l[?25h: exe "unlockvar " . depth . " l"
[?25l:[14C[?12l[?25h: endif
[?25l:[12C[?12l[?25h: let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").i
[23;80Hs[24;1Hlocked("l[1][1][0]").'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2][
[23;80H'[24;1H6'][7]")
[?25l:[12C[?12l[?25h: $put =ps
[?25l:[12C[?12l[?25h: let ps = ''
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[2]['6'][7]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[2][6]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[2]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[1][1][0]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[1][1]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[1]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: $put =ps
[?25l:[12C[?12l[?25h: endfor
[?25l:[10C[?12l[?25h:endfor
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Locked variables and :unlet or list / dict functions
[?25l:[8C[?12l[?25h:$put ='Locks and commands or functions:'
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='No :unlet after lock on dict:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar 1 d
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: unlet d.a
[?25l:[10C[?12l[?25h: $put ='did :unlet'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:16]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put =':unlet after lock on dict item:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar d.a
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: unlet d.a
[?25l:[10C[?12l[?25h: $put ='did :unlet'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:16]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='filter() after lock on dict item:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar d.a
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: call filter(d, 'v:key != "a"')
[?25l:[10C[?12l[?25h: $put ='did filter()'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:16]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='map() after lock on dict:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar 1 d
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: call map(d, 'v:val + 200')
[?25l:[10C[?12l[?25h: $put ='did map()'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:16]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='No extend() after lock on dict item:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar d.a
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: $put =string(extend(d, {'a': 123}))
[?25l:[10C[?12l[?25h: $put ='did extend()'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:14]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='No remove() of write-protected scope-level variable:'
[?25l:[8C[?12l[?25h:fun! Tfunc(this_is_a_loooooooooong_parameter_name)
[?25l:[10C[?12l[?25h: try
[?25l:[12C[?12l[?25h: $put =string(remove(a:, 'this_is_a_loooooooooong_parameter_na
[23;80Hm[24;1He'))
[?25l:[12C[?12l[?25h: $put ='did remove()'
[?25l:[12C[?12l[?25h: catch
[?25l:[12C[?12l[?25h: $put =v:exception[:14]
[?25l:[12C[?12l[?25h: endtry
[?25l:[10C[?12l[?25h:endfun
[?25l:[10C[?12l[?25h:call Tfunc('testval')
[?25l:[10C[?12l[?25h:"
[?25l:[10C[?12l[?25h:$put ='No extend() of write-protected scope-level variable:'
[?25l:[10C[?12l[?25h:fun! Tfunc(this_is_a_loooooooooong_parameter_name)
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: $put =string(extend(a:, {'this_is_a_loooooooooong_parameter
[23;80H_[24;1Hname': 1234}))
[?25l:[14C[?12l[?25h: $put ='did extend()'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: $put =v:exception[:14]
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h:endfun
[?25l:[12C[?12l[?25h:call Tfunc('testval')
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:$put ='No :unlet of variable in locked scope:'
[?25l:[12C[?12l[?25h:let b:testvar = 123
[?25l:[12C[?12l[?25h:lockvar 1 b:
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: unlet b:testvar
[?25l:[14C[?12l[?25h: $put ='b:testvar was :unlet: '. (!exists('b:testvar'))
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put =v:exception[:16]
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:unlockvar 1 b:
[?25l:[12C[?12l[?25h:unlet! b:testvar
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:$put ='No :let += of locked list variable:'
[?25l:[12C[?12l[?25h:let l = ['a', 'b', 3]
[?25l:[12C[?12l[?25h:lockvar 1 l
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let l += ['x']
[?25l:[14C[?12l[?25h: $put ='did :let +='
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put =v:exception[:14]
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:unlet l
[?25l:[12C[?12l[?25h:let l = [1, 2, 3, 4]
[?25l:[12C[?12l[?25h:lockvar! l
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:unlockvar l[1]
[?25l:[12C[?12l[?25h:unlet l[0:1]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:unlet l[1:2]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:unlockvar l[1]
[?25l:[12C[?12l[?25h:let l[0:1] = [0, 1]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:let l[1:2] = [0, 1]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:unlet l
[?25l:[12C[?12l[?25h:" :lockvar/islocked() triggering script autoloading
[?25l:[12C[?12l[?25h:set rtp+=./sautest
[?25l:[12C[?12l[?25h:lockvar g:footest#x
[?25l:[12C[?12l[?25h:unlockvar g:footest#x
[?25l:[12C[?12l[?25h:$put ='locked g:footest#x:'.islocked('g:footest#x')
[?25l:[12C[?12l[?25h:$put ='exists g:footest#x:'.exists('g:footest#x')
[?25l:[12C[?12l[?25h:$put ='g:footest#x: '.g:footest#x
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" a:000 function argument
[?25l:[12C[?12l[?25h:" first the tests that should fail
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000 = [1, 2]
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught a:000'
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000[0] = 9
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught a:000[0]'
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000[2] = [9, 10]
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught a:000[2]'
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000[3] = {9: 10}
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught a:000[3]'
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:" now the tests that should pass
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000[2][1] = 9
[?25l:[14C[?12l[?25h: call extend(a:000[2], [5, 6])
[?25l:[14C[?12l[?25h: let a:000[3][5] = 8
[?25l:[14C[?12l[?25h: let a:000[3]['a'] = 12
[?25l:[14C[?12l[?25h: $put =string(a:000)
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught ' . v:exception
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" reverse(), sort(), uniq()
[?25l:[12C[?12l[?25h:let l = ['-0', 'A11', 2, 2, 'xaaa', 4, 'foo', 'foo6', 'foo', [0,
[23;80H1[24;1H, 2], 'x8', [0, 1, 2], 1.5]
[?25l:[12C[?12l[?25h:$put =string(uniq(copy(l)))
[?25l:[12C[?12l[?25h:$put =string(reverse(l))
[?25l:[12C[?12l[?25h:$put =string(reverse(reverse(l)))
[?25l:[12C[?12l[?25h:$put =string(sort(l))
[?25l:[12C[?12l[?25h:$put =string(reverse(sort(l)))
[?25l:[12C[?12l[?25h:$put =string(sort(reverse(sort(l))))
[?25l:[12C[?12l[?25h:$put =string(uniq(sort(l)))
[?25l:[12C[?12l[?25h:let l=[7, 9, 'one', 18, 12, 22, 'two', 10.0e-16, -1, 'three', 0xf
[23;80Hf[24;1H, 0.22, 'four']
[?25l:[12C[?12l[?25h:$put =string(sort(copy(l), 'n'))
[?25l:[12C[?12l[?25h:let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0, -0, 0.22, 'bar',
[23;80H'[24;1HBAR', 'Bar', 'Foo', 'FOO', 'foo', 'FOOBAR', {}, []]
[?25l:[12C[?12l[?25h:$put =string(sort(copy(l), 1))
[?25l:[12C[?12l[?25h:$put =string(sort(copy(l), 'i'))
[?25l:[12C[?12l[?25h:$put =string(sort(copy(l)))
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" splitting a string to a List
[?25l:[12C[?12l[?25h:$put =string(split(' aa bb '))
[?25l:[12C[?12l[?25h:$put =string(split(' aa bb ', '\W\+', 0))
[?25l:[12C[?12l[?25h:$put =string(split(' aa bb ', '\W\+', 1))
[?25l:[12C[?12l[?25h:$put =string(split(' aa bb ', '\W', 1))
[?25l:[12C[?12l[?25h:$put =string(split(':aa::bb:', ':', 0))
[?25l:[12C[?12l[?25h:$put =string(split(':aa::bb:', ':', 1))
[?25l:[12C[?12l[?25h:$put =string(split('aa,,bb, cc,', ',\s*', 1))
[?25l:[12C[?12l[?25h:$put =string(split('abc', '\zs'))
[?25l:[12C[?12l[?25h:$put =string(split('abc', '\zs', 1))
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" compare recursively linked list and dict
[?25l:[12C[?12l[?25h:let l = [1, 2, 3, 4]
[?25l:[12C[?12l[?25h:let d = {'1': 1, '2': l, '3': 3}
[?25l:[12C[?12l[?25h:let l[1] = d
[?25l:[12C[?12l[?25h:$put =(l == l)
[?25l:[12C[?12l[?25h:$put =(d == d)
[?25l:[12C[?12l[?25h:$put =(l != deepcopy(l))
[?25l:[12C[?12l[?25h:$put =(d != deepcopy(d))
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" compare complex recursively linked list and dict
[?25l:[12C[?12l[?25h:let l = []
[?25l:[12C[?12l[?25h:call add(l, l)
[?25l:[12C[?12l[?25h:let dict4 = {"l": l}
[?25l:[12C[?12l[?25h:call add(dict4.l, dict4)
[?25l:[12C[?12l[?25h:let lcopy = deepcopy(l)
[?25l:[12C[?12l[?25h:let dict4copy = deepcopy(dict4)
[?25l:[12C[?12l[?25h:$put =(l == lcopy)
[?25l:[12C[?12l[?25h:$put =(dict4 == dict4copy)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" Pass the same List to extend()
[?25l:[12C[?12l[?25h:let l = [1, 2, 3, 4, 5]
[?25l:[12C[?12l[?25h:call extend(l, l)
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" Pass the same Dict to extend()
[?25l:[12C[?12l[?25h:let d = { 'a': {'b': 'B'}}
[?25l:[12C[?12l[?25h:call extend(d, d)
[?25l:[12C[?12l[?25h:$put =string(d)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" Pass the same Dict to extend() with "error"
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: call extend(d, d, "error")
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put =v:exception[:15] . v:exception[-1:-1]
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:$put =string(d)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" test for range assign
[?25l:[12C[?12l[?25h:let l = [0]
[?25l:[12C[?12l[?25h:let l[:] = [1, 2]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:endfun
[27m[23m[m[H[2J[?25l[1;1H:$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[34m^R[m=a[34m^M^[[m:"
:lang C
:redir => a
:try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
:redir END
o[34m^R[m=a[34m^M^[[m:"
:"
:/^start:/,$wq! test.out
ENDTEST
start:[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Test(1, 2, [3, 4], {5: 6}) " This may take a while
[?25l[1m[37m[41mError detected while processing function Test:[m[24;47H[K[24;1H
[33mline 76:[m
[1m[37m[41mE684: list index out of range: 1[m
[33mline 91:[m
[1m[37m[41mE684: list index out of range: 2[m
[33mline 271:[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[33mline 441:[m
[1m[37m[41mE741: Value is locked: l[0:1][m
[33mline 443:[m
[1m[37m[41mE741: Value is locked: l[1:2][m
[33mline 446:[m
[1m[37m[41mE741: Value is locked: l[0:1] = [0, 1][m
[33mline 448:[m
[1m[37m[41mE741: Value is locked: l[1:2] = [0, 1][m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[1;1H['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 122[2;1H, 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]
[1m[34m~ [22;1H[?12l[?25h[?25l
[m:[?12l[?25hdelfunc Test
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hunlet dict
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for patch 7.3.637
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet a = 'No error caught'
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htry|foldopen|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H=[?12l[?25ha
[?25l[23;1HVim(foldopen):E490:[23;20H[K[23;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang C
[?25l[23;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir => a
[?25l[23;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htry|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
[?25l[1m[37m[41mError detected while processing :[m[24;34H[K[24;1H
[1m[37m[41mE492: Not an editor command: foobar|catch|let a = matchstr(v:exception,'^[^ ]*'[m
[23;80H[1m[37m[41m)[24;1H|endtry[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[3L[1;1H['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 122[2;1H, 18, 22, 255, 7, 9, [], {}]
['aa', 'bb'][24;1H[K[23;19H[?12l[?25h[?25l
=[?12l[?25ha
[?25l[1;23r[1;1H[5M[1;24r[21;1HError detected while processing :
E492: Not an editor command: foobar|catch|let a = matchstr(v:exception,'^[^ ]*'))[23;1H|endtry[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test56.in" 21 lines, 457 characters[1;1HTest 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>delfunn[21;1Hc <SID>DoNothing<bar>delfunc <SID>DoLast<cr>
end:
[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for script-local function. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 7 lines, 120 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/+1,/^end:/-1w! Xtest.vim
[?25l"Xtest.vim" [24;13H[K[24;13H[New] 7L, 251C written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsource Xtest.vim
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:call <SNR>4_DoNothing()|call <SNR>4_DoLast()|delfunc <SNR>4_DoNothing|delfunc
[23;80H<[24;1HSNR>4_DoLast
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[L[?25l[1;1HTest for script-local function. vim: set ft=vim :[23;1Hnothing line[23;13H[K[24;1H[K[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h$-1,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test57.in" 545 lines, 4110 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :sort command. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 33 lines, 920 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:/^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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^t01:/+1,/^t02/-1sort
[?25l[15;1H[K[16;1H[K[17;1H 123b[18;2H[K[19;4H2
a123
a
ab[22;3H[K[23;1Habc[23;4H[K[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^t02:/+1,/^t03/-1sort n
[?25l[1;23r[1;1H[9M[1;24r[15;1Hb123
b321
b321
b321b
b322b
c123d
c321d
t02: numeric
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t03:/+1,/^t04/-1sort x
[?25l[27m[23m[m[H[2J[1;1Ha123
b123
c123d
123b
a321
b321
c321d
b321
b321b
b322b
t03: hexadecimal
a
ab
abc
123b
a122
a123
a321
b123
b321
b321[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t04:/+1,/^t05/-1sort u
[?25l[1;23r[1;1H[6M[1;24r[18;1Hb321b
b322b
c123d
c321d
t04: alpha, unique[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t05:/+1,/^t06/-1sort!
[?25l[27m[23m[m[H[2J[1;1Ha123
a321
ab
abc
b123
b321
b321b
b322b
c123d
c321d
t05: alpha, reverse
c321d
c123d
b322b
b321b
b321
b321
b123
abc
ab
a321
a123
a122[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t06:/+1,/^t07/-1sort! n
[?25l[1;23r[1;1H[6M[1;24r[18;1Ha
123b
t06: numeric, reverse
b322b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t07:/+1,/^t08/-1sort! u
[?25l[27m[23m[m[H[2J[1;2H123b
c123d
b123
a123
a122
a
ab
abc
t07: unique, reverse
c321d
c123d
b322b
b321b
b321
b123
abc
ab
a321
a123
a122
a[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t08:/+1,/^t09/-1sort o
[?25l[1;23r[1;1H[4M[1;24r[20;2H123b
t08: octal
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t09:/+1,/^t10/-1sort! x
[?25l[27m[23m[m[H[2J[1;1Ha123
b123
c123d
123b
a321
b321
c321d
b321
b321b
b322b
t09: reverse, hexadecimal
c321d
c123d
b322b
b321b
b321
b321
b123
a321
a123
a122
123b
abc[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t10:/+1,/^t11/-1sort/./
[?25l[1;23r[1;1H[6M[1;24r[18;1Hab
a
t10: alpha, skip first character
a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t11:/+1,/^t12/-1sort/../
[?25l[27m[23m[m[H[2J[1;2H123b
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t12:/+1,/^t13/-1sort/../u
[?25l[1;23r[1;1H[6M[1;24r[18;1Hb123
123b
c123d
abc
t12: alpha, unique, skip first 2 characters
ab[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t13:/+1,/^t14/-1sort/./n
[?25l[27m[23m[m[H[2J[1;1Hb321
b321b
c321d
a122
b322b
a123
b123
123b
c123d
abc
t13: numeric, skip first character
abc
ab
a
a122
a123
b123
c123d
123b
a321
b321[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t14:/+1,/^t15/-1sort/./r
[?25l[1;23r[1;1H[6M[1;24r[18;1Hc321d
b321
b321b
b322b
t14: alpha, sort on first character[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t15:/+1,/^t16/-1sort/../r
[?25l[27m[23m[m[H[2J[1;1Ha321
a123
a122
b321
b123
b322b
b321
b321b
c123d
c321d
t15: alpha, sort on first 2 characters
a[15;2H123b
a123
a122
a321
abc
ab
b123
b321
b322b[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t16:/+1,/^t17/-1sort/./rn
[?25l[1;23r[1;1H[6M[1;24r[18;1Hb321
b321b
c123d
c321d
t16: numeric, sort on first character
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t17:/+1,/^t18/-1sort/\d/
[?25l[27m[23m[m[H[2J[1;1Hb321
b123
c123d
123b
c321d
b322b
b321
b321b
t17: alpha, skip past first digit
abc
ab
a
a321
b321
b321
b321b
c321d
a122
b322b[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t18:/+1,/^t19/-1sort/\d/r
[?25l[1;23r[1;1H[6M[1;24r[18;1Ha123
b123
123b
c123d
t18: alpha, sort on first digit
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t19:/+1,/^t20/-1sort/\d/n
[?25l[27m[23m[m[H[2J[1;1Ha122
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t20:/+1,/^t21/-1sort/\d/rn
[?25l[1;23r[1;1H[6M[1;24r[18;1Ha123
b123
c123d
123b
t20: numeric, sort on first digit
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t21:/+1,/^t22/-1sort/\d\d/
[?25l[27m[23m[m[H[2J[1;1Ha122
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t22:/+1,/^t23/-1sort/\d\d/n
[?25l[1;23r[1;1H[6M[1;24r[18;1Ha123
b123
123b
c123d
t22: numeric, skip past first 2 digits
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t23:/+1,/^t24/-1sort/\d\d/x
[?25l[27m[23m[m[H[2J[1;1Hb321
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t24:/+1,/^t25/-1sort/\d\d/r
[?25l[1;23r[1;1H[6M[1;24r[18;1Hc321d
b322b
123b
c123d
t24: alpha, sort on first 2 digits
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t25:/+1,/^t26/-1sort/\d\d/rn
[?25l[27m[23m[m[H[2J[1;1Ha122
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t26:/+1,/^t27/-1sort/\d\d/rx
[?25l[1;23r[1;1H[6M[1;24r[18;1Hc321d
b322b
b321
b321b
t26: hexadecimal, sort on first 2 digits
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t27:/+1,/^t28/-1sort no
[?25l[1m[37m[41mE474: Invalid argument[m[24;23H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^t28:/+1,/^t29/-1sort b
[?25l[27m[23m[m[H[2J[1;1Hb321
b123
c123d
123b
c321d
b322b
b321
b321b
t28: binary
0b000000
0b001000
0b010000
0b100000
0b100010
0b100010
0b100100
0b101000
0b101000
0b101001[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t29:/+1,/^t30/-1sort b
[?25l[1;23r[1;1H[6M[1;24r[18;1H0b101001
0b101010
0b101100
0b111000
t29: binary with leading characters[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t30:/+1,/^t31/-1sort f
[?25l[27m[23m[m[H[2J[1;1Ha0b001000
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[15;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t01:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test60.in" 601 lines, 13116 characters[1;1HTests 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:result[7;9Hecho "OK"
else[9;9Hecho "FAILED: Checking for " . a:str
endif
endfunction
:function! TestExists()
augroup myagroup[14;9Hautocmd! BufEnter[7C*.my echo "myfile edited"[15;9Hautocmd! FuncUndefined UndefFun exec "fu UndefFun()\nendfu"
augroup END
set rtp+=./sautest[19;5Hlet test_cases = [][21;5H" valid autocmd group
let test_cases += [['#myagroup', 1]]
" valid autocmd group with garbage[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for the exists() and has() functions. vim: set ft=vim ts=8 sw=2 :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 596 lines, 13023 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;9Hendif
endfunction[4;5Hcall TestFuncArg("arg1", "arg2")[6;5Hecho ' g:footest#x =' g:footest#x
echo ' footest#F()' footest#F()
echo 'UndefFun()' UndefFun()[10;5Hredir 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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! RunTest(str, result)
[?25l
: [?12l[?25h if exists(a:str) == a:result
[?25l: [?12l[?25h[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "FAILED: Checking for " . a:str
[?25l: [?12l[?25h endif
[?25l: [?12l[?25hendfunction
[1;1H[6L[?25l[1;9Hendif
endfunction[4;5Hcall TestFuncArg("arg1", "arg2")[6;5Hecho ' g:footest#x =' g:footest#x[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hfunction! TestExists()
[?25l
: [?12l[?25h augroup myagroup
[?25l: [?12l[?25h[34m^I[mautocmd! BufEnter *.my echo "myfile edited"
[?25l: [?12l[?25h[34m^I[mautocmd! 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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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
[27m[23m[m[H[2J[?25l[1;9Hendif
endfunction[4;5Hcall TestFuncArg("arg1", "arg2")[6;5Hecho ' g:footest#x =' g:footest#x
echo ' footest#F()' footest#F()
echo 'UndefFun()' UndefFun()[10;5Hredir 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[24;13H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[1;9Hendif
endfunction[4;5Hcall TestFuncArg("arg1", "arg2")[6;5Hecho ' g:footest#x =' g:footest#x
echo ' footest#F()' footest#F()
echo 'UndefFun()' UndefFun()[10;5Hredir 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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc RunTest
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc TestFuncArg
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit! test.out
[?25l"test.out" [24;12H[K[24;12H[Incomplete last line] 206 lines, 1940 characters[1;9H[K[2;1H#myagroup: 1[2;13H[K[3;1HOK
#myagroup+b: 0[4;15H[K[5;1HOK
#myagroup#BufEnter: 1[6;22H[K[7;1HOK[7;5H[K[8;1H#myagroup#BufEnter#*.my: 1[8;27H[K[9;1HOK
#BufEnter: 1[10;13H[K[11;1HOK[11;3H[K[12;1H#BufEnter#*.my: 1[12;18H[K[13;1HOK
#xyzagroup: 0[14;14H[K[15;1HOK[15;3H[K[16;1H#xyzagroup#BufEnter: 0
OK[17;3H[K[18;1H#myagroup#CmdwinEnter: 0
OK
#myagroup#xyzacmd: 0
OK[21;3H[K[22;1H#myagroup#BufEnter#xyzpat: 0
OK[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff=unix
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" 206 lines, 1941 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test64.in" 654 lines, 27565 characters[1;1HTest 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 """"""""""""""""""""""""""""""""
:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
:"[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for regexp patterns without multi-byte support.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 621 lines, 27090 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" tl is a List of Lists with:
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" regexp engine
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" regexp pattern
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" text to test the pattern on
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected match (optional)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected submatch 1 (optional)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected submatch 2 (optional)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" etc.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When there is no match use only the first two items.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tl = []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Previously written tests """"""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'ab', 'aab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'b', 'abcdef', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc*', 'abccccdef', 'bcccc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\{-}', 'abccccdef', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\{-}\(d\)', 'abccccdef', 'bccccd', 'd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc*', 'abbdef', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'c*', 'ccc', 'ccc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc*', 'abdef', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'c*', 'abdef', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\+', 'abccccdef', 'bcccc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\+', 'abdef']) "no match
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"operator \|
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\|ab', 'cabd', 'a']) "alternation is ordered
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'c\?', 'ccb', 'c'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\?', 'abd', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\?', 'abccd', 'bc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{1}', 'ab', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'caad', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'aba'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'abaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'aaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vb{1}', 'abca', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vba{2}', 'abaa', 'baa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vba{3}', 'aabaac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'dabc', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'acb'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){0,2}', 'acb', "", ""])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){0,2}', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1,2}', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1,2}', 'ababc', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2,4}', 'ababcab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2,4}', 'abcababa', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'cdababe', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abacabab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab){2}){2}', 'abababab', 'abababab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab){2}){2}', 'abacabababab', 'abababab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){1}', 'a', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aa', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aaac', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'daaac', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'daaac', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'aaa', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2})+', 'adaac', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2})+', 'aa', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aa', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'aa', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){1}', 'a', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){2}', 'aaaa', 'aaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){2}', 'aaabaaaa', 'aaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+){2}', 'dadaac', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{3}){2}', 'aaaaaaa', 'aaaaaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){2}', 'daaac', 'aaa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){2}', 'daaaac', 'aaaa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){2}', 'daaaaac', 'aaaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){3}', 'daac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){2}', 'dac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+)+', 'daac', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+)+', 'aaa', 'aaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+){1,2}', 'aaa', 'aaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+)(a+)', 'aaa', 'aaa', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{3})+', 'daaaac', 'aaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a|b|c)+', 'aacb', 'aacb', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a|b|c){2}', 'abcb', 'ab', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(abc){2}', 'abcabd', ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(abc){2}', 'abdabcabc','abcabc', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a*', 'cc', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a*)+', 'cc', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)+)+', 'ab', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(((ab)+)+)+', 'ab', 'ab', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(((ab)+)+)+', 'dababc', 'abab', 'abab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{0,2})+', 'cc', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a*)+', '', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((a*)+)+', '', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)*)+', '', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{1,3}', 'aab', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2,3}', 'abaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)+|c*)+', 'abcccaba', 'abcccab', '', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2})|(b{3})', 'bbabbbb', 'bbb', '', 'bbb'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}|b{2}', 'abab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a)+|(c)+', 'bbacbaacbbb', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vab{2,3}c', 'aabbccccccccccccc', 'abbc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vab{2,3}c', 'aabbbccccccccccccc', 'abbbc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vab{2,3}cd{2,3}e', 'aabbbcddee', 'abbbcdde'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va(bc){2}d', 'aabcbfbc' ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'a', ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'aa', 'aa' ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'aaa', 'aaa' ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'bbbabcc', ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*b*|a*c*', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{1}b{1}|a{1}b{1}', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"submatches
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a)', 'ab', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a)(b)', 'ab', 'ab', 'a', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab)(b)(c)', 'abbc', 'abbc', 'ab', 'b', 'c'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((a)(b))', 'ab', 'ab', 'ab', 'a', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a)|(b)', 'ab', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a*)+', 'aaaa', 'aaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x', 'abcdef'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""" Simple tests """""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Search single groups
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'ab', 'aab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'ab', 'baced'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'ab', ' ab ', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Search multi-modifiers
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x*', 'xcd', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x*', 'xxxxxxxxxxxxxxxxsofijiojgf', 'xxxxxxxxxxxxxxxx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" empty match is good
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x*', 'abcdoij', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" no match here
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\+', 'abcdoin'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\+', 'abcdeoijdfxxiuhfij', 'xx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\+', 'xxxxx', 'xxxxx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\+', 'abc x siufhiush xxxxxxxxx', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\=', 'x sdfoij', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\=', 'abc sfoij', '']) " empty match is good
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\=', 'xxxxxxxxx c', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\?', 'x sdfoij', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" empty match is good
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\?', 'abc sfoij', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\?', 'xxxxxxxxxx c', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0,0}', 'abcdfdoij', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" same thing as 'a?'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0,1}', 'asiubid axxxaaa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" same thing as 'a\{0,1}'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{1,0}', 'asiubid axxxaaa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aa siofuh'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aaaaa asfoij afaa', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aaaaaaaa', 'aaaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0}', 'asoiuj', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2}', 'aaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2}', 'iuash fiusahfliusah fiushfilushfi uhsaifuh askfj na
[23;80Hs[24;1Hfvius afg aaaa sfiuhuhiushf', 'aa'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2}', 'abcdefghijklmnopqrestuvwxyz1234567890'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" same thing as 'a*'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0,}', 'oij sdigfusnf', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0,}', 'aaaaa aa', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2,}', 'sdfiougjdsafg'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2,}', 'aaaaasfoij ', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{5,}', 'xxaaaaxxx '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{5,}', 'xxaaaaaxxx ', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{,0}', 'oidfguih iuhi hiu aaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{,5}', 'abcd', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{,5}', 'aaaaaaaaaa', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" leading star as normal char when \{} follows
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '***'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '****', '****'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '*****', '*****'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" same thing as 'a*'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{}', 'bbbcddiuhfcd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{}', 'aaaaioudfh coisf jda', 'aaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0,0}', 'abcdfdoij', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" anti-greedy version of 'a?'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0,1}', 'asiubid axxxaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aa siofuh'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aaaaa asfoij afaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aaaaaaaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0}', 'asoiuj', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2}', 'aaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2}', 'abcdefghijklmnopqrestuvwxyz1234567890'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0,}', 'oij sdigfusnf', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0,}', 'aaaaa aa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2,}', 'sdfiougjdsafg'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2,}', 'aaaaasfoij ', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-,0}', 'oidfguih iuhi hiu aaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-,5}', 'abcd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-,5}', 'aaaaaaaaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" anti-greedy version of 'a*'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-}', 'bbbcddiuhfcd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-}', 'aaaaioudfh coisf jda', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test groups of characters and submatches
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(abc\)*', 'abcabcabc', 'abcabcabc', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(ab\)\+', 'abababaaaaa', 'ababab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(abaaaaa\)*cd', 'cd', 'cd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(test1\)\? \(test2\)\?', 'test1 test3', 'test1 ', 'test1',
[23;80H'[24;1H'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(test1\)\= \(test2\) \(test4443\)\=', ' test2 test4443 yupi
[23;80Hi[24;1Hiiiiiiiii', ' test2 test4443', '', 'test2', 'test4443'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(\(sub1\) hello \(sub 2\)\)', 'asterix sub1 hello sub 2 obe
[23;80Hl[24;1Hix', 'sub1 hello sub 2', 'sub1 hello sub 2', 'sub1', 'sub 2'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(\(\(yyxxzz\)\)\)', 'abcdddsfiusfyyzzxxyyxxzz', 'yyxxzz', '
[23;80Hy[24;1Hyxxzz', 'yyxxzz', 'yyxxzz'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)+|c+)+', 'abcccaba', 'abcccab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)|c*)+', 'abcccaba', 'abcccab', '', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a(c*)+b)+', 'acbababaaa', 'acbabab', 'ab', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a|b*)+', 'aaaa', 'aaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\p*', 'aá [34m^I[m', 'aá '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test greedy-ness and lazy-ness
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2,7}','aaaaaaaaaaaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2,7}x','aaaaaaaaax', 'aaaaaaax'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2,7}','aaaaaaaaaaaaaaaaaaaa', 'aaaaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2,7}x','aaaaaaaaax', 'aaaaaaax'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vx(.{-,8})yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz','ayxa
[23;80H'[24;1H,'xayzxayz'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\vx(.*)yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz', 'ayxayzx
[23;80Ha[24;1Hyzxa',''])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){-2,3}','aaaaaaa','aaaa','aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{-1,3})+', 'aa', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\s\{-}\zs\( x\|x$\)', ' x', ' x', ' x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\s\{-}\zs\(x\| x$\)', ' x', ' x', ' x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\s\{-}\ze\(x\| x$\)', ' x', '', ' x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\(\s\{-}\)\(x\| x$\)', ' x', ' x', '', ' x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test Character classes
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\d\+e\d\d','test 10e23 fd','10e23'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test collections and character range []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v[a]', 'abcd', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a[bcd]', 'abcd', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a[b-d]', 'acbd', 'ac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-d][e-f][x-x]d', 'cexdxx', 'cexd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v[[:alpha:]]+', 'abcdefghijklmnopqrstuvwxyz6','abcdefghijkl
[23;80Hm[24;1Hnopqrstuvwxyz'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '[[:alpha:]\+]', '6x8','x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^abc]\+','abcabcabc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^abc]','defghiasijvoinasoiunbvb','d'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^abc]\+','ddddddda','ddddddd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-d]\+','aaaAAAZIHFNCddd','AAAZIHFNC'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-f]*','iiiiiiii',''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-f]*','abcdefgh','abcdef'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-f]\+','abcdefgh','gh'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-c]\{-3,6}','abcabc','abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^[:alpha:]]\+','abcccadfoij7787ysf287yrnccdu','7787'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[-a]', '-', '-'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-]', '-', '-'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-f]*\c','ABCDEFGH','ABCDEF'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[abc][xyz]\c','-af-AF-BY--','BY'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" filename regexp
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[-./[:alnum:]_~]\+', 'log13.file', 'log13.file'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" special chars
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[\]\^\-\\]\+', '\^\\\-\---^', '\^\\\-\---^'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" collation elem
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[[.a.]]\+', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" middle of regexp
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc[0-9]*ddd', 'siuhabc ii'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc[0-9]*ddd', 'adf abc44482ddd oijs', 'abc44482ddd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_[0-9]\+', 'asfi9888u', '9888'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-9\n]\+', 'asfi9888u', '9888'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_[0-9]\+', "asfi\n9888u", "\n9888"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_f', " \na ", "\n"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_f\+', " \na ", "\na"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-9A-Za-z-_.]\+', " @0_a.A-{ ", "0_a.A-"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Test start/end of line, start/end of file
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^a.', "a_\nb ", "a_"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^a.', "b a \na_"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.a$', " a\n "])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.a$', " a b\n_a", "_a"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%^a.', "a a\na", "a "])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%^a', " a \na "])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.a\%$', " a\n "])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.a\%$', " a\n_a", "_a"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Test recognition of character classes
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-7]\+', 'x0123456789x', '01234567'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^0-7]\+', '0a;X+% 897', 'a;X+% 89'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-9]\+', 'x0123456789x', '0123456789'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^0-9]\+', '0a;X+% 9', 'a;X+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-9a-fA-F]\+', 'x0189abcdefg', '0189abcdef'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^0-9A-Fa-f]\+', '0189g;X+% ab', 'g;X+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z_A-Z0-9]\+', ';+aso_SfOij ', 'aso_SfOij'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-z_A-Z0-9]\+', 'aSo_;+% sfOij', ';+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z_A-Z]\+', '0abyz_ABYZ;', 'abyz_ABYZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-z_A-Z]\+', 'abAB_09;+% yzYZ', '09;+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z]\+', '0abcxyz1', 'abcxyz'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z]\+', 'AabxyzZ', 'abxyz'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-z]\+', 'a;X09+% x', ';X09+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-z]\+', 'abX0;%yz', 'X0;%'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-zA-Z]\+', '0abABxzXZ9', 'abABxzXZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-zA-Z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[A-Z]\+', 'aABXYZz', 'ABXYZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^A-Z]\+', 'ABx0;%YZ', 'x0;%'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z]\+\c', '0abxyzABXYZ;', 'abxyzABXYZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[A-Z]\+\c', '0abABxzXZ9', 'abABxzXZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\c[^a-z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\c[^A-Z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Tests for \z features
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" match ends at \ze
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'xx \ze test', 'xx '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\zeend', 'oij abcend', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaxx', ' aabb ', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaxx', ' aaxx ', 'aaxx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aabb\|aa\zebb', ' aabb ', 'aabb'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaebb', ' aabb ', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" match starts at \zs
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\zsdd', 'ddabcddxyzt', 'dd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aa \zsax', ' ax'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc \zsmatch\ze abc', 'abc abc abc match abc abc', 'match'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a \zsif .*){2}', 'a if then a if last', 'if last', 'a if
[23;80Hl[24;1Hast'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\>\zs.', 'aword. ', '.'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\s\+\ze\[/\|\s\zs\s\+', 'is [a t', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Tests for \@= and \& features
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\@=', 'abc', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\@=cd', 'abcd', 'abcd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\@=', 'ababc', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" will never match, no matter the input text
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abcd\@=e', 'abcd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" will never match
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abcd\@=e', 'any text in here ... '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(abc)@=..', 'xabcd', 'ab', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(.*John\)\@=.*Bob', 'here is John, and here is B'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(John.*\)\@=.*Bob', 'John is Bobs friend', 'John is Bob', '
[23;80HJ[24;1Hohn is Bobs friend'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\<\S\+\())\)\@=', '$((i=i+1))', 'i=i+1', '))'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.*John\&.*Bob', 'here is John, and here is B'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.*John\&.*Bob', 'John is Bobs friend', 'John is Bob'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(test1)@=.*yep', 'this is a test1, yep it is', 'test1, yep
[23;80H'[24;1H, 'test1'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, 'foo\(bar\)\@!', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\(bar\)\@!', 'foo bar', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'if \(\(then\)\@!.\)*$', ' if then else'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'if \(\(then\)\@!.\)*$', ' if else ', 'if else ', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@!bar', 'foobar', 'bar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@!...bar', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' bar foo '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' foo bar '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' foo xxx ', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[ ]\@!\p\%([ ]\@!\p\)*:', 'implicit mappings:', 'mappings:']
[23;80H)[24;1H[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '[ ]\@!\p\([ ]\@!\p\)*:', 'implicit mappings:', 'mappings:',
[23;80H'[24;1Hs'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, 'm\k\+_\@=\%(_\@!\k\)\@<=\k\+e', 'mx__xe', 'mx__xe'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%(\U\@<=S\k*\|S\l\)R', 'SuR', 'SuR'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Combining different tests and features
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[[:alpha:]]\{-2,6}', '787abcdiuhsasiuhb4', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '', 'abcd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(())', 'any possible text', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v%(ab(xyz)c)', ' abxyzc ', 'abxyzc', 'xyz'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(test|)empty', 'tesempty', 'empty', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a|aa)(a|aa)', 'aaa', 'aa', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" \%u and friends
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%d32', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%o40', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%x20', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%u0020', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%U00000020', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%d0', "yes\x0ano", "\x0a"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""" \%[abc]
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'fobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobar', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'fooxx', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobxx', 'foob'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobaxx', 'fooba'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobarxx', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]x', 'foobxx', 'foobx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]x', 'foobarxx', 'foobarx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'barxx', 'barx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'bxx', 'bx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'xxx', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'b\%[[ao]r]', 'bar bor', 'bar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'b\%[[]]r]', 'b]r bor', 'b]r'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '@\%[\w\-]*', '<http://john.net/pandoc/>[@pandoc]', '@pandoc'
[23;80H][24;1H)[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Alternatives, must use first longest match
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'goo\|go', 'google', 'goo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\<goo\|\<go', 'google', 'goo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\<goo\|go', 'google', 'goo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Back references
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(\i\+\) \1', ' abc abc', 'abc abc', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(\i\+\) \1', 'xgoo goox', 'goo goo', 'goo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(a\)\(b\)\(c\)\(dd\)\(e\)\(f\)\(g\)\(h\)\(i\)\1\2\3\4\5\6\7
[23;80H\[24;1H8\9', 'xabcddefghiabcddefghix', 'abcddefghiabcddefghi', 'a', 'b', 'c', 'dd', 'e
[23;80H'[24;1H, 'f', 'g', 'h', 'i'])
[?25l[1;1H[2L[1;1H:for pat in [' \ze*', ' \zs*']
: try[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(\d*\)a \1b', ' a b ', 'a b', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^.\(.\).\_..\1.', "aaa\naaa\nb", "aaa\naaa", 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.com', 'foo.bat/foo
[23;80H.[24;1Hcom', 'bat'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.bat'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<=$', 'foo.bat/foo.bat', 'foo.bat/foo
[23;80H.[24;1Hbat', 'bat', 'bat'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\\\@<!\${\(\d\+\%(:.\{-}\)\?\\\@<!\)}', '2013-06-27${0}', '$
[23;80H{[24;1H0}', '0'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '^\(a*\)\1$', 'aaaaaaaa', 'aaaaaaaa', 'aaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\(a\{-2,}\)\1\+$', 'aaaaaaaaa', 'aaaaaaaaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Look-behind with limit
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '<\@<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '<\@1<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '<\@2<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(<<\)\@<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<<
[23;80H'[24;1H])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(<<\)\@1<=span.', 'xxspanxxxx<spanxx<<spanyyy'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(<<\)\@2<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<
[23;80H<[24;1H'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@<!bar.', 'xx foobar1 xbar2 xx', 'bar2'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" look-behind match in front of a zero-width item
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v\C%(<Last Changed:\s+)@<=.*$', '" test header'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v\C%(<Last Changed:\s+)@<=.*$', '" Last Changed: 1970', '19
[23;80H7[24;1H0'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=\>', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=\>', 'barfoo', '', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=.*', 'foobar', 'bar', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" complicated look-behind match
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(r\@<=\|\w\@<!\)\/', 'x = /word/;', '/'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^[a-z]\+\ze \&\(asdf\)\@<!', 'foo bar', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""" \@>
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(a*\)\@>a', 'aaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\(.\{-}b\)\@>.', ' abcbd', ' abc', ' ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(.\{-}\)\(\)\@>$', 'abc', 'abc', 'abc', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TODO: BT engine does not restore submatch after failure
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" "\_" prepended negated collection matches EOL
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_[^8-9]\+', "asfi\n9888", "asfi\n"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_[^a]\+', "asfi\n9888", "sfi\n9888"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Requiring lots of states.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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[1;1H[2L[1;1H:for pat in [' \ze*', ' \zs*']
: try[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Skip adding state twice
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=', "#if FOO",
[23;80H"[24;1H#if", ' FOO'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""" Test \%V atom
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%>70vGesamt', 'Jean-Michel Charlier & Victor Hubinon\Gesamt
[23;80Ha[24;1Husgabe [Salleck] Buck Danny {Jean-Michel Charlier & Victor Hubinon}\Gesamtau
[23;80Hs[24;1Hgabe', 'Gesamt'])
[?25l[1;1H[2L[1;1H:for pat in [' \ze*', ' \zs*']
: try[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Run the tests
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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 ®expengine = 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
[23;80Hx[24;1Ht . '\", 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
[23;80Hx[24;1Ht . '\", 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
[23;80Hx[24;1Ht . '\", 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:[8C[?12l[?25h: if len(t) <= matchidx + i
[?25l:[10C[?12l[?25h: let e = ''
[?25l:[10C[?12l[?25h: else
[?25l:[10C[?12l[?25h: let e = t[matchidx + i]
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: if l[i] != e
[?25l:[10C[?12l[?25h: $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text:
"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: endfor
[?25l: [?12l[?25h: unlet i
[?25l: [?12l[?25h: endif
[?25l: [?12l[?25h: endfor
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[1;1HOK 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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""""" multi-line tests """"""""""""""""""""
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tl = []
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" back references
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^.\(.\).\_..\1.', ['aaa', 'aaa', 'b'], ['XX', 'b']])
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v.*\/(.*)\n.*\/\1$', ['./Dir1/Dir2/zyxwvuts.txt', './Dir1/D
[23;80Hi[24;1Hr2/abcdefgh.bat', '', './Dir1/Dir2/file1.txt', './OtherDir1/OtherDir2/file1.txt
[23;80H'[24;1H], ['./Dir1/Dir2/zyxwvuts.txt', './Dir1/Dir2/abcdefgh.bat', '', 'XX']])
[?25l[1;1H[2L[1;1HOK 0 - ^\(.\{-}b\)\@>.
OK 1 - ^\(.\{-}b\)\@>.[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" line breaks
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\S.*\nx', ['abc', 'def', 'ghi', 'xjk', 'lmn'], ['abc', 'def'
[23;80H,[24;1H 'XXjk', 'lmn']])
[?25l[1;1H[L[1;1HOK 0 - ^\(.\{-}b\)\@>.[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check that \_[0-9] matching EOL does not break a following \>
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)
[23;80H\[24;1H.\)\{3\}\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>', ['', 'loca
[23;80Hl[24;1Hnet/192.168.0.1', ''], ['', 'localnet/XX', '']])
[?25l[1;1H[2L[1;1HOK 0 - ^\(.\{-}b\)\@>.
OK 1 - ^\(.\{-}b\)\@>.[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check a pattern with a line break and ^ and $
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\n^b$\n^c', ['a', 'b', 'c'], ['XX']])
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(^.\+\n\)\1', [' dog', ' dog', 'asdf'], ['XXasdf']])
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Run the multi-line tests
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='multi-line tests'
[?25l[1;23r[23;1H
[1;24r[23;1Hmulti-line tests[24;1H[K[23;1H[?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 ®expengine = 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) .
[23;80H'[24;1H\", 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
[27m[23m[m[H[2J[?25l[1;1HOK 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[13;1H\_[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[15;1H\_[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[17;1H\_[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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check that using a pattern on two lines doesn't get messed up by using
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" matchstr() with \ze in between.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset re=0
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Substitute here
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: 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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.+1,.+2s/""/\='"'.matchstr(getline("."), '\d\+\ze<').'"'
[?25l[13;5H5">Ta 5</Title>
<T="7">Ac 7</Title>
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Substitute here
[?25l[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.+1,.+2yank
[?25l[12;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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[13;1H\_[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[15;1H\_[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[17;1H\_[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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H<T="5">Ta 5</Title>
[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check a pattern with a look beind crossing a line boundary
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Behind:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: 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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25h\(<\_[xy]\+\)\@3<=start
[?25l[18;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.yank
[?25l[18;3H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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[10;1H\_[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[12;1H\_[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[14;1H\_[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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxxstart3
[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check matching Visual area
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Visual:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H<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:
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[mthe[?25l[?12l[?25h[?25l[7mxe the the[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[?12l[?25hs/\%Ve/E/g
[?25l3 substitutions on 1 line[13;4HxE thE thE
[?12l[?25h
[?25la[7mndaxand andaxand
[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[?12l[?25hs/\%Va/A/g
[?25l6 substitutions on 1 line[14;1HAndAxAnd AndAxAnd[14;18H[K[14;1H[?12l[?25h
ooo[?25l[?12l[?25h[?25l[7mxofor foro[?12l[?25h[?25lx
[mooo[7mxofor foro[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[?12l[?25hs/\%Vo/O/g
[?25l8 substitutions on 2 lines[15;4HxOfOr fOrOx
oooxOfOr fOrO
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^Visual/+1,/^Visual/+4yank
[?25l[31msearch hit BOTTOM, continuing at TOP[m
4 lines yanked[24;15H[K[16;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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[8;1H\_[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[10;1H\_[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[12;1H\_[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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
4 more lines[1;23r[23;1H
[1;24r[23;1HthexE thE thExethe[24;1H[K[24;1H4 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check matching marks
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Marks:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1Hasdfasd<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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[masdf[9C[?25l[24;1H[K[24;1H:[?12l[?25h.-4,.+6s/.\%>'s.*\%<'e../here/
[?25l[13;5Hhereasdf[13;13H[K[13;1H[?12l[?25h
asdf
dfsa
dfsadf[?25l[24;1H[K[24;1H:[?12l[?25h.-4,.+6s/.\%>'s\_.*\%<'e../again/
[?25l[14;23r[23;1H
[1;24r[14;1Hasdfagainasdf[23;1HOK 0 - bc*[24;1H[K[14;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^Marks:/+1,/^Marks:/+3yank
[?25l[31msearch hit BOTTOM, continuing at TOP[m
3 lines yanked[24;15H[K[14;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 2 - \S.*\nx
OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255[3;1H\_[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[5;1H\_[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[7;1H\_[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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
3 more lines[1;23r[1;1H[2M[1;24r[22;1Hasdfhereasdf
asdfagainasdf[24;1H[K[24;1H3 more lines[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check patterns matching cursor position.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunc! Postest()
[?25l
: [?12l[?25h new
[?25l: [?12l[?25h call setline(1, ['ffooooo', 'boboooo', 'zoooooo', 'koooooo', 'moooooo', "\t
[23;80H\[24;1Ht\tfoo", 'abababababababfoo', 'bababababababafoo', '********_', ' xxxxxx
[23;80Hx[24;1Hxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxx xx xxxx
xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxx xxxxxxxxxx
[23;80Hx[24;1Hxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxx xxxxxxxxxxx
[23;80Hx[24;1H xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx xxxxxxxxx xxxx
[23;80Hx[24;1Hxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxx xxx xxx xx
[23;80Hx[24;1Hxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx xxxxxxxxxxxx x
[23;80Hx[24;1Hxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxxxxx
[23;80Hx[24;1Hxxx 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
[27m[23m[m[H[2J[?25l[1;1HOK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255[2;1H\_[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[4;1H\_[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[22;1H[?12l[?25h[?25l[1;4H2[75C55[2;1H\
OK 0 - a\n^b$\n^c[3;18H[K[4;1HOK 1 - a\n^b$\n^c[4;18H[K[5;4H2
OK 0 - \(^.\+\n\)\1
OK 1 - \(^.\+\n\)\1
OK 2[9;1H[K[10;1H<T="5">Ta 5</Title>
<T="7">Ac 7</Title>[12;1H[K[13;1Hxxstart3[13;9H[K[15;1HthexE thE thExethe
AndAxAnd AndAxAnd
oooxOfOr fOrOxooo[17;18H[K[18;1HoooxOfOr fOrOxooo[19;1H[K[20;1Hasdfhereasdf[20;13H[K[21;1Hasdfagainasdf[22;1H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[m
-0-[23;4H[K[23;3H[?12l[?25h[?25l
:[?12l[?25hset re=0
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines
10 lines yanked
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput
[?25l10 more lines
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[3L[?25l[1;1HoooxOfOr fOrOxooo
asdfhereasdf
asdfagainasdf[4;14H[K[5;1H[K[6;1H-0-[6;4H[K[7;1Hffo[7;4H[K[8;1Hbob[8;4H[K[9;1H__ooooo
koooo__[10;8H[K[11;1Hmoooooo[11;8H[K[12;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_[15;11H[K[16;1H ! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[17;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[18;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[19;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [20;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[21;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [22;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[23;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx[24;1H[K[16;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-1-[?12l[?25h[?25l
:[?12l[?25hset re=1
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines
10 lines yanked
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput
[?25l10 more lines
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[3L[?25l[1;1H-1-
ffo
bob
__ooooo
koooo__
moooooo
[21Cf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxx[8C xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxx[8Cxxxxxxxxxxxxx xxxx[18;1Hxxxxxx [7Cxxx xxxx xx xxxxxxxx xxx xxxxxx[9Cx[18;58H[K[19;1H[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[11;3H[?12l[?25h[?25l[19;1H-2-[19;4H[K[19;3H[?12l[?25h[?25l[24;1H:[?12l[?25hset re=2
[?25l[19;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines
10 lines yanked
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput
[?25l10 more lines
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[3L[1;1H-2-
ffo
bob[19;1H[1m[34m~ [m[24;1H[K[11;3H[?12l[?25h[?25l[24;1H:[?12l[?25h" start and end of buffer
[?25l[11;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%^
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1HTest 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 """"""""""""""""""""""""""""""""
:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
:"
[31msearch hit BOTTOM, continuing at TOP[1;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H-2-
ffo
bob
__ooooo
koooo__
moooooo[7;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[18;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx
[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [11;3H[?12l[?25h[?25l[m[19;1H[K[19;1H[?12l[?25h[?25lTest[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[19;4H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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}[12;1H[?12l[?25h[?25l[24;1H/[?12l[?25h\%^..
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1HTest 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 """"""""""""""""""""""""""""""""
:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
:"
[31msearch hit BOTTOM, continuing at TOP[1;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H-2-
ffo
bob
__ooooo
koooo__
moooooo[7;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[18;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx
Test
[1m[34m~ [21;1H~ [22;1H~ [23;1H~ [19;1H[?12l[?25h[?25l[m[20;1H[K[20;1H[?12l[?25h[?25lTest[?12l[?25h[?25lt END[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[20;8H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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}[12;1H[?12l[?25h[?25l[24;1H/[?12l[?25h\%$
[?25l[27m[23m[m[H[2J[1;1H-2-
ffo
bob
__ooooo
koooo__
moooooo[7;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[18;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx
Test
Test END
[1m[34m~ [22;1H~ [23;1H~ [20;8H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H:" 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'])[12;1H[?12l[?25h[?25l[24;1H/[?12l[?25h..\%$
[?25l[27m[23m[m[H[2J[1;1H-2-
ffo
bob
__ooooo
koooo__
moooooo[7;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[18;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx
Test
Test END
[1m[34m~ [22;1H~ [23;1H~ [20;7H[?12l[?25h
[?25l[m[21;1H[K[21;1H[?12l[?25h[?25lEN[?12l[?25h[?25l[22;1H[K[22;1H[?12l[?25h[?25lE[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check for detecting error
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset regexpengine=2
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[7L[?25l[1;1Hffo
bob
__ooooo
koooo__
moooooo[6;25Hf__
ab!babababababfoo
ba!ab##abab?ba
**!*****_[9;10H[K[10;1H ! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[11;1Hxxxxxx xx xxxx xxxxxxxx[12Cxxxxx xxx xxxxxxx xxxxxxxxx [12C xxxxx[12;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxx[11Cxx xxxx xxx xxxx xxx xxx xxxx[13;1Hxx x[11C [15Cxxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [14;1Hxxxxxxxxx xxxxxxx x x[8C xx xxxxxx xxxxxxx xxxxxxx[8Cxxx xxxx[7Cxx[15;1Hxxx xxx xxx xxxxxxxx [7C xxxx xxx xxxxxx xxxxx xxxxx xx [18C [16;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xx[8Cxxx xxxxx [9Cxx xxxxxxxx[7Cx xxxx[17;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxx[17;58H[K[18;1HTest[18;5H[K[19;6HEND
EN[20;3H[K[21;2H[K[22;2H888 detected for \ze*
E888 detected for \zs*[23;24H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""" Write the results """""""""""""
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/\%#=1^Results/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test65.in" 95 lines, 2153 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for floating point and logical operators.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 89 lines, 2067 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has("float")
[?25l
: [?12l[?25h: e! test.ok
[?25l: [?12l[?25h: wq! test.out
[?25l: [?12l[?25h:endif
[1;1H[3L[?25l[1;1H:$put =float2nr(123.456)
:$put =float2nr(-123.456)
:$put ='AND'[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =printf('%f', 123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H123.456000[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%e', 123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H1.234560e+02[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H123.456[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" check we don't crash on division by zero
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hecho 1.0 / 0.0
[?25linf[24;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='+='
[?25l[1;23r[23;1H
[1;24r[23;1H+=[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet v = 1.234
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v += 6.543
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =printf('%g', v)
[?25l[1;23r[23;1H
[1;24r[23;1H7.777[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet v = 1.234
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v += 5
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =printf('%g', v)
[?25l[1;23r[23;1H
[1;24r[23;1H6.234[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet a = 5
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet a += 3.333
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(a)
[?25l[1;23r[23;1H
[1;24r[23;1H8.333[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='=='
[?25l[1;23r[23;1H
[1;24r[23;1H==[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet v = 1.234
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =v == 1.234
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =v == 1.2341
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='add-subtract'
[?25l[1;23r[23;1H
[1;24r[23;1Hadd-subtract[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 4 + 1.234)
[?25l[1;23r[23;1H
[1;24r[23;1H5.234[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 1.234 - 8)
[?25l[1;23r[23;1H
[1;24r[23;1H-6.766[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='mult-div'
[?25l[1;23r[23;1H
[1;24r[23;1Hmult-div[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 4 * 1.234)
[?25l[1;23r[23;1H
[1;24r[23;1H4.936[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 4.0 / 1234)
[?25l[1;23r[23;1H
[1;24r[23;1H0.003241[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='dict'
[?25l[1;23r[23;1H
[1;24r[23;1Hdict[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string({'x': 1.234, 'y': -2.0e20})
[?25l[1;23r[23;1H
[1;24r[23;1H{'x': 1.234, 'y': -2.0e20}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='list'
[?25l[1;23r[23;1H
[1;24r[23;1Hlist[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string([-123.4, 2.0e-20])
[?25l[1;23r[23;1H
[1;24r[23;1H[-123.4, 2.0e-20][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='abs'
[?25l[1;23r[23;1H
[1;24r[23;1Habs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%d', abs(1456))
[?25l[1;23r[23;1H
[1;24r[23;1H1456[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%d', abs(-4))
[?25l[1;23r[23;1H
[1;24r[23;1H4[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%d', abs([1, 2, 3]))
[?25l[1m[37m[41mE745: Using a List as a Number[m[24;32H[K[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', abs(14.56))
[?25l[1;23r[23;1H
[1;24r[23;1H14.56[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', abs(-54.32))
[?25l[1;23r[23;1H
[1;24r[23;1H54.32[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ceil'
[?25l[1;23r[23;1H
[1;24r[23;1Hceil[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', ceil(1.456))
[?25l[1;23r[23;1H
[1;24r[23;1H2.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', ceil(-5.456))
[?25l[1;23r[23;1H
[1;24r[23;1H-5.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', ceil(-4.000))
[?25l[1;23r[23;1H
[1;24r[23;1H-4.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='floor'
[?25l[1;23r[23;1H
[1;24r[23;1Hfloor[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', floor(1.856))
[?25l[1;23r[23;1H
[1;24r[23;1H1.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', floor(-5.456))
[?25l[1;23r[23;1H
[1;24r[23;1H-6.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', floor(4.0))
[?25l[1;23r[23;1H
[1;24r[23;1H4.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='log10'
[?25l[1;23r[23;1H
[1;24r[23;1Hlog10[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', log10(1000))
[?25l[1;23r[23;1H
[1;24r[23;1H3.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', log10(0.01000))
[?25l[1;23r[23;1H
[1;24r[23;1H-2.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='pow'
[?25l[1;23r[23;1H
[1;24r[23;1Hpow[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', pow(3, 3.0))
[?25l[1;23r[23;1H
[1;24r[23;1H27.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', pow(2, 16))
[?25l[1;23r[23;1H
[1;24r[23;1H65536.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='round'
[?25l[1;23r[23;1H
[1;24r[23;1Hround[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', round(0.456))
[?25l[1;23r[23;1H
[1;24r[23;1H0.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', round(4.5))
[?25l[1;23r[23;1H
[1;24r[23;1H5.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', round(-4.50))
[?25l[1;23r[23;1H
[1;24r[23;1H-5.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='sqrt'
[?25l[1;23r[23;1H
[1;24r[23;1Hsqrt[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', sqrt(100))
[?25l[1;23r[23;1H
[1;24r[23;1H10.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hecho sqrt(-4.01)
[?25lnan[24;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='str2float'
[?25l[1;23r[23;1H
[1;24r[23;1Hstr2float[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', str2float('1e40'))
[?25l[1;23r[23;1H
[1;24r[23;1H1.0e40[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='trunc'
[?25l[1;23r[23;1H
[1;24r[23;1Htrunc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', trunc(1.456))
[?25l[1;23r[23;1H
[1;24r[23;1H1.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', trunc(-5.456))
[?25l[1;23r[23;1H
[1;24r[23;1H-5.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', trunc(4.000))
[?25l[1;23r[23;1H
[1;24r[23;1H4.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='float2nr'
[?25l[1;23r[23;1H
[1;24r[23;1Hfloat2nr[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =float2nr(123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H123[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =float2nr(-123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H-123[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='AND'
[?25l[1;23r[23;1H
[1;24r[23;1HAND[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(127, 127)
[?25l[1;23r[23;1H
[1;24r[23;1H127[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(127, 16)
[?25l[1;23r[23;1H
[1;24r[23;1H16[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(127, 128)
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='OR'
[?25l[1;23r[23;1H
[1;24r[23;1HOR[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =or(16, 7)
[?25l[1;23r[23;1H
[1;24r[23;1H23[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =or(8, 7)
[?25l[1;23r[23;1H
[1;24r[23;1H15[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =or(0, 123)
[?25l[1;23r[23;1H
[1;24r[23;1H123[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='XOR'
[?25l[1;23r[23;1H
[1;24r[23;1HXOR[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =xor(127, 127)
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =xor(127, 16)
[?25l[1;23r[23;1H
[1;24r[23;1H111[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =xor(127, 128)
[?25l[1;23r[23;1H
[1;24r[23;1H255[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='invert'
[?25l[1;23r[23;1H
[1;24r[23;1Hinvert[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(invert(127), 65535)
[?25l[1;23r[23;1H
[1;24r[23;1H65408[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(invert(16), 65535)
[?25l[1;23r[23;1H
[1;24r[23;1H65519[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(invert(128), 65535)
[?25l[1;23r[23;1H
[1;24r[23;1H65407[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =invert(1.0)
[?25l[1m[37m[41mE805: Using a Float as a Number[1;23r[m[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^Results/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test66.in" 33 lines, 509 characters[2;1HTest for visual block shift and tab characters.
STARTTEST
:so small.vim
/^one
fe[34m^V[m4jR[34m^[[mugvr1:'<,'>w! test.out
/^abcdefgh
[34m^V[m4jI [34m^[[mj<<11|D
7|a[13C[34m^[[m
7|a[16C[34m^[[m
7|a[13C[34m^[[m4k13|[34m^V[m4j<
:$-5,$w >> test.out
:$-4,$s/\s\+//g
[34m^V[m4kI [34m^[[mj<<
7|a[13C[34m^[[m
7|a[37C[34m^[[m
7|a[21C[34m^[[m4k13|[34m^V[m4j3<
:$-4,$w >> test.out
:qa!
ENDTEST
one two three[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 16 lines, 234 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^one
[?25l[23;1H[?12l[?25hon[?25l[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[19;3H[7me[m
on[7me[m two three
on[7me[m two three
on[7me[m two three
one two three[24;1H[K[23;3H[?12l[?25h[?25l
4 fewer lines[19;1H[K[20;1H[K[21;1Habcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz[19;1H[?12l[?25h[?25l[24;3Hmore lines; before #1 0 seconds ago[19;1Hone two three
one two three
one two three[21;14H[K[22;1Hone two three[22;14H[K[23;1Hone two three[23;14H[K[20;1H[?12l[?25h[?25l[19;3H[7me
[mon[7me
[mon[7me
[mon[7me
[mon[?12l[?25h[?25l[19;3H1
on1
on1
on1
on1[19;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h'<,'>w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 5 lines, 70 characters written[19;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^abcdefgh
[?25l[1;23r[1;1H[2M[1;24r[23;1Habcdefghijklmnopqrstuvwxyz[24;1H[K[23;1H[?12l[?25h[?25l[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[19;1H[7ma
a[mbcdefghijklmnopqrstuvwxyz
[7ma[mbcdefghijklmnopqrstuvwxyz
[7ma[mbcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
[?12l[?25h[?25l[19;1Ha
a
a
a[19;1H abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz[19;1H[?12l[?25h
[?25labcdefghijklmnopqrstuvwxyz[20;27H[K[20;1H[?12l[?25h[10C[?25l[20;11H[K[20;10H[?12l[?25h[21;10H[?25lc defghijklmnopqrstuvwxyz[21;16H[?12l[?25h[22;16H[22;7H[?25lc defghijklmnopqrstuvwxyz[22;19H[?12l[?25h[23;19H[23;7H[?25lc defghijklmnopqrstuvwxyz[23;16H[?12l[?25h[19;16H[?25l[?12l[?25h[?25l[7mi[21;13H [22;13H [23;13H[?12l[?25h[?25l[m
5 lines <ed 1 time[19;13Hi[21;13Hdefghijklmnopqrstuvwxyz[21;36H[K[22;13Hdefghijklmnopqrstuvwxyz[22;36H[K[23;13Hdefghijklmnopqrstuvwxyz[23;36H[K[19;13H[?12l[?25h[20;10H[?25l[24;1H[K[24;1H:[?12l[?25h$-5,$w >> test.out
[?25l"test.out"[24;12H[K[24;12H6 lines, 151 characters appended[20;10H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$-4,$s/\s\+//g
[?25l7 substitutions on 4 lines[19;1Habcdefghijklmnopqrstuvwxyz[19;27H[K[21;1Habcdefghijklmnopqrstuvwxyz[21;27H[K[22;1Habcdefghijklmnopqrstuvwxyz[22;27H[K[23;1Habcdefghijklmnopqrstuvwxyz[23;27H[K[23;1H[?12l[?25h[?25l[?12l[?25h[?25l[20;1H[7ma
a
a
a[19;1H[?12l[?25h[?25l[m
a
a
a
a[19;1H abcdefghijklmnopqrstuvwxyz
abcdefghij
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz[19;1H[?12l[?25h
[?25labcdefghij[20;11H[K[20;1H[?12l[?25h
ab[?25lc defghijklmnopqrstuvwxyz[21;16H[?12l[?25h[22;16H[22;7H[?25lc [10Cdefghijklmnopqrstuvwxyz[22;40H[?12l[?25h[23;30H[23;7H[?25lc defghijklmnopqrstuvwxyz[23;24H[?12l[?25h[19;24H[19;13H[?25l[?12l[?25h[?25l[7mi[21;13H [22;13H [23;13H[?12l[?25h[?25l[m
5 lines <ed 3 times[24;20H[K[19;13Hi[21;13Hdefghijklmnopqrstuvwxyz[21;36H[K[22;13H defghijklmnopqrstuvwxyz[22;41H[K[23;13Hdefghijklmnopqrstuvwxyz[23;36H[K[19;13H[?12l[?25h[20;10H[?25l[24;1H[K[24;1H:[?12l[?25h$-4,$w >> test.out
[?25l"test.out"[24;12H[K[24;12H5 lines, 147 characters appended[20;10H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test67.in" 33 lines, 1110 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest that groups and patterns are tested correctly when calling exists() for[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 27 lines, 999 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[9M[1;24r[15;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet results=[]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haugroup auexists
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haugroup END
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "##BufEnter: " . exists("##BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter: " . exists("#BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter * let g:entered=1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter: " . exists("#BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haugroup auexists
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter * let g:entered=1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haugroup END
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter *.test let g:entered=1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit testfile.test
[?25l"testfile.test" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter <buffer> let g:entered=1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit testfile2.test
[?25l"testfile2.test" [New File][1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [New File][1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(0, results)
[?25l[1;23r[1;1H[10L[1;24r[1;1H##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[24;1H[K[11;1H[?12l[?25h[?25l[24;1H:[?12l[?25h$d
[?25l[11;1H[1m[34m~ [10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" [New File] 10 lines, 190 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test68.in" 131 lines, 1004 characters[1;1HTest for text formatting.
Results of test68:
STARTTEST
:so small.vim
/^{/+1
:set noai tw=2 fo=t
gRa b[34m^[[m
ENDTEST
{
}
STARTTEST
/^{/+1
:set ai tw=2 fo=tw
gqgqjjllab[34m^[[m
ENDTEST
{[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for text formatting.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 4 lines, 48 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noai tw=2 fo=t
[?25l[13;1H[?12l[?25h[?25la
b[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 38 characters written[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[18;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[23;1H
[1;24r[23;1Ha b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset ai tw=2 fo=tw
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4H[K[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Ha[?12l[?25ha [?25l[1;23r[23;1H
[1;24r[23;1Hb[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H4 lines, 34 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H:set tw=3 fo=t
gqgqo
a [34m^V^A^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
a [34m^A[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=3 fo=t
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3H[K[23;1H[34m^A[m[24;1H[K[23;1H[?12l[?25h[2C[?25l[1;23r[1;1H[3M[1;24r[22;1Ha
[34m^A
[?12l[?25h[?25l[1;23r[m[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 58 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H:set tw=2 fo=tcq1 comments=:#
gqgqjgqgqo
a b
#a b[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
a b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=2 fo=tcq1 comments=:#
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H#a b[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Ha b
#a b[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 46 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=5 fo=tcn comments=:#
A b[34m^[[mjA b[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
1 a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=5 fo=tcn comments=:#
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hb[24;1H[K[23;5H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# 1 a[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# b[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+3
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 35 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=5 fo=t2a si
i [34m^[[mA_[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+3
[?25l[1;23r[1;1H[4M[1;24r[20;1H{
x a
b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=5 fo=t2a si
[?25l[23;1H[?12l[?25h[?25l b[?12l[?25h[?25l b_[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc[24;1H[K[23;5H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[4M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 40 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=5 fo=qn comments=:#
gwap
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
# 1 a b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=5 fo=qn comments=:#
[?25l[23;1H[?12l[?25h[?25l[23;7H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# b[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 40 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=5 fo=q2 comments=:#
gwap
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
# x[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=5 fo=q2 comments=:#
[?25l[23;1H[?12l[?25h[?25l# x a
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# b[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+2
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 26 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw& fo=a
I^^[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+2
[?25l[1;23r[1;1H[3M[1;24r[21;1H{
1aa
2bb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw& fo=a
[?25l[23;1H[?12l[?25h[?25l[21;3H1aa ^^2bb }[22;4H[K[23;1HSTARTTEST[21;8H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/mno pqr/[24;1H[K[23;1H[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 69 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:setl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/
A vwx yz[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hmno pqr/
[?25l[24;9H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/* abc def ghi jkl
* mno pqr stu[24;1H[K[23;7H[?12l[?25h[?25l
:[?12l[?25hsetl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/
[?25l[23;7H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H* vwx yz[24;1H[K[23;12H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H*/[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^#/
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 47 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:setl tw=12 fo=tqnc comments=:#
A foobar[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^#/
[?25l[24;4H[K[24;1H[1;23r[23;1H
[1;24r[23;1H# 1 xxxxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hsetl tw=12 fo=tqnc comments=:#
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# foobar[24;1H[K[23;10H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2 lines, 56 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[23;19H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:1;/^Results/,$wq! test.out[24;1H[K[23;19H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l63 fewer lines[24;15H[K[1;1H# 1 a[1;6H[K[2;1H# b[2;6H[K[3;1H}[3;2H[K[4;1H[K[5;1H[K[6;1H{
# x a[7;6H[K[8;1H# b[8;7H[K[9;1H}[9;2H[K[10;2H[K[12;1H{ 1aa ^^2bb }[13;1H[K[14;1H[K[15;1H/* abc def ghi jkl
* mno pqr stu
* vwx yz
*/[18;5H[K[19;1H[K[21;1H# 1 xxxxx
# foobar[22;11H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test69.in" 192 lines, 2185 characters[1;1HTest 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[34m^[[m
ENDTEST
{
XYZ
abc XYZ[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for multi-byte text formatting.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 2 lines, 34 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1HTest 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[34m^[[m
ENDTEST
{
XYZ
abc XYZ[10;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 58 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=2 fo=t
[?25l[22;1H[?12l[?25h
[?25l[1;23r[23;1H
[1;24r[22;5H[K[23;1HXYZ[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5HZ
abc [?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HX[?12l[?25h[?25lY[?12l[?25h[?25lZ[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H8 lines, 80 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[8M[1;24r[16;1H:set tw=1 fo=tm
gqgqjgqgqjgqgqjgqgqjgqgqo
X
Xa
X a
XY
X Y[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
X[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=1 fo=tm
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3H[K[23;1Ha[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HX a
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4H[K[23;1Ha[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3H[K[23;1HY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HX Y
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4H[K[23;1HY
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HX
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;1HX
a
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;1HX
a
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HY
[?12l[?25h[?25lX [?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H13 lines, 140 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo
X
Xa
X a
XY
X Y
aX
abX
abcX
abX c
abXY[34m^[[m
ENDTEST
{
X
Xa
X a
XY
X Y
aX
abX
abcX
abX c[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=2 fo=tm
[?25l[15;1H[?12l[?25h
[?25l[17;23r[17;1H[L[1;24r[16;3H[K[17;1Ha[24;1H[K[17;1H[?12l[?25h
[?25l[19;23r[19;1H[L[1;24r[18;4H[K[19;1Ha[?12l[?25h
[?25l[21;23r[21;1H[L[1;24r[20;3H[K[21;1HY
[?12l[?25h
[?25l[22;4H[K[23;1HY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HaX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HabX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3H[K[23;1HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HabcX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4H[K[23;1HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HabX c
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;3H[K[22;1HX
c[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HabXY
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;3H[K[22;1HX
Y
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HX
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;1HX
a
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;1HX
a
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HY
[?12l[?25h[?25lX [?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HY
a[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HX
ab[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HX
abc[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HX
ab[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1HX
c
ab[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HX[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 47 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H:set ai tw=2 fo=tm
gqgqjgqgqo
X
Xa[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
X[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset ai tw=2 fo=tm
[?25l[23;1H[?12l[?25h [?25l[1;23r[23;1H
[1;24r[23;3HXa[24;1H[K[23;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5H[K[23;3Ha[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
a[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 53 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H:set noai tw=2 fo=tm
gqgqjgqgqo
X
Xa[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
X[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset noai tw=2 fo=tm
[?25l[23;1H[?12l[?25h [?25l[1;23r[23;1H
[1;24r[23;3HXa[24;1H[K[23;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5H[K[23;1Ha[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
a[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H13 lines, 169 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo
X
Xa
XaY
XY
XYZ
X Y
X YZ
XX
XXa
XXY[34m^[[m
ENDTEST
{
X
Xa
XaY
XY
XYZ
X Y
X YZ
XX
XXa[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=2 fo=cqm comments=n:X
[?25l[15;1H[?12l[?25h
[?25l[18;23r[18;1H[L[1;24r[17;4H[K[18;1HXY[24;1H[K[18;1H[?12l[?25h
[?25l[21;23r[21;1H[L[1;24r[20;5H[K[21;1HXZ
[?12l[?25h
[?25l[1;23r[23;1H
[1;24r[22;6H[K[23;1HX Z
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXXa
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXXY
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HXa
[?12l[?25h[?25lXa[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HXY
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HY
[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HXZ
[?12l[?25h[?25lX [?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4HY
[?12l[?25h[?25lX [?12l[?25h[?25lY[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HX Z
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HXa
[?12l[?25h[?25lX[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 30 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=2 fo=tm
RXa[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=2 fo=tm
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HX
a[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 34 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set mps+=[34m^V[mu2018:[34m^V[mu2019
d%
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
‘[23;3Htwo three ’[23;15Hfour[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset mps+=^‘[24;12H:^’[24;14H
[?25l[23;1H[?12l[?25h[?25l four[23;7H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^ra test
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2 lines, 16 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1HjVjra
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^ra test
[?25l[1;23r[23;1H
[1;24r[23;1Hra test[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Habba
[?12l[?25h[?25l[2C[7mbba
[?12l[?25h[?25l[1;23r[m[23;1H
[1;24r[22;1H[7ma[m
a[7mab
[?12l[?25h[?25l[m[22;1Haaaa[22;5H[K[23;1Haaa[7m [m[23;4H[K[22;1H[?12l[?25h
[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set whichwrap+=h
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H4 lines, 43 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H/^x
dh
:set whichwrap-=h
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset whichwrap+=h
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^x
[?25l[1;23r[1;1H[2M[1;24r[22;1Há[23;1Hx[24;1H[K[23;1H[?12l[?25h[?25l[22;2Hx[23;1H[K[22;2H[?12l[?25h
[?25l
:[?12l[?25hset whichwrap-=h
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:let a = '.é[23;13H.' " one char of two bytes
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H9 lines, 548 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[13M[1;24r[11;1H:let b = '.é.' " normal e with composing char
/^byteidx
:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[14;1Hx(a, 4)])
:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[16;1Hx(b, 4)])
/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[19;1Hmp(a, 3), byteidxcomp(a, 4)])
:let b = '.é.'
:put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[22;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet a = '.é[24;13H.' " one char of two bytes
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b = '.eé.' " normal e with composing char
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^byteidx
[?25l[1;23r[23;1H
[1;24r[23;1Hbyteidx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), bytei
[23;80Hd[24;1Hx(a, 4)])
[?25l[1;1H[L[1;1H:set whichwrap-=h
ENDTEST[2;8H[K[3;1H[K[4;1Há[4;2Hx[5;1H[K[6;1HSTARTTEST
:let a = '.é[7;13H.' " one char of two bytes[8;6Hb = '.é.' " normal e with composing char
/^byteidx[9;10H[K[10;1H:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[11;1Hx(a, 4)])[11;10H[K[12;1H:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[13;1Hx(b, 4)])[13;10H[K[14;1H/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[16;1Hmp(a, 3), byteidxcomp(a, 4)])[16;30H[K[17;1H:let b = '.é.'[17;15H[K[18;2Hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[19;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])[19;49H[K[20;1HENDTEST[20;8H[K[21;1H[K[22;1Hbyteidx
[0, 1, 3, 4, -1][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), bytei
[23;80Hd[24;1Hx(b, 4)])
[?25l[1;1H[L[1;1HENDTEST[2;1H[K[3;1Há[3;2Hx[4;1H[K[5;1HSTARTTEST
:let a = '.é[6;13H.' " one char of two bytes[7;6Hb = '.é.' " normal e with composing char
/^byteidx[8;10H[K[9;1H:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[10;1Hx(a, 4)])[10;10H[K[11;1H:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[12;1Hx(b, 4)])[12;10H[K[13;1H/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[15;1Hmp(a, 3), byteidxcomp(a, 4)])[15;30H[K[16;1H:let b = '.é.'[16;15H[K[17;2Hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[18;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])[18;49H[K[19;1HENDTEST[19;8H[K[20;1H[K[21;1Hbyteidx
[0, 1, 3, 4, -1][23;8H4, 5[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^byteidxcomp
[?25l[1;23r[23;1H
[1;24r[23;1Hbyteidxcomp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxc
[23;80Ho[24;1Hmp(a, 3), byteidxcomp(a, 4)])
[?25l[1;1H[L[1;1Há[1;2Hx[2;1H[K[3;1HSTARTTEST
:let a = '.é[4;13H.' " one char of two bytes[5;6Hb = '.é.' " normal e with composing char
/^byteidx[6;10H[K[7;1H:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[8;1Hx(a, 4)])[8;10H[K[9;1H:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[10;1Hx(b, 4)])[10;10H[K[11;1H/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[13;1Hmp(a, 3), byteidxcomp(a, 4)])[13;30H[K[14;1H:let b = '.é.'[14;15H[K[15;2Hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[16;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])[16;49H[K[17;1HENDTEST[17;8H[K[18;1H[K[19;1Hbyteidx
[0, 1, 3, 4, -1][21;8H4, 5
byteidxcomp[22;12H[K[23;1H[0, 1, 3, 4, -1][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet b = '.eé.'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxc
[23;80Ho[24;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])
[?25l[1;1H[L[2;1HSTARTTEST
:let a = '.é[3;13H.' " one char of two bytes[4;6Hb = '.é.' " normal e with composing char
/^byteidx[5;10H[K[6;1H:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[7;1Hx(a, 4)])[7;10H[K[8;1H:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[9;1Hx(b, 4)])[9;10H[K[10;1H/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[12;1Hmp(a, 3), byteidxcomp(a, 4)])[12;30H[K[13;1H:let b = '.é.'[13;15H[K[14;2Hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[15;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])[15;49H[K[16;1HENDTEST[16;8H[K[17;1H[K[18;1Hbyteidx
[0, 1, 3, 4, -1][20;8H4, 5
byteidxcomp[21;12H[K[22;1H[0, 1, 3, 4, -1][23;8H2, 4, 5, -1][24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^substitute
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2 lines, 75 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H:let y = substitute('123', '\zs', 'a', 'g') | put =y
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1Hsubstitute[22;1H[?12l[?25h[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^substitute
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet y = substitute('123', '\zs', 'a', 'g') | put =y
[?25l[1;23r[1;1H[2M[1;24r[22;1Ha1a2a3a[24;1H[K[22;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1H:g/^STARTTEST/.,/^ENDTEST/d
:1;/^Results/,$wq! test.out[22;1H[?12l[?25h[?25l
:set ff=unix cpo-=A
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2 lines, 56 characters written[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[22;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[22;19H[?12l[?25h[23;19H
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l104 fewer lines[24;16H[K[1;1H{[1;2H[K[2;1H four[2;6H[K[3;1H}[3;2H[K[4;1H[K[5;1Hra test
aaaa[6;5H[K[7;1Haaa[7;5H[K[8;1H[K[9;1H[K[10;1Há[10;2Hx[10;3H[K[11;1H[K[13;1Hbyteidx[13;8H[K[14;1H[0, 1, 3, 4, -1]
[0, 1, 4, 5, -1][15;17H[K[16;1Hbyteidxcomp
[0, 1, 3, 4, -1]
[0, 1, 2, 4, 5, -1][19;1H[K[21;1Hsubstitute
a1a2a3a[22;11H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test70.in" 63 lines, 1501 characters[1;1HSmoke 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HSmoke test for MzScheme interface and mzeval() function[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 55 lines, 1398 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[19;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mzscheme.vim
[?25l"test.ok" [24;11H[K[24;11H6 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test73.in" 169 lines, 3647 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for find completion.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 164 lines, 3600 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Do all test in a separate window to avoid E211 when we recursively
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" delete the Xfind directory during cleanup
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" This will cause a few errors, do it silently.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset visualbell
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" On windows a stale "Xfind" directory may exist, remove it so that
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" we start from a clean state.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xfind", "rf")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7mtest73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet cwd=getcwd()
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet test_out = cwd . '/test.out'
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xfind')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd Xfind
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind[23;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test73.in[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind ...[?25l[24;7H[K[24;7H[?5h[?5l[?12l[?25h
[?25l[1m[37m[41mE345: Can't find file "" in path[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w! " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out"
<ild/vim-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test.out" [New] 0L, 0C written[12;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind ...[?25l[24;7H[K[24;7H[?5h[?5l[?12l[?25h
[?25l[1m[37m[41mE32: No file name[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 0L, 0C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=.,,
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind ...[?25l[24;7H[K[24;7H[?5h[?5l[?12l[?25h
[?25l[1m[37m[41mE32: No file name[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 0L, 0C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=./**
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind ...[?25l[24;7H[K[24;7H[?5h[?5l[?12l[?25h
[?25l[1m[37m[41mE32: No file name[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 0L, 0C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" We shouldn't find any file at this point, test.out must be empty.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('in')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd in
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/in[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('path')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir[23;1H[7mtest73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfind/file.txt
[?25l"Xfind/file.txt" [New File][12;1H[1m[7mXfind/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HHoly Grail[12;16H[1m[7m[+][1;10H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"Xfind/file.txt" [New] 1L, 11C written[12;16H[1m[7m [1;10H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfind/in/file.txt
[?25l"Xfind/in/file.txt" [New File][1;1H[K[12;7H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HJimmy Hoffa[12;19H[1m[7m[+][1;11H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"Xfind/in/file.txt" [New] 1L, 12C written[12;19H[1m[7m [1;11H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfind/in/stuff.txt
[?25l"Xfind/in/stuff.txt" [New File][1;1H[K[12;10H[1m[7mstuff.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HAnother Holy Grail[12;20H[1m[7m[+][1;18H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"Xfind/in/stuff.txt" [New] 1L, 19C written[12;20H[1m[7m [1;18H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfind/in/path/file.txt
[?25l"Xfind/in/path/file.txt" [New File][1;1H[K[12;10H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HE.T.[12;24H[1m[7m[+][1;4H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"Xfind/in/path/file.txt" [New] 1L, 5C written[12;24H[1m[7m [1;4H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=Xfind/**
[?25l[1;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" [24;18H[K[24;18H1L, 11C[1;1HHoly Grail[12;7H[1m[7mfile.txtf [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 11C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;7H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h...[?25l[24;7Hpath/file.txt[24;20H[K[24;20H[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5C[1;1HE.T.[1;5H[K[12;10H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 5C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Rerun the previous three find completions, using fullpath in 'path'
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "set path=" . cwd . "/Xfind/**"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" [24;18H[K[24;18H1L, 11C[1;1HHoly Grail[12;7H[1m[7mfile.txtf [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 11C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;7H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h...[?25l[24;7Hpath/file.txt[24;20H[K[24;20H[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5C[1;1HE.T.[1;5H[K[12;10H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 5C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Same steps again, using relative and fullpath items that point to the same
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" recursive location.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" This is to test that there are no duplicates in the completion list.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "set path+=Xfind/**"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" [24;18H[K[24;18H1L, 11C[1;1HHoly Grail[12;7H[1m[7mfile.txtf [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 11C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;7H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h...[?25l[24;7Hpath/file.txt[24;20H[K[24;20H[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5C[1;1HE.T.[1;5H[K[12;10H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 5C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;10H[1m[7mfile.txte [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" Test find completion for directory of current buffer, which at this point
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" is Xfind/in/file.txt.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset path=.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind st...[?25luff.txt[?12l[?25h
[?25l"Xfind/in/stuff.txt" 1L, 19C[1;1HAnother Holy Grail[12;10H[1m[7mstuff.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 19C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test find completion for empty path item ",," which is the current directory
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd Xfind
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind[12;1H[1m[7min/stuff.txtf [m[23;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test73.in[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=,,
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind f...[?25lile.txt[?12l[?25h...[?25l[24;15H[K[24;15H[?12l[?25h
[?25l"file.txt" [24;12H[K[24;12H1L, 11C[1;1HHoly Grail[1;11H[K[12;1H[1m[7mfile.txt. [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 11C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test shortening of
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" foo/x/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" foo/y/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When current directory is above foo/ they should be shortened to (in order
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" of appearance):
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" x/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" y/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('foo')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd foo
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo[12;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall mkdir('x')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('y')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd x
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo/x[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('bar')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd y
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo/y[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('bar')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind[12;1H[1m[7mfile.txti [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" We should now be in the Xfind directory
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he foo/x/bar/voyager.txt
[?25l"foo/x/bar/voyager.txt" [New File][1;1H[K[12;2H[1m[7moo/x/bar/voyager.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HVoyager 1[12;23H[1m[7m[+][1;9H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"foo/x/bar/voyager.txt" [New] 1L, 10C written[12;23H[1m[7m [1;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he foo/y/bar/voyager.txt
[?25l"foo/y/bar/voyager.txt" [New File][1;1H[K[12;5H[1m[7my/[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HVoyager 2[12;23H[1m[7m[+][1;9H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"foo/y/bar/voyager.txt" [New] 1L, 10C written[12;23H[1m[7m [1;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "set path=" . cwd . "/Xfind/**"
[?25l[1;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7Hx/bar/voyager.txt[?5h[?5l[?12l[?25h
[?25l"foo/x/bar/voyager.txt" 1L, 10C[1;9H1[12;5H[1m[7mx/[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7Hx/bar/voyager.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hy[24;24H[K[24;24H[?12l[?25h
[?25l"foo/y/bar/voyager.txt" 1L, 10C[1;9H2[12;5H[1m[7my/[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When current directory is .../foo/y/bar they should be shortened to (in
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" order of appearance):
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" ./voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" x/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd foo
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo[12;1H[1m[7my/bar/voyager.txt. [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcd y
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo/y[12;1H[1m[7mbar/voyager.txt [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcd bar
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo/y/bar[12;1H[1m[7mvoyager.txt. [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7H./voyager.txt[?5h[?5l[?12l[?25h
[?25l"voyager.txt" [24;15H[K[24;15H1L, 10C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7H./voyager.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hx/bar/voyager.txt[?12l[?25h
[?25l<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/Xfind/foo/x/bar/voyager.txt"
<m-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/Xfind/foo/x/bar/voyager.txt" 1L, 10C[1;9H1[12;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo/x/bar/voyager.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check the opposite too:
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo/y[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo[12;1H[1m[7mx/bar/voyager.txt/ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcd x
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo/x[12;1H[1m[7mbar/voyager.txt [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcd bar
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo/x/bar[12;1H[1m[7mvoyager.txt. [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7H./voyager.txt[?5h[?5l[?12l[?25h
[?25l"voyager.txt" [24;15H[K[24;15H1L, 10C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7H./voyager.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hy/bar/voyager.txt[?12l[?25h
[?25l<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/Xfind/foo/y/bar/voyager.txt"
<m-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/Xfind/foo/y/bar/voyager.txt" 1L, 10C[1;9H2[12;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/foo/y/bar/voyager.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check for correct handling of shorten_fname()'s behavior on windows
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "cd " . cwd . "/Xfind/in"
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind/in[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./file.txt[?5h[?5l[?12l[?25h
[?25l"file.txt" [24;12H[K[24;12H1L, 12C[1;1HJimmy Hoffa[12;1H[1m[7mfile.txti [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for relative to current buffer 'path' item
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "cd " . cwd . "/Xfind/"
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xfind[12;1H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=./path
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Open the file where Jimmy Hoffa is found
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he in/file.txt
[?25l"in/file.txt" 1L, 12C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Find the file containing 'E.T.' in the Xfind/in/path directory
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25ltxt[?12l[?25h
[?25l"in/path/file.txt" 1L, 5C[1;1HE.T.[1;5H[K[12;4H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 5C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test that completion works when path=.,,
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset path=.,,
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Open Jimmy Hoffa file
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he in/file.txt
[?25l"in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;4H[1m[7mfile.txte [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Search for the file containing Holy Grail in same directory as in/path.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind stu...[?25lff.txt[?12l[?25h
[?25l"in/stuff.txt" 1L, 19C[1;1HAnother Holy Grail[12;4H[1m[7mstuff.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test.out" 1L, 19C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xfind", "rf")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test75.in" 41 lines, 1000 characters[1;1HTests 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[34m^[[m:"[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for maparg().[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 34 lines, 919 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[16M[1;24r[8;1H:" 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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo-=<
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf8
[?25l[27m[23m[m[H[2J[1;1H:map abc x<char-114>x
:call append('$', maparg('abc'))
:map abc y<S-char-114>y
:call append('$', maparg('abc'))
:"
Go[34m^[[m:"
:" 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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap foo<C-V> is<F4>foo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hvnoremap <script> <buffer> <expr> <silent> bar isbar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', maparg('foo<C-V>'))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', string(maparg('foo<C-V>', '', 0, 1)))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', string(maparg('bar', '', 0, 1)))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap <buffer> <nowait> foo bar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', string(maparg('foo', '', 0, 1)))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap abc x<char-114>x
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', maparg('abc'))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap abc y<S-char-114>y
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', maparg('abc'))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[10M[1;24r[14;1Heof
is<F4>foo
{'silent': 0, 'noremap': 0, 'lhs': 'foo<C-V>', 'mode': ' ', 'nowait': 0, 'expr'::[17;1H 0, 'sid': 0, 'rhs': 'is<F4>foo', 'buffer': 0}
{'silent': 1, 'noremap': 1, 'lhs': 'bar', 'mode': 'v', 'nowait': 0, 'expr': 1, ''[19;1Hsid': 0, 'rhs': 'isbar', 'buffer': 1}
{'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ', 'nowait': 1, 'expr': 0, ''[21;1Hsid': 0, 'rhs': 'bar', 'buffer': 1}
xrx
yRy[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Outside of the range, minimum
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <Char-0x1040> a
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexecute "normal a\u1040\<Esc>"
[?25l[23;1Ha[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Inside of the range, minimum
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <Char-0x103f> b
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexecute "normal a\u103f\<Esc>"
[?25l[23;2Hb[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Inside of the range, maximum
[?25l[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <Char-0xf03f> c
[?25l[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexecute "normal a\uf03f\<Esc>"
[?25l[23;3Hc[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Outside of the range, maximum
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <Char-0xf040> d
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexecute "normal a\uf040\<Esc>"
[?25l[23;4Hd[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^eof/+1,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 7 lines, 384 characters written[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test77.in" 30 lines, 719 characters[1;1HInserts 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 | endwhile[22;1Hggdd
:w! Xtest[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HInserts 2 million lines with consecutive integers starting from 1[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 288 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[12;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[6M[1;24r[18;1H:r !cksum Xtest
:s/\s/ /g
:set fileformat&
:.w! test.out
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !executable("cksum")
[?25l
: [?12l[?25h: e! test.ok
[?25l: [?12l[?25h: w! test.out
[?25l: [?12l[?25h: qa!
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1Hcksum is part of POSIX and so should be available on most Unixes.
If it isn't available then the test will be skipped.
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset fileformat=unix undolevels=-1
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[7L[1;24r[1;1HInserts 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.[24;1H[K[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet i = 1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwhile i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhil
[23;80He[24;1H[?25l[1;1H[L[2;1H1[2;2H[K[3;1H2[3;2H[K[4;1H3[4;2H[K[5;1H4[5;2H[K[6;1H5[6;2H[K[7;1H6[7;2H[K[8;1H7[8;2H[K[9;1H8[9;2H[K[10;1H9[10;2H[K[11;1H10[11;3H[K[12;1H11[12;3H[K[13;1H12[13;3H[K[14;1H13[14;3H[K[15;1H14[15;3H[K[16;1H15[16;3H[K[17;1H16[17;3H[K[18;1H17[18;3H[K[19;1H18[19;3H[K[20;1H19[20;3H[K[21;1H20[21;3H[K[22;1H21[22;3H[K[23;1H22[23;3H[K[24;1H[K[1;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H23[1;1H[?12l[?25h
[?25l[24;1H:[?12l[?25hw! Xtest
[?25l"Xtest" [24;9H[K[24;9H[New File] 2000000 lines, 14888896 characters written[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hr !cksum Xtest
[?25l[?12l[?25h[27m[23m[m[H[2J[?25l[1;1H1
2
3678979763 14888896 Xtest
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hs/\s/ /g
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformat&
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 26 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test79.in" 255 lines, 3381 characters[1;1HTest 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/[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for *sub-replace-special* and *sub-replace-expression* on :substitute.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1 line, 14 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[12;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H25 lines, 347 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj:s/L/[34m^V^M[m/
j:s/M/\r/
j:s/N/\[34m^V^M[m/
j:s/O/\n/
j:s/P/\b/
j:s/Q/\t/
j:s/R/\\/
j:s/S/\c/
j:s/T/[34m^V^@[m/
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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/&&/
[?25l[15;2HA
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/\&/
[?25l[16;1H&[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/
[?25l[17;11H987654321
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/D/d/
[?25l[18;1Hd[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/E/~/
[?25l[19;1Hd[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/F/\~/
[?25l[20;1H~[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/G/\ugg/
[?25l[21;2Hg
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/H/\Uh\Eh/
[?25l[22;2Hh
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/I/\lII/
[?25l[23;1HiI
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HJ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/J/\LJ\EJ/
[?25l[23;1HjJ
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HK[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/K/\Uk\ek/
[?25l[23;2Hk
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HlLl[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/L/^[34m^M[m/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hl[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HmMm
[?12l[?25h[?25l
:[?12l[?25hs/M/\r/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hm[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HnNn
[?12l[?25h[?25l
:[?12l[?25hs/N/\^[34m^M[m/
[?25l[23;2H[34m^M[mn
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HoOo[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/O/\n/
[?25l[23;2H[34m^@[mo
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HpPp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/P/\b/
[?25l[23;2H[34m^H[mp
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HqQq[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/Q/\t/
[?25l[23;2H q
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HrRr[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/R/\\/
[?25l[23;2H\
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HsSs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/S/\c/
[?25l[23;2Hc
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HtTt[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/T/^[34m^@[m/
[?25l[23;2H[34m^@[mt
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HU[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/U/\L\uuUu\l\EU/
[?25l[23;2HuuU
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HV[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/V/\U\lVvV\u\Ev/
[?25l[23;1HvVVv
[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set nomagic
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H25 lines, 351 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj:s/L/[34m^V^M[m/
j:s/M/\r/
j:s/N/\[34m^V^M[m/
j:s/O/\n/
j:s/P/\b/
j:s/Q/\t/
j:s/R/\\/
j:s/S/\c/
j:s/T/[34m^V^@[m/
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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nomagic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/&&/
[?25l[15;1H&&
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/\&/
[?25l[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/\mC\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/
[?25l[17;11H987654321
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/D/d/
[?25l[18;1Hd[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/E/~/
[?25l[19;1H~[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/F/\~/
[?25l[20;1H~[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/G/\ugg/
[?25l[21;2Hg
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/H/\Uh\Eh/
[?25l[22;2Hh
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/I/\lII/
[?25l[23;1HiI
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HJ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/J/\LJ\EJ/
[?25l[23;1HjJ
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HK[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/K/\Uk\ek/
[?25l[23;2Hk
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HlLl[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/L/^[34m^M[m/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hl[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HmMm
[?12l[?25h[?25l
:[?12l[?25hs/M/\r/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hm[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HnNn
[?12l[?25h[?25l
:[?12l[?25hs/N/\^[34m^M[m/
[?25l[23;2H[34m^M[mn
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HoOo[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/O/\n/
[?25l[23;2H[34m^@[mo
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HpPp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/P/\b/
[?25l[23;2H[34m^H[mp
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HqQq[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/Q/\t/
[?25l[23;2H q
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HrRr[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/R/\\/
[?25l[23;2H\
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HsSs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/S/\c/
[?25l[23;2Hc
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HtTt[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/T/^[34m^@[m/
[?25l[23;2H[34m^@[mt
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HU[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/U/\L\uuUu\l\EU/
[?25l[23;2HuuU
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HV[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/V/\U\lVvV\u\Ev/
[?25l[23;1HvVVv
[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H15 lines, 203 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj:s/B/\='\\'/
j:s/C/\='[34m^V^M[m'/
j:s/D/\='\[34m^V^M[m'/
j:s/E/\='\\[34m^V^M[m'/
j:s/F/\='\r'/
j:s/G/\='[34m^V^@[m'/
j:s/H/\='\[34m^V^@[m'/
j:s/I/\='\\[34m^V^@[m'/
j:s/J/\='\n'/
j:s/K/\="\r"/
j:s/L/\="\n"/
ENDTEST
TEST_3:
aAa
bBb
cCc
dDd
eEe
fFf
gGg
hHh
iIi[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/\='\'/
[?25l[15;2H\
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/\='\\'/
[?25l[16;2H\\b
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/C/\='^[34m^M[m'/
[?25l[18;23r[18;1H[L[1;24r[17;2H[K[18;1Hc[24;1H[K[18;1H[?12l[?25h
[?25l[24;1H:[?12l[?25hs/D/\='\^[34m^M[m'/
[?25l[20;23r[20;1H[L[1;24r[19;2H\[19;3H[K[20;1Hd[24;1H[K[20;1H[?12l[?25h
[?25l
:[?12l[?25hs/E/\='\\^[34m^M[m'/
[?25l[21;2H\\
e[22;2H[K[23;1HfFf[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/F/\='\r'/
[?25l[23;2H\rf
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HgGg[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/G/\='^[34m^@[m'/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hg[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HhHh
[?12l[?25h[?25l
:[?12l[?25hs/H/\='\^[34m^@[m'/
[?25l[1;23r[23;1H
[1;24r[22;2H\[22;3H[K[23;1Hh[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HiIi
[?12l[?25h[?25l
:[?12l[?25hs/I/\='\\^[34m^@[m'/
[?25l[1;23r[23;1H
[1;24r[22;2H\\
i[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HjJj
[?12l[?25h[?25l
:[?12l[?25hs/J/\='\n'/
[?25l[23;2H\nj
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HkKk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/K/\="\r"/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hk[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HlLl
[?12l[?25h[?25l
:[?12l[?25hs/L/\="\n"/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hl[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H15 lines, 611 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj:s/B/\=substitute(submatch(0), '.', '\\', '')/
j:s/C/\=substitute(submatch(0), '.', '[34m^V^M[m', '')/
j:s/D/\=substitute(submatch(0), '.', '\[34m^V^M[m', '')/
j:s/E/\=substitute(submatch(0), '.', '\\[34m^V^M[m', '')/
j:s/F/\=substitute(submatch(0), '.', '\r', '')/
j:s/G/\=substitute(submatch(0), '.', '[34m^V^@[m', '')/
j:s/H/\=substitute(submatch(0), '.', '\[34m^V^@[m', '')/
j:s/I/\=substitute(submatch(0), '.', '\\[34m^V^@[m', '')/
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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/\=substitute(submatch(0), '.', '\', '')/
[?25l[15;2H\
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/\=substitute(submatch(0), '.', '\\', '')/
[?25l[16;2H\
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/C/\=substitute(submatch(0), '.', '^[34m^M[m', '')/
[?25l[18;23r[18;1H[L[1;24r[17;2H[K[18;1Hc[24;1H[K[18;1H[?12l[?25h
[?25l[24;1H:[?12l[?25hs/D/\=substitute(submatch(0), '.', '\^[34m^M[m', '')/
[?25l[20;23r[20;1H[L[1;24r[19;2H[K[20;1Hd[24;1H[K[20;1H[?12l[?25h
[?25l
:[?12l[?25hs/E/\=substitute(submatch(0), '.', '\\^[34m^M[m', '')/
[?25l[21;2H\[21;3H[K[22;1He[22;2H[K[23;1HfFf[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/F/\=substitute(submatch(0), '.', '\r', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hf[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HgGg
[?12l[?25h[?25l
:[?12l[?25hs/G/\=substitute(submatch(0), '.', '^[34m^@[m', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hg[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HhHh
[?12l[?25h[?25l
:[?12l[?25hs/H/\=substitute(submatch(0), '.', '\^[34m^@[m', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hh[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HiIi
[?12l[?25h[?25l
:[?12l[?25hs/I/\=substitute(submatch(0), '.', '\\^[34m^@[m', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H\[22;3H[K[23;1Hi[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HjJj
[?12l[?25h[?25l
:[?12l[?25hs/J/\=substitute(submatch(0), '.', '\n', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hj[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HkKk
[?12l[?25h[?25l
:[?12l[?25hs/K/\=substitute(submatch(0), '.', "\r", '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hk[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HlLl
[?12l[?25h[?25l
:[?12l[?25hs/L/\=substitute(submatch(0), '.', "\n", '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hl[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 445 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[9M[1;24r[15;1H:set cpo&
/^TEST/
j:s/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) ..[18;1H submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch(([19;1H3) . submatch(2) . submatch(1)/
j:s/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), subb[21;1Hmatch(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), subb[22;1Hmatch(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[1;23r[23;1H
[1;24r[23;1HTEST_5:[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HA123456789
[?12l[?25h[?25l
:[?12l[?25hs/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) .
submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch(
[23;80H3[24;1H) . submatch(2) . submatch(1)/
[?25l[1;1H[2L[1;1Hi\
i[23;11H987654321[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HB123456789
[?12l[?25h[?25l
:[?12l[?25hs/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), sub
[23;80Hm[24;1Hatch(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), sub
[23;80Hm[24;1Hatch(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/
[?25l[1;1H[2L[1;1Hi
j[23;1H[['B123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']][24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H8 lines, 80 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[8M[1;24r[16;1H/^TEST/
:set cpo+=/
j:s/A/a/
j:s/B/%/
:set cpo-=/
j:s/C/c/
j:s/D/%/
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1HTEST_6:
A
B[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hset cpo+=/
[?25l[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/a/
[?25l[22;1Ha[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/%/
[?25l[23;1Ha[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo-=/
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1HC
D[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hs/C/c/
[?25l[21;1Hc[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/D/%/
[?25l[22;1H%[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H11 lines, 303 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[11M[1;24r[13;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST_7/
[?25l[24;9H[K[24;1H[1;23r[23;1H
[1;24r[23;1HTEST_7:[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HA[34m^M[mA
[?12l[?25h[?25l
:[?12l[?25hs/A./\=submatch(0)/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1HA[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HB[34m^@[mB
[?12l[?25h[?25l
:[?12l[?25hs/B./\=submatch(0)/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1HB[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HC[34m^@[mC
[?12l[?25h[?25l
:[?12l[?25hs/C./\=strtrans(string(submatch(0, 1)))/
[?25l[23;1H['C^@']C
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HD[34m^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/D.\nD/\=strtrans(string(submatch(0, 1)))/
[?25l[23;1H['D^@', 'D']
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HE[34m^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/E\_.\{-}E/\=strtrans(string(submatch(0, 1)))/
[?25l[23;1H['E^@', '^@', '^@', '^@', '^@E']
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Q$
[?25l[1;23r[23;1H
[1;24r[23;1HQ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/Q[^\n]Q/\=submatch(0)."foobar"/
[?25l[1m[37m[41mE486: Pattern not found: Q[^\n]Q[m[24;33H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Avoid :s error breaks dotest map on Windows.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1HQ
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:function! TitleString()
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H8 lines, 177 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[8M[1;24r[16;3Hlet check = 'foo' =~ 'bar'
return ""
endfunction
:set titlestring=%{TitleString()}
:/^test_one/s/.*/\="foo\nbar"/
:/^test_two/s/.*/\="foo\nbar"/c
y
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! TitleString()
[?25l
: [?12l[?25h let check = 'foo' =~ 'bar'
[?25l: [?12l[?25h return ""
[?25l: [?12l[?25hendfunction
[1;1H[3L[?25l[2;1HTEST_7:
A[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset titlestring=%{TitleString()}
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^test_one/s/.*/\="foo\nbar"/
[?25l[1;23r[1;1H[2M[1;24r[22;1Hfoo
bar[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^test_two/s/.*/\="foo\nbar"/c
[?25l[1;23r[23;1H
[1;24r[23;1H[7mtest_two[m[24;1H[K[24;1H[32mreplace with \="foo\nbar" (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[1;23r[23;1H
[1;24r[22;1Hfoo[22;4H[K[23;1Hbar
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 72 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[23;19H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:1;/^Results/,$wq! test.out[24;1H[K[23;19H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l136 fewer lines[24;16H[K[1;1Ha[1;2H[K[2;1Ha
c
%[5;1H[K[6;1H[K[7;1HTEST_7:[7;8H[K[8;1HA[8;3H[K[9;1HA[9;2H[K[10;1HB[10;2H[K[11;1HB[11;2H[K[12;1H['C^@']C[12;9H[K[13;1H['D^@', 'D']
['E^@', '^@', '^@', '^@', '^@E']
Q
Q[16;2H[K[17;1H[K[18;1H[K[19;1Hfoo
bar
foo[21;4H[K[22;1Hbar[22;4H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test80.in" 201 lines, 6298 characters[1;1HTest 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\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[18;1H, '\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', '')[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for *sub-replace-special* and *sub-replace-expression* on substitute().[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1 line, 14 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H29 lines, 1142 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[12;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[23;1H, '\0\9\8\7\6\5\4\3\2\1', '')[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_1:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1H:set cpo&
:$put =\"\n\nTEST_10:\"
:let y = substitute('123', '\zs', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\zs.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\zs', 'a', 'g')[12C| $put =y
:let y = substitute('123', '\ze', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\ze.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\ze', 'a', 'g')[12C| $put =y
:let y = substitute('123', '1\|\ze', 'a', 'g')[10C| $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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A', 'A', '&&', '')
[?25l[1;23r[23;1H
[1;24r[23;1HAA[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('B', 'B', '\&', '')
[?25l[1;23r[23;1H
[1;24r[23;1H&[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)
[23;80H'[24;1H, '\0\9\8\7\6\5\4\3\2\1', '')
[?25l[1;1H[L[1;1H:let y = substitute('123', '\zs.', 'a', 'g')[12C| $put =y[2;29H.\zs[3;29H\ze', 'a', 'g') [4;32H.', 'a', 'g')[5;29H.\ze[6;29H1\|\ze', 'a', 'g')[7;31Hzs\|[23]', 'a', 'g')
/^TEST_11[8;10H[K[9;1HENDTEST[9;8H[K[10;1H[K[11;1HTEST_11:[12;1H[K[13;1HSTARTTEST
:/^Results/,$wq! test.out
ENDTEST[15;8H[K[16;1H[K[17;1HResults of test72:[18;1H[K[20;1HTEST_1:
AA[21;3H[K[22;1H&[22;2H[K[23;1HC123456789987654321[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('D', 'D', 'd', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('E', 'E', '~', '')
[?25l[1;23r[23;1H
[1;24r[23;1H~[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('F', 'F', '\~', '')
[?25l[1;23r[23;1H
[1;24r[23;1H~[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('G', 'G', '\ugg', '')
[?25l[1;23r[23;1H
[1;24r[23;1HGg[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('H', 'H', '\Uh\Eh', '')
[?25l[1;23r[23;1H
[1;24r[23;1HHh[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('I', 'I', '\lII', '')
[?25l[1;23r[23;1H
[1;24r[23;1HiI[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('J', 'J', '\LJ\EJ', '')
[?25l[1;23r[23;1H
[1;24r[23;1HjJ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('K', 'K', '\Uk\ek', '')
[?25l[1;23r[23;1H
[1;24r[23;1HKk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('lLl', 'L', '^[34m^M[m', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hl[34m^M[ml[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('mMm', 'M', '\r', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hm[34m^M[mm[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('nNn', 'N', '\^[34m^M[m', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hn[34m^M[mn[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('oOo', 'O', '\n', '')
[?25l[1;23r[1;1H[2M[1;24r[22;1Ho
o[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('pPp', 'P', '\b', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hp[34m^H[mp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('qQq', 'Q', '\t', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hq[7Cq[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('rRr', 'R', '\\', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hr\r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('sSs', 'S', '\c', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hscs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('uUu', 'U', \"\n\", '')
[?25l[1;23r[1;1H[2M[1;24r[22;1Hu
u[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('vVv', 'V', \"\b\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hv[34m^H[mv[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('wWw', 'W', \"\\\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hw\w[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('xXx', 'X', \"\r\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hx[34m^M[mx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('Y', 'Y', '\L\uyYy\l\EY', '')
[?25l[1;23r[23;1H
[1;24r[23;1HYyyY[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('Z', 'Z', '\U\lZzZ\u\Ez', '')
[?25l[1;23r[23;1H
[1;24r[23;1HzZZz[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_2
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:$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\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[21;1H, '\0\9\8\7\6\5\4\3\2\1', '')
:$put =substitute('D', 'D', 'd', '')
:$put =substitute('E', 'E', '~', '')
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H29 lines, 1144 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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', '\="\\"', '')[11C| $put =y
:let y = substitute('bBb', 'B', '\="\\\\"', '')[9C| $put =y
:let y = substitute('cCc', 'C', '\="[34m^V^M[m"', '')[9C| $put =y
:let y = substitute('dDd', 'D', '\="\\[34m^V^M[m"', '')[7C| $put =y[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nomagic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_2:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1HHh
iI
jJ
Kk
l[34m^M[ml
m[34m^M[mm
n[34m^M[mn
o
o
p[34m^H[mp
q[7Cq
r\r
scs
u
u
v[34m^H[mv
w\w
x[34m^M[mx
YyyY
zZZz
TEST_2:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A', 'A', '&&', '')
[?25l[1;23r[23;1H
[1;24r[23;1HAA[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('B', 'B', '\&', '')
[?25l[1;23r[23;1H
[1;24r[23;1H&[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)
[23;80H'[24;1H, '\0\9\8\7\6\5\4\3\2\1', '')
[?25l[1;1H[L[1;1HKk
l[34m^M[ml
m[2Cm
n[2Cn
o[5;2H[K[7;1Hp[34m^H[mp
q q
r\r[9;9H[K[10;1Hscs
u[11;2H[K[13;1Hv[34m^H[mv
w\w[14;4H[K[15;1Hx[34m^M[mx
YyyY
zZZz[18;1H[K[20;1HTEST_2:
AA[21;3H[K[22;1H&[22;2H[K[23;1HC123456789987654321[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('D', 'D', 'd', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('E', 'E', '~', '')
[?25l[1;23r[23;1H
[1;24r[23;1H~[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('F', 'F', '\~', '')
[?25l[1;23r[23;1H
[1;24r[23;1H~[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('G', 'G', '\ugg', '')
[?25l[1;23r[23;1H
[1;24r[23;1HGg[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('H', 'H', '\Uh\Eh', '')
[?25l[1;23r[23;1H
[1;24r[23;1HHh[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('I', 'I', '\lII', '')
[?25l[1;23r[23;1H
[1;24r[23;1HiI[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('J', 'J', '\LJ\EJ', '')
[?25l[1;23r[23;1H
[1;24r[23;1HjJ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('K', 'K', '\Uk\ek', '')
[?25l[1;23r[23;1H
[1;24r[23;1HKk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('lLl', 'L', '^[34m^M[m', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hl[34m^M[ml[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('mMm', 'M', '\r', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hm[34m^M[mm[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('nNn', 'N', '\^[34m^M[m', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hn[34m^M[mn[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('oOo', 'O', '\n', '')
[?25l[1;23r[1;1H[2M[1;24r[22;1Ho
o[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('pPp', 'P', '\b', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hp[34m^H[mp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('qQq', 'Q', '\t', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hq[7Cq[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('rRr', 'R', '\\', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hr\r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('sSs', 'S', '\c', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hscs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('tTt', 'T', \"\r\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Ht[34m^M[mt[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('uUu', 'U', \"\n\", '')
[?25l[1;23r[1;1H[2M[1;24r[22;1Hu
u[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('vVv', 'V', \"\b\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hv[34m^H[mv[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('wWw', 'W', \"\\\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hw\w[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('X', 'X', '\L\uxXx\l\EX', '')
[?25l[1;23r[23;1H
[1;24r[23;1HXxxX[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('Y', 'Y', '\U\lYyY\u\Ey', '')
[?25l[1;23r[23;1H
[1;24r[23;1HyYYy[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_3
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:$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', '\="\\"', '')[11C| $put =y
:let y = substitute('bBb', 'B', '\="\\\\"', '')[9C| $put =y
:let y = substitute('cCc', 'C', '\="[34m^V^M[m"', '')[9C| $put =y
:let y = substitute('dDd', 'D', '\="\\[34m^V^M[m"', '')[7C| $put =y
:let y = substitute('eEe', 'E', '\="\\\\[34m^V^M[m"', '') | $put =y
:let y = substitute('fFf', 'F', '\="\\r"', '')[10C| $put =y
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H13 lines, 642 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H:let y = substitute('jJj', 'J', '\="\\n"', '')[10C| $put =y
:let y = substitute('kKk', 'K', '\="\r"', '')[11C| $put =y
:let y = substitute('lLl', 'L', '\="\n"', '')[11C| $put =y
/^TEST_4
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_3:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1HHh
iI
jJ
Kk
l[34m^M[ml
m[34m^M[mm
n[34m^M[mn
o
o
p[34m^H[mp
q[7Cq
r\r
scs
t[34m^M[mt
u
u
v[34m^H[mv
w\w
XxxX
yYYy
TEST_3:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet y = substitute('aAa', 'A', '\="\\"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Ha\a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('bBb', 'B', '\="\\\\"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hb\\b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('cCc', 'C', '\="^[34m^M[m"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hc[34m^M[mc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('dDd', 'D', '\="\\^[34m^M[m"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hd\[34m^M[md[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('eEe', 'E', '\="\\\\^[34m^M[m"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1He\\[34m^M[me[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('fFf', 'F', '\="\\r"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hf\rf[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('jJj', 'J', '\="\\n"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hj\nj[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('kKk', 'K', '\="\r"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hk[34m^M[mk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('lLl', 'L', '\="\n"', '') | $put =y
[?25l[1;23r[1;1H[2M[1;24r[22;1Hl
l[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_4
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:let y = substitute('bBb', 'B', '\="\\\\"', '')[9C| $put =y
:let y = substitute('cCc', 'C', '\="[34m^V^M[m"', '')[9C| $put =y
:let y = substitute('dDd', 'D', '\="\\[34m^V^M[m"', '')[7C| $put =y
:let y = substitute('eEe', 'E', '\="\\\\[34m^V^M[m"', '') | $put =y
:let y = substitute('fFf', 'F', '\="\\r"', '')[10C| $put =y
:let y = substitute('jJj', 'J', '\="\\n"', '')[10C| $put =y
:let y = substitute('kKk', 'K', '\="\r"', '')[11C| $put =y
:let y = substitute('lLl', 'L', '\="\n"', '')[11C| $put =y
/^TEST_4
ENDTEST
TEST_4:
STARTTEST
:set magic&
:set cpo&
:$put =\"\n\nTEST_4:\"
:let y = substitute('aAa', 'A', '\=substitute(submatch(0), ".", "\\", "")', '') [19;1H | $put =y
:let y = substitute('bBb', 'B', '\=substitute(submatch(0), ".", "\\\\", "")', '''[21;1H) | $put =y
:let y = substitute('cCc', 'C', '\=substitute(submatch(0), ".", "[34m^V^M[m", "")', '''[23;1H) | $put =y
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H13 lines, 912 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[14M[1;24r[10;1H:let y = substitute('dDd', 'D', '\=substitute(submatch(0), ".", "\\[34m^V^M[m", "")', [11;1H'') | $put =y
:let y = substitute('eEe', 'E', '\=substitute(submatch(0), ".", "\\\\[34m^V^M[m", "")''[13;1H, '') | $put =y
:let y = substitute('fFf', 'F', '\=substitute(submatch(0), ".", "\\r", "")', ''))[15;1H | $put =y
:let y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''))[17;1H | $put =y
:let y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '') [19;1H | $put =y
:let y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '') [21;1H | $put =y
/^TEST_5
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_4:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1Ht[34m^M[mt
u
u
v[34m^H[mv
w\w
XxxX
yYYy
TEST_3:
a\a
b\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf
j\nj
k[34m^M[mk
l
l
TEST_4:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet y = substitute('aAa', 'A', '\=substitute(submatch(0), ".", "\\", "")', '')
| $put =y
[?25l[1;1H[L[1;1Hu
v[34m^H[mv
w\w[4;4H[K[5;1HXxxX
yYYy[7;1H[K[9;1HTEST_3:
a\a[10;4H[K[11;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[15;5H[K[16;1Hj\nj
k[34m^M[mk
l[18;2H[K[20;1H[K[22;1HTEST_4:
a\a[23;4H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('bBb', 'B', '\=substitute(submatch(0), ".", "\\\\", "")', '
[23;80H'[24;1H) | $put =y
[?25l[1;1H[L[1;1Hu
v[34m^H[mv
w\w[3;4H[K[4;1HXxxX
yYYy[6;1H[K[8;1HTEST_3:
a\a[9;4H[K[10;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[14;5H[K[15;1Hj\nj
k[34m^M[mk
l[17;2H[K[19;1H[K[21;1HTEST_4:
a\a[22;4H[K[23;1Hb\b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('cCc', 'C', '\=substitute(submatch(0), ".", "^[34m^M[m", "")', '')
| $put =y
[?25l[1;1H[L[1;1Hv[34m^H[mv
w\w[2;4H[K[3;1HXxxX
yYYy[5;1H[K[7;1HTEST_3:
a\a[8;4H[K[9;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[13;5H[K[14;1Hj\nj
k[34m^M[mk
l[16;2H[K[18;1H[K[20;1HTEST_4:
a\a[21;4H[K[22;1Hb\b
c[34m^M[mc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('dDd', 'D', '\=substitute(submatch(0), ".", "\\^[34m^M[m", "")', '
[23;80H'[24;1H) | $put =y
[?25l[1;1H[L[1;1Hw\w
XxxX
yYYy[4;1H[K[6;1HTEST_3:
a\a[7;4H[K[8;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[12;5H[K[13;1Hj\nj
k[34m^M[mk
l[15;2H[K[17;1H[K[19;1HTEST_4:
a\a[20;4H[K[21;1Hb\b
c[34m^M[mc
d[2Cd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('eEe', 'E', '\=substitute(submatch(0), ".", "\\\\^[34m^M[m", "")',
'') | $put =y
[?25l[1;1H[L[1;1HXxxX
yYYy[3;1H[K[5;1HTEST_3:
a\a[6;4H[K[7;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[11;5H[K[12;1Hj\nj
k[34m^M[mk
l[14;2H[K[16;1H[K[18;1HTEST_4:
a\a[19;4H[K[20;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('fFf', 'F', '\=substitute(submatch(0), ".", "\\r", "")', ''
[23;80H)[24;1H | $put =y
[?25l[1;1H[L[1;1HyYYy[2;1H[K[4;1HTEST_3:
a\a[5;4H[K[6;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[10;5H[K[11;1Hj\nj
k[34m^M[mk
l[13;2H[K[15;1H[K[17;1HTEST_4:
a\a[18;4H[K[19;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me
f[34m^M[mf[23;5H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''
[23;80H)[24;1H | $put =y
[?25l[1;1H[L[2;1HTEST_3:
a\a
b\\b[4;5H[K[5;1Hc[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[8;5H[K[9;1Hj\nj[9;5H[K[10;1Hk[34m^M[mk
l[11;2H[K[12;1Hl[12;2H[K[13;1H[K[14;1H[K[15;1HTEST_4:
a\a
b\b[17;4H[K[18;1Hc[34m^M[mc
d[34m^M[md
e\[34m^M[me
f[2Cf
j[22;2H[K[23;1Hj[23;2H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '')
| $put =y
[?25l[1;1H[L[1;1HTEST_3:
a\a[2;4H[K[3;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[7;5H[K[8;1Hj\nj
k[34m^M[mk
l[10;2H[K[12;1H[K[14;1HTEST_4:
a\a[15;4H[K[16;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me
f[34m^M[mf[20;5H[K[21;1Hj[21;2H[K[23;1Hk[34m^M[mk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '')
| $put =y
[?25l[1;1H[L[1;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[5;5H[K[6;1Hj\nj[6;5H[K[7;1Hk[34m^M[mk
l[8;2H[K[9;1Hl[9;2H[K[10;1H[K[11;1H[K[12;1HTEST_4:
a\a
b\b[14;4H[K[15;1Hc[34m^M[mc
d[34m^M[md
e\[34m^M[me
f[2Cf
j[19;2H[K[20;1Hj[20;2H[K[21;1Hk[34m^M[mk
l
l[23;2H[K[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_5
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:let y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''))[2;1H | $put =y
:let y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '') [4;1H | $put =y
:let y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '') [6;1H | $put =y
/^TEST_5
ENDTEST
TEST_5:
STARTTEST
:set magic&
:set cpo&
:$put =\"\n\nTEST_5:\"
:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[17;1H, '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submaa[18;1Htch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')
:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[20;1H, '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), subb[21;1Hmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), subb[22;1Hmatch(1, 1)])', '')
/^TEST_6
[31msearch hit BOTTOM, continuing at TOP[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[12;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H6 lines, 543 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1HENDTEST[24;1H[K[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_5:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1He\\[34m^M[me
f\rf
j\nj
k[34m^M[mk
l
l
TEST_4:
a\a
b\b
c[34m^M[mc
d[34m^M[md
e\[34m^M[me
f[34m^M[mf
j
j
k[34m^M[mk
l
l
TEST_5:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)
[23;80H'[24;1H, '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . subm
[23;80Ha[24;1Htch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')
[?25l[1;1H[2L[1;1Hf\rf
j\nj
k[34m^M[mk
l[4;2H[K[6;1H[K[8;1HTEST_4:
a\a[9;4H[K[10;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me
f[34m^M[mf[14;5H[K[15;1Hj[15;2H[K[17;1Hk[34m^M[mk
l[18;2H[K[20;1H[K[22;1HTEST_5:
A123456789987654321[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)
[23;80H'[24;1H, '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), su
[23;80Hb[24;1Hmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), su
[23;80Hb[24;1Hmatch(1, 1)])', '')
[?25l[1;1H[3L[1;1Hj\nj
k[34m^M[mk
l[5;1H[K[7;1HTEST_4:
a\a[8;4H[K[9;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me
f[34m^M[mf[13;5H[K[14;1Hj[14;2H[K[16;1Hk[34m^M[mk
l[17;2H[K[19;1H[K[21;1HTEST_5:
A123456789987654321
[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']][24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_6
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:$put =\"\n\nTEST_5:\"
:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[3;1H, '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submaa[4;1Htch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')
:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[6;1H, '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), subb[7;1Hmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), subb[8;1Hmatch(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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H9 lines, 216 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[23;1H
[1;24r[23;1HENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1HTEST_7:[21;1H[?12l[?25h[?25l
:so! Xdotest
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_6:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1Hl
TEST_4:
a\a
b\b
c[34m^M[mc
d[34m^M[md
e\[34m^M[me
f[34m^M[mf
j
j
k[34m^M[mk
l
l
TEST_5:
A123456789987654321
[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]
TEST_6:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo+=/
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A', 'A', 'a', '')
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('B', 'B', '%', '')
[?25l[1;23r[23;1H
[1;24r[23;1H%[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset cpo-=/
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('C', 'C', 'c', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('D', 'D', '%', '')
[?25l[1;23r[23;1H
[1;24r[23;1H%[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_7
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: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[34m^V^M[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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H9 lines, 313 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[23;1H
[1;24r[23;1HENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_7:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1Hd[34m^M[md
e\[34m^M[me
f[34m^M[mf
j
j
k[34m^M[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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A^[34m^M[mA', 'A.', '\=submatch(0)', '')
[?25l[1;23r[23;1H
[1;24r[23;1HA[34m^M[mA[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')
[?25l[1;23r[1;1H[2M[1;24r[22;1HB
B[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '')
[?25l[1;23r[1;1H[2M[1;24r[22;1H['B
']B[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('-bb', '\zeb', 'a', 'g')
[?25l[1;23r[23;1H
[1;24r[23;1H-abab[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('-bb', '\ze', 'c', 'g')
[?25l[1;23r[23;1H
[1;24r[23;1Hc-cbcbc[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_8
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:set magic&
:set cpo&
:$put =\"\n\nTEST_7:\"
:$put =substitute('A[34m^V^M[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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H10 lines, 186 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1Hyy/^TEST_9:
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_8:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1HTEST_5:
A123456789987654321
[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]
TEST_6:
a
%
c
%
TEST_7:
A[34m^M[mA
B
B
['B
']B
-abab
c-cbcbc
TEST_8:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =',,X'
[?25l[1;23r[23;1H
[1;24r[23;1H,,X[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(^\|,\)\ze\(,\|X\)/\1N/g
[?25l[23;1HN,,NX
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =',,Y'
[?25l[1;23r[23;1H
[1;24r[23;1H,,Y[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(^\|,\)\ze\(,\|Y\)/\1N/gc
[?25l[23;1H[7m,[m
[32mreplace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;1HN,,NY
[?12l[?25h[?25l
:[?12l[?25h$put =',,Z'
[?25l[1;23r[23;1H
[1;24r[23;1H,,Z[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(^\|,\)\ze\(,\|Z\)/\1N/gc
[?25l[23;1H[7m,[m
[32mreplace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;1HN,[7m,[mZ
[32mreplace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;3H,NZ
[?12l[?25h[?25l
/[?12l[?25h^TEST_9:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: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:
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H6 lines, 82 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_9:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1Ha
%
c
%
TEST_7:
A[34m^M[mA
B
B
['B
']B
-abab
c-cbcbc
TEST_8:
N,,NX
N,,NY
N,,NZ
TEST_9:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='xxx'
[?25l[1;23r[23;1H
[1;24r[23;1Hxxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/x/X/gc
[?25l[23;1H[7mx[m
[32mreplace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;1HX[7mx[m
[32mreplace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;2HX[7mx[m
[32mreplace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;3Hx[?12l[?25h[?25l
/[?12l[?25h^TEST_10:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1HTEST_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')[13C| $put =y
:let y = substitute('123', '\zs.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\zs', 'a', 'g')[12C| $put =y
:let y = substitute('123', '\ze', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\ze.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\ze', 'a', 'g')[12C| $put =y
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H12 lines, 584 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H:let y = substitute('123', '1\|\ze', 'a', 'g')[10C| $put =y
:let y = substitute('123', '1\zs\|[23]', 'a', 'g') | $put =y
/^TEST_11
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_10:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[3;1HTEST_7:
A[34m^M[mA
B
B
['B
']B
-abab
c-cbcbc
TEST_8:
N,,NX
N,,NY
N,,NZ
TEST_9:
XXx
TEST_10:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet y = substitute('123', '\zs', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Ha1a2a3a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '\zs.', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '.\zs', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1H1a2a3a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '\ze', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Ha1a2a3a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '\ze.', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Ha1a2a3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '.\ze', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '1\|\ze', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Haa2a3a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '1\zs\|[23]', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1H1aaa[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_11
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:let y = substitute('123', '\zs', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\zs.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\zs', 'a', 'g')[12C| $put =y
:let y = substitute('123', '\ze', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\ze.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\ze', 'a', 'g')[12C| $put =y
:let y = substitute('123', '1\|\ze', 'a', 'g')[10C| $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
&
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H1 line, 26 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^Results/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test82.in" 103 lines, 3166 characters[1;1HTests 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[17;1H:b, a:expected))
: else
: let b:passed += 1
: endif
:endfunction
:
:function! Chk(a, b, result)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 97 lines, 3055 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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%.22[4;1HX', n)) | endfor
:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ[6;1H\xc2\x%.2XuVw', n)) | endfor
:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ[8;1H\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[34m^[[mgg0g~ap:let lns = getline(1,3)
:q!
:call append(line('$'), lns)
:"
:wq! test.out
ENDTEST
[1m[34m~ [23;1H~ [20;1H[?12l[?25h
[?25l
[m:so! Xdotest
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1H: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%.22[4;1HX', n)) | endfor[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hset enc=utf8
[?25l[27m[23m[m[H[2J[1;1H: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%.22[4;1HX', n)) | endfor
:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ[6;1H\xc2\x%.2XuVw', n)) | endfor
:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ[8;1H\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[34m^[[mgg0g~ap:let lns = getline(1,3)
:q!
:call append(line('$'), lns)
:"
:wq! test.out
ENDTEST
[1m[34m~ [23;1H~ [21;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HTests 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[17;1H:b, a:expected))
: else
: let b:passed += 1
: endif
:endfunction
:
:function! Chk(a, b, result)[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[23;80H:[24;1Hop, a:b, a:expected))
[?25l: [?12l[?25h: else
[?25l: [?12l[?25h: let b:passed += 1
[?25l: [?12l[?25h: endif
[?25l: [?12l[?25h:endfunction
[1;1H[7L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[3L[?25l[2;1H[1m[34m~ [3;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! LT(a, b)
[?25l
: [?12l[?25h: call Check(a:a, a:b, -1)
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[2;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! GT(a, b)
[?25l
: [?12l[?25h: call Check(a:a, a:b, 1)
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[2;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! EQ(a, b)
[?25l
: [?12l[?25h: call Check(a:a, a:b, 0)
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[2;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b:passed=0
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('', '')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('', 'a')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('abc', 'abc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('Abc', 'abC')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('ab', 'abc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('AB', 'abc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('ab', 'aBc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xd0\xb9\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd', '\xd0\xb9\xd0\xa6\
[23;80Hx[24;1Hd0\xa3\xd0\xba\xd0\x95\xd0\xbd')
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall LT('\xd0\xb9\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd', '\xd0\xaf\xd1\x86\
[23;80Hx[24;1Hd1\x83\xd0\xba\xd0\xb5\xd0\xbd')
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall EQ('\xe2\x84\xaa', 'k')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('\xe2\x84\xaa', 'kkkkkk')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xe2\x84\xaa\xe2\x84\xaa\xe2\x84\xaa', 'kkk')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('kk', '\xe2\x84\xaa\xe2\x84\xaa\xe2\x84\xaa')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xe2\x84\xaa\xe2\x84\xa6k\xe2\x84\xaak\xcf\x89', 'k\xcf\x89\xe2\x84\x
[23;80Ha[24;1Hakk\xe2\x84\xa6')
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall EQ('Abc\x80', 'AbC\x80')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('Abc\x80', 'AbC\x81')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('Abc', 'AbC\x80')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('abc\x80DEF', 'abc\x80def') " case folding stops at the first bad cha
[23;80Hr[24;1Hacter
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall LT('\xc3XYZ', '\xc3xyz')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xef\xbc\xba', '\xef\xbd\x9a') " FF3A (upper), FF5A (lower)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall GT('\xef\xbc\xba', '\xef\xbc\xff') " first string is ok and equals \xef\
[23;80Hx[24;1Hbd\x9a after folding, second string is illegal and was left unchanged, then the
strings were bytewise compared
[?25l[1;1H[2L[2;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall LT('\xc3', '\xc3\x83')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xc3\xa3xYz', '\xc3\x83XyZ')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.
[23;80H2[24;1HX', n)) | endfor
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfor n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('Xy
[23;80HZ[24;1H\xc2\x%.2XuVw', n)) | endfor
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfor n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('Xy
[23;80HZ[24;1H\xc2\x%.2XuVw', n)) | endfor
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall append(0, printf('%d checks passed', b:passed))
[?25l[1;23r[1;1H[L[1;24r[1;1H3732 checks passed[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test that g~ap changes one paragraph only.
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [m[12;1H[1m[7m[No Name] [m[13;1H3732 checks passed[13;19H[K[14;1H[K[23;1H[7mtest82.in [+] [1;1H[?12l[?25h[?25l[mabcd[2;1H[K[3;1Hdefg[3;5H[K[12;11H[1m[7m[+][3;4H[?12l[?25h[1;1H[?25l[mABCD
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet lns = getline(1,3)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[1;1H3732 checks passed
[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), lns)
[?25l[3;1HABCD[3;5H[K[4;1H[K[5;1Hdefg[5;5H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test84.in" 35 lines, 786 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for curswant not changing when setting an option[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 25 lines, 637 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[6M[1;24r[18;1H:put =map(copy(result), 'join(v:val, '' '')')
:1 delete _
:write test.out
:
:qall!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start target options$/+1,/^end target options$/-1 yank
[?25l3 lines yanked[24;15H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet target_option_names = split(@0)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1H: 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[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;2Hendfor[13;9H[K[14;2H[K[15;2Hnew
:put =map(copy(result), 'join(v:val, '' '')')
:1 delete _[17;12H[K[18;2Hwrite test.out[19;2H[K[20;2Hqall!
ENDTEST[22;1H[K[23;1H[7mtest84.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput =['1234567890', '12345']
[?25l[2;1H1234567890[2;11H[K[3;1H12345[3;6H[K[12;11H[1m[7m[+][3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h1 delete _
[?25l[1;11r[11;1H
[1;24r[11;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet result = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor option_name in target_option_names
[?25l
: [?12l[?25h: call add(result, TestCurswant(option_name))
[?25l: [?12l[?25h:endfor
[1;1H[2L[?25l[1;1H1234567890
12345[24;1H[K[2;5H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[9;1H1234567890
12345
[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [+] [m[17;1H:1 delete _
:write test.out
:
:qall!
ENDTEST
[7mtest84.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hput =map(copy(result), 'join(v:val, '' '')')
[?25l3 more lines[24;13H[K[2;1Htabstop 7 4[2;12H[K[3;1Htimeoutlen 7 7[3;15H[K[4;1Httimeoutlen 7 7[4;16H[K[8;11H[1m[7m[+][4;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h1 delete _
[?25l[1;7r[7;1H
[1;24r[7;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hwrite test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 3 lines, 43 characters written[8;1H[1m[7mtest.out] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqall!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test88.in" 99 lines, 1449 characters[1;1Hvim: 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1Hvim: set ft=vim[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 82 lines, 1216 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[19;9H.concealed. text[20;9H|concealed| text
.a. .b. .c. .d.
|a| |b| |c| |d|[13;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has('conceal')
[?25l
: [?12l[?25h e! test.ok
[?25l: [?12l[?25h wq! test.out
[?25l: [?12l[?25h:endif
[1;1H[3L[?25l[1;1H:normal W
GGk
:normal W[24;1H[K[14;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" Conceal settings.
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset conceallevel=2
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset concealcursor=nc
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyntax match test /|/ conceal
[?25l[17;1Hconcealed [20;9Hconcealed
a b c d[23;26H[K[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Save current cursor position. Only works in <expr> mode, can't be used
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" with :normal because it moves the cursor to the command line. Thanks to ZyX
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" <zyx.vim@gmail.com> for the idea to use an <expr> mapping.
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet positions = []
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnnoremap <expr> GG ":let positions += ['".screenrow().":".screencol()."']\n"
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Start test.
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start:
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal ztj
[?25l[1;23r[1;1H[14M[1;24r[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:let positions += ['2:1']
[2;1H[?12l[?25h[1;1H[2;1H[?25l[24;1H[K[24;1H:[?12l[?25h" We should end up in the same column when running these commands on the two
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" lines.
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal ft
[?25l[2;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['2:17']
[2;17H[?12l[?25h[1;6H[2;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[2;20H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['2:20']
[2;20H[?12l[?25h[1;6H[2;20H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['3:1']
[3;1H[?12l[?25h[2;1H[3;1H[?25l[24;1H[K[24;1H:[?12l[?25hnormal ft
[?25l[3;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['3:17']
[3;17H[?12l[?25h[2;17H[3;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[3;20H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['3:20']
[3;20H[?12l[?25h[2;20H[3;20H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j0j
[?25l[5;8H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['5:8']
[5;8H[?12l[?25h[4;1H[5;8H[?25l[24;1H[K[24;1H:[?12l[?25h" Same for next test block.
[?25l[5;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal ft
[?25l[5;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['5:25']
[5;25H[?12l[?25h[4;1H[5;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[5;28H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['5:28']
[5;28H[?12l[?25h[4;1H[5;28H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j
[?25l[6;8H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['6:8']
[6;8H[?12l[?25h[5;8H[6;8H[?25l[24;1H[K[24;1H:[?12l[?25hnormal ft
[?25l[6;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['6:25']
[6;25H[?12l[?25h[5;25H[6;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[6;28H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['6:28']
[6;28H[?12l[?25h[5;28H[6;28H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j0j
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:1']
[8;1H[?12l[?25h[7;1H[8;1H[?25l[24;1H[K[24;1H:[?12l[?25h" And check W with multiple tabs and conceals in a line.
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[8;9H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:9']
[8;9H[?12l[?25h[7;1H[8;9H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[8;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:17']
[8;17H[?12l[?25h[7;1H[8;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[8;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:25']
[8;25H[?12l[?25h[7;1H[8;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[8;27H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:27']
[8;27H[?12l[?25h[7;1H[8;27H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:1']
[9;1H[?12l[?25h[8;1H[9;1H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;9H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:9']
[9;9H[?12l[?25h[8;9H[9;9H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:17']
[9;17H[?12l[?25h[8;17H[9;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:25']
[9;25H[?12l[?25h[8;25H[9;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:26']
[9;26H[?12l[?25h[8;27H[9;26H[?25l[24;1H[K[24;1H:[?12l[?25hset lbr
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:26']
[9;26H[?12l[?25h[8;27H[9;26H[?25l[24;1H[K[24;1H:[?12l[?25hset list listchars=tab:>-
[?25l[3;10H[34m>------
>-------[11C>----
>-------[9C>------[8;4H>----[m.b.[34m>----[m.c.[34m>----
[ma[34m>------[mb[34m>------[mc[34m>------[9;26H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnormal 0
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:1']
[9;1H[?12l[?25h[8;1H[9;1H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;9H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:9']
[9;9H[?12l[?25h[8;9H[9;9H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:17']
[9;17H[?12l[?25h[8;17H[9;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:25']
[9;25H[?12l[?25h[8;25H[9;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:26']
[9;26H[?12l[?25h[8;27H[9;26H[?25l[24;1H[K[24;1H:[?12l[?25h" Display result.
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', 'end:')
[?25l[10;1Hend:[10;5H[K[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', positions)
[?25l[11;1H2:1[11;4H[K[12;1H2:17[12;5H[K[13;1H2:20[13;5H[K[14;1H3:1[14;4H[K[15;1H3:17[15;5H[K[16;1H3:20[16;5H[K[17;1H5:8[17;4H[K[18;1H5:25[18;5H[K[19;1H5:28[19;5H[K[20;1H6:8[20;4H[K[21;1H6:25[21;5H[K[22;1H6:28[22;5H[K[23;1H8:1[23;4H[K[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^end/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test90.in" 53 lines, 1204 characters[1;1HTests 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("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b78522[12;1Hb855'
: let res='ok'
:else
: let res='ng'
:endif
:$put =testcase.res
:"
:let testcase='test for 1 char: '
:if sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee[21;1He48bb'
: let res='ok'
:else[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for sha256() function. vim: set ft=vim et ts=2 sw=2 :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 47 lines, 1114 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:"
:let testcase='test for contains meta char: '
:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[4;1H39ed110ca776'
: 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") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb00[13;1Hb8d27db8d5feaa813953'
: let res='ok'
:else
: let res='ng'
:endif
:$put =testcase.res
:"
:/^start:/,$wq! test.out
ENDTEST
start:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has('cryptv') || !exists('*sha256')
[?25l
: [?12l[?25h e! test.ok
[?25l: [?12l[?25h wq! test.out
[?25l: [?12l[?25h:endif
[1;1H[3L[?25l[1;1H:"
:let testcase='test for contains meta char: '
:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[4;1H3[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for empty string: '
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b785
[23;80H2[24;1Hb855'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:"
:let testcase='test for contains meta char: '
:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[4;1H39ed110ca776'[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[1;23r[23;1H
[1;24r[23;1Htest for empty string: ok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for 1 char: '
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785af
[23;80He[24;1He48bb'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:let testcase='test for contains meta char: '
:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[3;1H39ed110ca776'
: let res='ok'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[1;23r[23;1H
[1;24r[23;1Htest for 1 char: ok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for 3 chars: '
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("abc") ==# 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61
[23;80Hf[24;1H20015ad'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[2;1H39ed110ca776'
: let res='ok'
:else[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[1;23r[1;1H[2M[1;24r[22;1Htest for 3 chars: ok
[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for contains meta char: '
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8c
[23;80Hc[24;1H39ed110ca776'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H: let res='ok'
:else
: let res='ng'
:endif[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[23;1Htest for contains meta char: ok[23;32H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for contains non-ascii char: '
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("\xde\xad\xbe\xef") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb
[23;80H0[24;1Hb8d27db8d5feaa813953'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H: let res='ok'
:else
: let res='ng'
:endif[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[1;23r[23;1H
[1;24r[23;1Htest for contains non-ascii char: ok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test91.in" 116 lines, 3240 characters[1;1HTests 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))[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 109 lines, 3127 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Use strings to test for memory leaks.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" First, check that in an empty window, gettabvar() returns the correct value
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet t:testvar='abcd'
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(gettabvar(1,'testvar'))
[?25l[1;23r[23;1H
[1;24r[23;1H'abcd'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(1,'testvar'))
[?25l[1;23r[23;1H
[1;24r[23;1H'abcd'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" Test for getbufvar()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b:var_num = '1234'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet def_num = '5678'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getbufvar(1, 'var_num'))
[?25l[1;23r[23;1H
[1;24r[23;1H'1234'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, 'var_num', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H'1234'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H{'var_num': '1234'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, '', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H{'var_num': '1234'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet b:var_num
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getbufvar(1, 'var_num', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H'5678'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, '', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(9, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(9, '', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H'5678'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet def_num
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getbufvar(1, '&autoindent'))
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, '&autoindent', 1))
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Open new window with forced option values
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=unix,dos
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew ++ff=dos ++bin ++enc=iso-8859-2
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[14;1H{'var_num': '1234'}
'5678'[16;7H[K[17;1H{}[17;3H[K[19;1H''
'5678'
0[21;2H[K[23;1H[7mtest91.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet otherff = getbufvar(bufnr('%'), '&fileformat')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet otherbin = getbufvar(bufnr('%'), '&bin')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet otherfenc = getbufvar(bufnr('%'), '&fenc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:$put =string(gettabwinvar(9, 3, '', def_dict))
:unlet def_dict[2;16H[K[3;1H:$put =string(gettabwinvar(2, 3, '&nux'))[3;42H[K[4;1H:$put =string(gettabwinvar(2, 3, '&nux', 1))[4;45H[K[5;1H:tabonly[5;9H[K[6;1H:"[6;3H[K[7;1H:/^start/,$wq! test.out[7;24H[K[8;1HENDTEST[8;8H[K[9;1H[K[10;1Hstart:[10;7H[K[11;1H'abcd'[11;7H[K[12;1H'abcd'[12;7H[K[14;1H'1234'[14;7H[K[16;1H{'var_num': '1234'}
'5678'
{}
''[20;3H[K[21;1H'5678'
0[23;2H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =otherff
[?25l[1;23r[23;1H
[1;24r[23;1Hdos[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(otherbin)
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =otherfenc
[?25l[1;23r[23;1H
[1;24r[23;1Hiso-8859-2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet otherff otherbin otherfenc
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for getwinvar()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet w:var_str = "Dance"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet def_str = "Chance"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getwinvar(1, 'var_str'))
[?25l[1;23r[23;1H
[1;24r[23;1H'Dance'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, 'var_str', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H'Dance'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H{'var_str': 'Dance'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, '', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H{'var_str': 'Dance'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet w:var_str
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getwinvar(1, 'var_str', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H'Chance'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, '', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(9, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(9, '', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H'Chance'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, '&nu'))
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, '&nu', 1))
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet def_str
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for gettabvar()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabnew
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25htabnew
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [No Name] [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet t:var_list = [1, 2, 3]
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet t:other = 777
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet def_list = [4, 5, 6, 7]
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m + test91.in [m[4m[30m[47m [No Name] [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[2;1H{'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[2;23r[23;1H
[1;24r[23;1H[1, 2, 3][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, 'var_list', def_list))
[?25l[2;23r[23;1H
[1;24r[23;1H[1, 2, 3][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H{'var_list': [1, 2, 3], 'other': 777}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, '', def_list))
[?25l[2;23r[23;1H
[1;24r[23;1H{'var_list': [1, 2, 3], 'other': 777}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25htablast
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [No Name] [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hunlet t:var_list
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m + test91.in [m[4m[30m[47m [No Name] [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[2;1H''
'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[2;23r[23;1H
[1;24r[23;1H[4, 5, 6, 7][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(9, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(9, '', def_list))
[?25l[2;23r[23;1H
[1;24r[23;1H[4, 5, 6, 7][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, '&nu'))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, '&nu', def_list))
[?25l[2;23r[23;1H
[1;24r[23;1H[4, 5, 6, 7][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet def_list
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabonly
[?25l[1;1Hdos[1;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for gettabwinvar()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabnew
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25htabnew
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [No Name] [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25htabprev
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [No Name] [m[4m[30m[47m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hsplit
[?25l[1;15H[1m[35m2[m[1mN o[No Name] [m[4m[30m[47m [No Name] [m[42C[7m [m[1;80H[4m[30m[47mX[m[12;1H[1m[7m[No Name] [m[13;1H[K[23;1H[7m[No Name] [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsplit
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [m[1m[35m3[m[1m [No Name] [m[4m[30m[47m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[9;1H[1m[7m[No Name] [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hwincmd w
[?25l[9;1H[7m[No Name][m[1m[7m [m[7m [m[16;1H[1m[7m[No Name] [m[1;80H[7m [m[1;80H[4m[30m[47mX[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hvert split
[?25l[1;15H[1m[35m4[m[1m [m[63C[7m [m[1;80H[4m[30m[47mX[m[10;41H[7m|[11;41H|[12;41H|[13;41H|[14;41H|[15;41H|[m[11;42H[1m[34m~[12;42H~[13;42H~[14;42H~[15;42H~[m[16;42H[7m[No Name] [10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd w
[?25l[16;1H[7m[No Name][m[1m[7m [m[7m [m[1m[7m[No Name] [m[1;80H[7m [m[1;80H[4m[30m[47mX[10;42H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet w:var_dict = {'dict': 'tabwin'}
[?25l[10;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet def_dict = {'dict2': 'newval'}
[?25l[10;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd b
[?25l[16;42H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [m[1;80H[7m [m[1;80H[4m[30m[47mX[17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m + test91.in [m[4m[30m[47m [m[4m[35m[47m4[m[4m[30m[47m [No Name] [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[2;1H1
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[2;23r[23;1H
[1;24r[23;1H{'dict': 'tabwin'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{'dict': 'tabwin'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H{'var_dict': {'dict': 'tabwin'}}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, '', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{'var_dict': {'dict': 'tabwin'}}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25htabnext
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [m[1m[35m4[m[1m [No Name] [m[4m[30m[47m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[9;1H[7m[No Name] [10;41H|[11;41H|[12;41H|[13;41H|[14;41H|[15;41H|[m[11;1H[1m[34m~
~
~
~
~ [m
[7m[No Name] [m[11;42H[1m[34m~ [12;42H~ [13;42H~ [14;42H~ [15;42H~ [m[16;42H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [17;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h3wincmd w
[?25l[16;42H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;80H [m[1;80H[4m[30m[47mX[10;42H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hunlet w:var_dict
[?25l[10;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m + test91.in [m[4m[30m[47m [m[4m[35m[47m4[m[4m[30m[47m [No Name] [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[2;1H{'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[2;23r[23;1H
[1;24r[23;1H{'dict2': 'newval'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, '', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 9, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 9, '', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{'dict2': 'newval'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(9, 3, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(9, 3, '', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{'dict2': 'newval'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet def_dict
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(gettabwinvar(2, 3, '&nux'))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, '&nux', 1))
[?25l[2;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25htabonly
[?25l[1;1H0[1;2H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test94.in" 256 lines, 4824 characters[1;1HTest 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()[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for Visual mode and operators[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[18;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 211 lines, 3837 characters written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[19;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hkv3lyjv3lpgvcxxx[34m^[[m
:$put ='---'
:
:$put =''
:$put ='gv in exclusive select mode without operation'
:$put ='zzz '
:set selection=exclusive
0v3l[34m^[[mgvcxxx[34m^[[m
:$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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=utf-8 nocp viminfo+=nviminfo
[?25l[27m[23m[m[H[2J[1;1Hkv3lyjv3lpgvcxxx[34m^[[m
:$put ='---'
:
:$put =''
:$put ='gv in exclusive select mode without operation'
:$put ='zzz '
:set selection=exclusive
0v3l[34m^[[mgvcxxx[34m^[[m
:$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[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" User functions
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction MoveToCap()
[?25l
: [?12l[?25h: call search('\u', 'W')
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1Hkv3lyjv3lpgvcxxx[34m^[[m
:$put ='---'[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[6L[?25l[1;1Hkv3lyjv3lpgvcxxx[34m^[[m
:$put ='---'
:
:$put =''
:$put ='gv in exclusive select mode without operation'
:$put ='zzz '[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Visual modes followed by operator
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^apple
[?25l[16;1H[?12l[?25ha[?25l[24;1H[1m-- VISUAL --[16;2H[?12l[?25h[?25l[m[7mp[?12l[?25h[?25l[mle banana cherry[16;18H[K[24;1H[K[16;2H[?12l[?25h[?25l banana cherry[16;16H[K[16;2H[?12l[?25h [?25l[7mbanan[m[24;1H[1m-- VISUAL --[16;8H[?12l[?25h[?25l[m
a cherry[16;10H[K[24;1H[K[16;3H[?12l[?25h[?25ly[16;4H[K[16;3H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[16;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^line 1
[?25l[18;1H[?12l[?25h[?25ll[7mine 1 line 1 [m[24;1H[1m-- VISUAL LINE --[18;1H[?12l[?25h[?25l[24;4HINSERT --N[m[24;13H[K[24;1H[K[18;1Hnewline[18;8H[K[18;7H[?12l[?25h[19;7H[?25l[24;1H[1m-- INSERT --[m[24;1H[K[19;1Hnewline[19;8H[K[19;7H[?12l[?25h[20;7H[?25l
[7mline 3 line 3
line 4[m [7mline 4 [m
[1m-- VISUAL LINE --[21;7H[?12l[?25h[?25l[m[20;1Hline 5 line 5[20;14H[K[21;1Hline 6 line 6[21;14H[K[22;1H[K[23;1Hxxxxxxxxxxxxx[24;1H[K[20;1H[?12l[?25h[?25l[20;1H[K[21;1Hxxxxxxxxxxxxx
xxxxxxxxxxxxx[20;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^xxxx
[?25l[21;1H[?12l[?25h[?25l
[1m-- VISUAL BLOCK --[21;1H[?12l[?25h[?25l[m[7mx
[?12l[?25h[?25l[21;2Hx
x[?12l[?25h[?25l[m[24;4H[1mINSERT --O[m[24;13H[K[24;1H[K[21;1H
[21;2H[?12l[?25h [?25l
[1m-- INSERT --[m[24;1H[K[21;3H
[21;4H[?12l[?25h [?25l[1;23r[23;1H
[1;24r[20;5H[7mxxxx
[m [7mxxxx
[mxxxx[7mxxxx[m
xxxx[7mxxx[mxxxxxx
[1m-- VISUAL BLOCK --[23;8H[?12l[?25h[?25l
-- INSERT --O[m[24;13H[K[24;1H[K[20;5H----
----
xxxx----
xxxx----[20;8H[?12l[?25h-[?25l[24;1H[1m-- INSERT --[m[24;1H[K[20;9H----[21;9H----[22;9H----[23;9H----[20;12H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Visual mode maps (movement and text object)
[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hvnoremap W /\u/s-1<CR>
[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hvnoremap iW :<C-U>call SelectInCaps()<CR>
[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Kiwi
[?25l[1;23r[1;1H[2M[1;24r[23;1HKiwiRaspberryDateWatermelonPeach[24;1H[K[23;1H[?12l[?25h[?25l
[1m-- VISUAL --[23;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/\u/s-1
[23;1H[7mKiw[?12l[?25h[?25l[m
[1m-- INSERT --[m[24;1H[K[23;1HNoRaspberryDateWatermelonPeach[23;31H[K[23;2H[?12l[?25ho[?25l
[1m-- INSERT --[m[24;1H[K[23;3HNoberryDateWatermelonPeach[23;29H[K[23;4H[?12l[?25hoberry[?25l[7mDateWat[m
[1m-- VISUAL --[23;17H[?12l[?25h[?25l[m[23;10HrmelonPeach[23;21H[K[24;1H[K[23;10H[?12l[?25h[?25lach[23;13H[K[23;10H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;10H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Jambu
[?25l[1;23r[23;1H
[1;24r[23;1HJambuRambutanBananaTangerineMango[24;1H[K[23;1H[?12l[?25hJa[?25l
[1m-- VISUAL --[23;3H[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[24;2H[K[24;2Hcall SelectInCaps()
[23;1H[7mJamb[?12l[?25h[?25l[m
[1m-- INSERT --[m[24;13H[K[24;1H[K[23;1H-RambutanBananaTangerineMango[23;30H[K[23;1H[?12l[?25h-[?25l
[1m-- INSERT --[m[24;1H[K[23;2H-tanBananaTangerineMango[23;26H[K[23;2H[?12l[?25h-[?25l[7mtanBanana[m
[1m-- VISUAL --[23;12H[?12l[?25h[?25l[m
--angerineMango[23;16H[K[24;1H[K[23;3H[?12l[?25ha[?25lgo[23;6H[K[23;4H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Operator-pending mode maps (movement and text object)
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25honoremap W /\u/<CR>
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25honoremap <Leader>W :<C-U>call MoveToCap()<CR>
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25honoremap iW :<C-U>call SelectInCaps()<CR>
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Pineapple
[?25l[1;23r[1;1H[2M[1;24r[23;1HPineappleQuinceLoganberryOrangeGrapefruitKiwiZ[24;1H[K[23;1H[?12l[?25h[?25l
/\u/
[24;4H[K[24;1H[24;1H[K[23;1H-QuinceLoganberryOrangeGrapefruitKiwiZ[23;39H[K[23;1H[?12l[?25h-[?25l
/\u/
[24;4H[K[24;1H[1m-- INSERT --[m[24;1H[K[23;2H-LoganberryOrangeGrapefruitKiwiZ[23;34H[K[23;2H[?12l[?25h-[?25l
/\u/
[24;4H[K[24;1H[1m-- INSERT --[m[24;1H[K[23;3H-GrapefruitKiwiZ[23;19H[K[23;3H[?12l[?25h-[?25l
/\u/
[24;4H[K[24;1H[1m-- INSERT --[m[24;1H[K[23;4H-Z[23;6H[K[23;4H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Juniper
[?25l[1;23r[23;1H
[1;24r[23;1HJuniperDurianZ[24;1H[K[23;1H[?12l[?25h[?25l
:call MoveToCap()
[23;1HWhavcre
[?12l[?25h[7C[?25l[24;1H[K[24;1H:call MoveToCap()
[23;8HQhevna[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;8H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Lemon
[?25l[1;23r[23;1H
[1;24r[23;1HLemonNectarineZ[24;1H[K[23;1H[?12l[?25h[?25l
:call SelectInCaps()
[23;1H[?12l[?25h[?25lLemonLemonNectarineZ
Lemo[?12l[?25hn[?25l[24;1H[K[24;1H:call SelectInCaps()
[24;1H[K[23;6HNewNectarineZ[23;19H[K[23;8H[?12l[?25hwNecta[?25l
:call SelectInCaps()
[24;1H[K[23;11HwZ[23;13H[K[23;11H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Patch 7.3.879: Properly abort Operator-pending mode for "dv:<Esc>" etc.
[?25l[23;11H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^zzzz
[?25l[1;23r[1;1H[2M[1;24r[23;1Hzzzz[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noma | let v:errmsg = ''
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1m[37m[41mE21: Cannot make changes, 'modifiable' is off[23;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ma | put = v:errmsg =~# '^E21' ? 'ok' : 'failed'
[?25l[1;23r[23;1H
[1;24r[23;1Hok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset noma | let v:errmsg = ''
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset ma | put = v:errmsg =~# '^E21' ? 'failed' : 'ok'
[?25l[1;23r[23;1H
[1;24r[23;1Hok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise visual mode: replace last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: replace last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet @" = 'x'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v:errmsg = ''
[?25l[23;1H[?12l[?25h[?25l
[1m-- VISUAL --[m[24;13H[K[23;1H[?12l[?25h[?25l[7ma[?12l[?25h[?25l[mx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='v:errmsg='.v:errmsg
[?25l[1;23r[23;1H
[1;24r[23;1Hv:errmsg=[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise visual mode: delete middle line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: delete middle line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25l
[1m-- VISUAL --[21;1H[?12l[?25h[?25l[m[7ma[?12l[?25h[?25l[mb
c
[1m[34m~ [m[24;1H[K[21;1H[?12l[?25h
[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise visual mode: delete middle two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: delete middle two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25l
[1m-- VISUAL --[21;1H[?12l[?25h[?25l[m[7ma
[?12l[?25h[?25lb[?12l[?25h[?25l[m[21;1Hc[21;2H[K[22;1H[1m[34m~ [23;1H~ [m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[22;1H---[22;4H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='characterwise visual mode: delete last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: delete last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25l
[1m-- VISUAL --[23;1H[?12l[?25h[?25l[m[7mc[?12l[?25h[?25l[m[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise visual mode: delete last two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: delete last two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[?25l
[1m-- VISUAL --[22;1H[?12l[?25h[?25l[m[7mb
[?12l[?25h[?25lc[?12l[?25h[?25l[m[22;1H[K[23;1H[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Select mode maps
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsnoremap <lt>End> <End>
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsnoremap <lt>Down> <Down>
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsnoremap <lt>Del> <Del>
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise select mode: delete middle line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise select mode: delete middle line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25l
[1m-- SELECT --[21;1H[?12l[?25h[?25l[m[7ma[?12l[?25h[?25l[mb
c
[1m[34m~ [m[24;1H[K[21;1H[?12l[?25h
[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise select mode: delete middle two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise select mode: delete middle two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25l
[1m-- SELECT --[21;1H[?12l[?25h[?25l[m[7ma
[?12l[?25h[?25lb[?12l[?25h[?25l[m[21;1Hc[21;2H[K[22;1H[1m[34m~ [23;1H~ [m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[22;1H---[22;4H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='characterwise select mode: delete last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise select mode: delete last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25l
[1m-- SELECT --[23;1H[?12l[?25h[?25l[m[7mc[?12l[?25h[?25l[m[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise select mode: delete last two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise select mode: delete last two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[?25l
[1m-- SELECT --[22;1H[?12l[?25h[?25l[m[7mb
[?12l[?25h[?25lc[?12l[?25h[?25l[m[22;1H[K[23;1H[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='linewise select mode: delete middle line'
[?25l[1;23r[23;1H
[1;24r[23;1Hlinewise select mode: delete middle line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25la[7m [m
[1m-- SELECT LINE --[21;1H[?12l[?25h[?25l[mb[21;2H[K[22;1Hc
[1m[34m~ [m[24;1H[K[21;1H[?12l[?25h
[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='linewise select mode: delete middle two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hlinewise select mode: delete middle two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25la[7m [m
[1m-- SELECT LINE --[21;1H[?12l[?25h[?25l[m[7ma
[mb[7m
[?12l[?25h[?25l[m[21;1Hc[21;2H[K[22;1H[1m[34m~ [23;1H~ [m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[22;1H---[22;4H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='linewise select mode: delete last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hlinewise select mode: delete last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25lc[7m [m
[1m-- SELECT LINE --[23;1H[?12l[?25h[?25l[m[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='linewise select mode: delete last two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hlinewise select mode: delete last two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[?25lb[7m [m
[1m-- SELECT LINE --[22;1H[?12l[?25h[?25l[m[7mb
[mc[7m
[?12l[?25h[?25l[m[22;1H[1m[34m~ [23;1H~ [m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[22;1H---[22;4H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='v_p: replace last character with line register at middle line'
[?25l[1;23r[23;1H
[1;24r[23;1Hv_p: replace last character with line register at middle line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='aaa'
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='bbb'
[?25l[1;23r[23;1H
[1;24r[23;1Hbbb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ccc'
[?25l[1;23r[23;1H
[1;24r[23;1Hccc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h-2yank
[?25l[23;1H[?12l[?25h[22;1Hbb[?25l
[1m-- VISUAL --[22;3H[?12l[?25h[?25l[m[22;3H[K[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[1;1H[2M[1;24r[22;1Hccc
---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='v_p: replace last character with line register at middle line selecting
newline'
[?25l[1;1H[L[2;1Hlinewise select mode: delete middle two line
c[3;2H[K[4;1H---[5;1H[K[6;1Hlinewise select mode: delete last line
a[7;2H[K[8;1Hb
---[10;1H[K[11;1Hlinewise select mode: delete last two line
a[12;2H[K[13;1H---[14;1H[K[15;1Hv_p: replace last character with line register at middle line
aaa[16;4H[K[17;1Hbb[17;3H[K[18;1Haaa[19;1H[K[20;1Hccc
---[22;1H[K[23;1Hv_p: replace last character with line register at middle line selecting newline[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='aaa'
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='bbb'
[?25l[1;23r[23;1H
[1;24r[23;1Hbbb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ccc'
[?25l[1;23r[23;1H
[1;24r[23;1Hccc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h-2yank
[?25l[23;1H[?12l[?25h[22;1Hbb[?25l
[1m-- VISUAL --[22;3H[?12l[?25h[?25l[m[7mb[?12l[?25h[?25l[m[22;3H[K[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hccc
[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='v_p: replace last character with line register at last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hv_p: replace last character with line register at last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='aaa'
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='bbb'
[?25l[1;23r[23;1H
[1;24r[23;1Hbbb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ccc'
[?25l[1;23r[23;1H
[1;24r[23;1Hccc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h-2yank
[?25l[23;1H[?12l[?25hcc[?25l
[1m-- VISUAL --[23;3H[?12l[?25h[?25l[1;23r[m[23;1H
[1;24r[22;3H[K[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='v_p: replace last character with line register at last line selecting n
[23;80He[24;1Hwline'
[?25l[1;1H[L[1;1Haaa
bb[2;3H[K[3;1Haaa[4;1H[K[5;1Hccc
---[7;1H[K[8;1Hv_p: replace last character with line register at middle line selecting newline
aaa[9;4H[K[10;1Hbb[10;3H[K[11;1Haaa
ccc
---[14;1H[K[15;1Hv_p: replace last character with line register at last line
aaa[16;4H[K[17;1Hbbb
cc[18;3H[K[19;1Haaa[20;1H[K[21;1H---[22;1H[K[23;1Hv_p: replace last character with line register at last line selecting newline[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='aaa'
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='bbb'
[?25l[1;23r[23;1H
[1;24r[23;1Hbbb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ccc'
[?25l[1;23r[23;1H
[1;24r[23;1Hccc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h-2yank
[?25l[23;1H[?12l[?25hcc[?25l
[1m-- VISUAL --[23;3H[?12l[?25h[?25l[m[7mc[?12l[?25h[?25l[1;23r[m[23;1H
[1;24r[22;3H[K[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='gv in exclusive select mode after operation'
[?25l[1;23r[23;1H
[1;24r[23;1Hgv in exclusive select mode after operation[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='zzz '
[?25l[1;23r[23;1H
[1;24r[23;1Hzzz[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ä[24;11Hà '
[?25l[1;23r[23;1H
[1;24r[23;1Hä[23;3HÃ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset selection=exclusive
[?25l[23;1H[?12l[?25h[22;1H[?25l
[1m-- VISUAL --[m[24;13H[K[22;1H[?12l[?25h[?25l[7mzzz[?12l[?25h[?25l[m
zzz[24;1H[K[22;1H[?12l[?25h
[?25l
[1m-- VISUAL --[23;1H[?12l[?25h[?25l[m[7mä[23;3HÃ[?12l[?25h[?25l[m
zzz[24;1H[K[23;3H[?12l[?25h[?25l
[1m-- VISUAL --[m[23;1H[7mzzz[?12l[?25h[?25l[m[24;4H[1mINSERT [m[24;1H[K[23;1Hxxx[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='gv in exclusive select mode without operation'
[?25l[1;23r[23;1H
[1;24r[23;1Hgv in exclusive select mode without operation[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='zzz '
[?25l[1;23r[23;1H
[1;24r[23;1Hzzz[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset selection=exclusive
[?25l[23;1H[?12l[?25h[?25l
[1m-- VISUAL --[m[24;13H[K[23;1H[?12l[?25h[?25l[7mzzz[?12l[?25h[?25l[m
zzz[24;1H[K[23;4H[?12l[?25h[?25l
[1m-- VISUAL --[m[23;1H[7mzzz[?12l[?25h[?25l[m[24;4H[1mINSERT [m[24;1H[K[23;1Hxxx[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^start:/+2,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New] 123L, 1328C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test95.in" 141 lines, 5827 characters[1;1HTest 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.[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for regexp patterns with multi-byte support, using utf-8.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 131 lines, 5590 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:[8Cendif
: 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:
[1m[34m~ [20;1H[?12l[?25h
[?25l
[m:so! Xdotest
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp encoding=utf-8 viminfo+=nviminfo nomore
[?25l[27m[23m[m[H[2J[1;1H:[8Cendif
: 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:
[1m[34m~ [21;1H[?12l[?25h[?25l
[m:[?12l[?25h" tl is a List of Lists with:
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" 2: test auto/old/new 0: test auto/old 1: test auto/new
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" regexp pattern
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" text to test the pattern on
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected match (optional)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected submatch 1 (optional)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected submatch 2 (optional)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" etc.
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When there is no match use only the first two items.
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tl = []
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Multi-byte character tests. These will fail unless vim is compiled
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" with Multibyte (FEAT_MBYTE) or BIG/HUGE features.
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[[:alpha:][=a=]]\+', '879 aiaãâaiuvna ', 'aiaãâaiuvna'])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[[=a=]]\+', 'ddaãâbcd', 'aãâ'])[34m^I^I^I^I^I^I^I^I[m" equivalence
classes
[?25l[1;1H[L[1;1H:[8Cendif[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hcall add(tl, [2, '[^ม ]\+', 'มม oijasoifjos ifjoisj f osij j มมมมม abcd', 'oij
[23;80Ha[24;1Hsoifjos'])
[?25l[1;1H[L[1;1H:[8Cendif[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hcall add(tl, [2, ' [^ ]\+', 'start มabcdม ', ' มabcdม'])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[ม[:alpha:][=a=]]\+', '879 aiaãมâมaiuvna ', 'aiaãมâมaiuvna']
[23;80H)[24;1H[?25l[1;1H[L[1;1H:[8Cendif[24;1H[K[21;1H[?12l[?25h[?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 ®expengine = 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
[23;80Hx[24;1Ht . '\", 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
[23;80Hx[24;1Ht . '\", 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
[23;80Hx[24;1Ht . '\", 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:[8C[?12l[?25h: if len(t) <= matchidx + i
[?25l:[10C[?12l[?25h: let e = ''
[?25l:[10C[?12l[?25h: else
[?25l:[10C[?12l[?25h: let e = t[matchidx + i]
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: if l[i] != e
[?25l:[10C[?12l[?25h: $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text:
"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: endfor
[?25l: [?12l[?25h: unlet i
[?25l: [?12l[?25h: endif
[?25l: [?12l[?25h: endfor
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[1;1HOK 2 - ק[34m<200d>[mx\Z
OK 0 - ק[34m<200d>[mx\Z
OK 1 - ק[34m<200d>[mx\Z
OK 2 - ק[34m<200d>[mx\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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" check that 'ambiwidth' does not change the meaning of \p
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset regexpengine=1 ambiwidth=single
[?25l[27m[23m[m[H[2J[1;1HOK 2 - ק[34m<200d>[mx\Z
OK 0 - ק[34m<200d>[mx\Z
OK 1 - ק[34m<200d>[mx\Z
OK 2 - ק[34m<200d>[mx\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[1;23r[23;1H
[1;24r[23;1Heng 1 ambi single: 0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset regexpengine=1 ambiwidth=double
[?25l[27m[23m[m[H[2J[1;1HOK 0 - ק[34m<200d>[mx\Z
OK 1 - ק[34m<200d>[mx\Z
OK 2 - ק[34m<200d>[mx\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[1;23r[23;1H
[1;24r[23;1Heng 1 ambi double: 0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset regexpengine=2 ambiwidth=single
[?25l[27m[23m[m[H[2J[1;1HOK 1 - ק[34m<200d>[mx\Z
OK 2 - ק[34m<200d>[mx\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[1;23r[23;1H
[1;24r[23;1Heng 2 ambi single: 0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset regexpengine=2 ambiwidth=double
[?25l[27m[23m[m[H[2J[1;1HOK 2 - ק[34m<200d>[mx\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[1;23r[23;1H
[1;24r[23;1Heng 2 ambi double: 0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/\%#=1^Results/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test98.in" 43 lines, 908 characters[1;1HTest 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.[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for 'scrollbind' causing an unexpected scroll of one of the windows.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 35 lines, 791 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[3;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[16M[1;24r[8;1H: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(too[20;1HpLineLeft - topLineRight))
:w! test.out
:brewind
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" We don't want the status line to cause problems:
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset laststatus=0
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:totalLines = &lines * 20
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet middle = g:totalLines / 2
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd n
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd o
[?25l[12;1H[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hfor i in range(1, g:totalLines)
[?25l
: [?12l[?25h: call setline(i, 'LINE ' . i)
[?25l: [?12l[?25h:endfor
[1;1H[2L[?25l[1;1HLINE 1
LINE 2
LINE 3[3;7H[K[4;1HLINE 4[4;7H[K[5;1HLINE 5[5;7H[K[6;1HLINE 6[6;7H[K[7;1HLINE 7[7;7H[K[8;1HLINE 8[8;7H[K[9;1HLINE 9[9;7H[K[10;1HLINE 10[10;8H[K[11;1HLINE 11[11;8H[K[12;1HLINE 12[12;8H[K[13;1HLINE 13[13;8H[K[14;1HLINE 14[14;8H[K[15;1HLINE 15[15;8H[K[16;1HLINE 16[16;8H[K[17;1HLINE 17[17;8H[K[18;1HLINE 18[18;8H[K[19;1HLINE 19[19;8H[K[20;1HLINE 20[20;8H[K[21;1HLINE 21[21;8H[K[22;1HLINE 22[22;8H[K[23;1HLINE 23[23;8H[K[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hexe string(middle)
[?25l[27m[23m[m[H[2J[1;1HLINE 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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnormal zt
[?25l[1;23r[1;1H[11M[1;24r[13;1HLINE 252
LINE 253
LINE 254
LINE 255
LINE 256
LINE 257
LINE 258
LINE 259
LINE 260
LINE 261
LINE 262[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnormal M
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haboveleft vert new
[?25l[1;1H [32C[7m|[2;41H|[3;41H|[4;41H|[5;41H|[6;41H|[7;41H|[8;41H|[9;41H|[10;41H|[11;41H|[12;41H|[13;41H|[14;41H|[15;41H|[16;41H|[17;41H|[18;41H|[19;41H|[20;41H|[21;41H|[22;41H|[23;41H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~ [m[1;42HLINE 240[2;42HLINE 241[3;42HLINE 242[4;42HLINE 243[5;42HLINE 244[6;42HLINE 245[7;42HLINE 246[8;42HLINE 247[9;42HLINE 248[10;42HLINE 249[11;42HLINE 250[12;42HLINE 251[13;42HLINE 252[14;42HLINE 253[15;42HLINE 254[16;42HLINE 255[17;42HLINE 256[18;42HLINE 257[19;42HLINE 258[20;42HLINE 259[21;42HLINE 260[22;42HLINE 261[23;42HLINE 262[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(1, g:totalLines)
[?25l
: [?12l[?25h: call setline(i, 'line ' . i)
[?25l: [?12l[?25h:endfor
[1;1H[2L[?25l[1;1Hline 1[34C[7m|[m
line 2[34C[7m|[m
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 [1;42HLINE 240[2;42HLINE 241[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hexe string(middle)
[?25l[1;6H229[2;7H30[3;6H231[4;6H232[5;6H233[6;6H234[7;6H235[8;6H236[9;6H237[10;6H238[11;6H239[12;6H240[13;6H241[14;6H242[15;6H243[16;6H244[17;6H245[18;6H246[19;6H247[20;7H48[21;7H49[22;7H50[23;7H51[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal zt
[?25l[1;1Hline 240
line 241
line 242
line 243
line 244
line 245
line 246
line 247
line 248
line 249
line 250
line 251
[13;1Hline 252
line 253
line 254
line 255
line 256
line 257
line 258
line 259
line 260
line 261
line 262[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnormal M
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Execute the following two command at once to reproduce the problem.
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl scb | wincmd p
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl scb
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd w
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet topLineLeft = line('w0')
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd p
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet topLineRight = line('w0')
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl noscrollbind
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd p
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl noscrollbind
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[1;1HLINE[1;41H[K[2;1HLINE[2;41H[K[3;1HLINE[3;41H[K[4;1HLINE[4;41H[K[5;1HLINE[5;41H[K[6;1HLINE[6;41H[K[7;1HLINE[7;41H[K[8;1HLINE[8;41H[K[9;1HLINE[9;41H[K[10;1HLINE[10;41H[K[11;1HLINE[11;41H[K[12;1HLINE[12;41H[K[13;1HLINE[13;41H[K[14;1HLINE[14;41H[K[15;1HLINE[15;41H[K[16;1HLINE[16;41H[K[17;1HLINE[17;41H[K[18;1HLINE[18;41H[K[19;1HLINE[19;41H[K[20;1HLINE[20;41H[K[21;1HLINE[21;41H[K[22;1HLINE[22;41H[K[23;1HLINE[23;41H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%del _
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall setline(1, 'Difference between the top lines (left - right): ' . string(t
[23;80Ho[24;1HpLineLeft - topLineRight))
[?25l[1;1H[L[1;1HDifference between the top lines (left - right): 0[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 51 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbrewind
[?25l"test98.in" 43 lines, 908 characters[1;1H:normal M[1;10H[K[2;1H:" Execute the following two command at once to reproduce the problem.[2;71H[K[3;1H:setl scb | wincmd p[3;21H[K[4;1H:setl scb[4;10H[K[5;1H:wincmd w[5;10H[K[6;1H:let topLineLeft = line('w0')[6;30H[K[7;1H:wincmd p[7;10H[K[8;1H:let topLineRight = line('w0')[8;31H[K[9;1H:setl noscrollbind[9;19H[K[10;1H:wincmd p[10;10H[K[11;1H:setl noscrollbind[11;19H[K[12;1H:q![12;4H[K[13;1H:%del _[13;8H[K[14;1H:call setline(1, 'Difference between the top lines (left - right): ' . string(too[15;1HpLineLeft - topLineRight))[15;27H[K[16;1H:w! test.out[16;13H[K[17;1H:brewind[17;9H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1HSTARTTEST[20;10H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[20;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H1 line, 5 characters written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[21;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test99.in" 69 lines, 1400 characters[1;1HTests 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
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with multi-byte encoding and various magic settings.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 43 lines, 931 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:" 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[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
[?25l[27m[23m[m[H[2J[1;1H:" 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
:[?12l[?25h" Test \%u, [\u] and friends
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%u20ac
[?25l[1;23r[23;1H
/[?12l[?25h[\u4f7f\u5929]\+
[?25l[1;23r[23;1H
/[?12l[?25h\%U12345678
[?25l[1;23r[23;1H
/[?12l[?25h[\U1234abcd\u1234\uabcd]
[?25l[1;23r[23;1H
/[?12l[?25h\%d21879b
[?25l[1;23r[23;1H
:[?12l[?25h" Test backwards search from a multi-byte char
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hx
[?25l[1;23r[23;1H
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" l Test what 7.3.192 fixed
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^l
[?25l[1;23r[23;1H
2 d dd dee deeff
3 g gg ghh ghhii
4 j jj jkk jkkll
5 m mm mnn mnnoo
#@/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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test103.in" 37 lines, 823 characters[1;1HTest for visual mode not being reset causing E315 error.
STARTTEST
:so small.vim
:enew
:let g:msg="Everything's fine."
:function! TriggerTheProblem()
:[7C" At this point there is no visual selection because :call reset it.
:[7C" Let's restore the selection:
:[7Cnormal gv
:[7C'<,'>del _
:[7Ctry
:[15Cexe "normal \<Esc>"
:[7Ccatch /^Vim\%((\a\+)\)\=:E315/
:[15Cechom 'Snap! E315 error!'
:[15Clet g:msg='Snap! E315 error!'
:[7Cendtry
: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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for visual mode not being reset causing E315 error.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 29 lines, 723 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[3;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[10M[1;24r[14;1H:"[7Cex-way will require the colon operator which resets the visual mode thuu[15;1Hs
:"[7Cpreventing the problem:
:"
GV:call TriggerTheProblem()
:%del _
:call append(line('$'), g:msg)
:w! test.out
:brewind
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25henew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet g:msg="Everything's fine."
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! TriggerTheProblem()
[?25l
: [?12l[?25h:[34m^I[m" At this point there is no visual selection because :call reset it.
[?25l: [?12l[?25h:[34m^I[m" Let's restore the selection:
[?25l: [?12l[?25h:[34m^I[mnormal gv
[?25l: [?12l[?25h:[34m^I[m'<,'>del _
[?25l: [?12l[?25h:[34m^I[mtry
[?25l: [?12l[?25h:[34m^I^I[mexe "normal \<Esc>"
[?25l: [?12l[?25h:[34m^I[mcatch /^Vim\%((\a\+)\)\=:E315/
[?25l: [?12l[?25h:[34m^I^I[mechom 'Snap! E315 error!'
[?25l: [?12l[?25h:[34m^I^I[mlet g:msg='Snap! E315 error!'
[?25l: [?12l[?25h:[34m^I[mendtry
[?25l: [?12l[?25h:endfunction
[1;1H[11L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25henew
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl buftype=nofile
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), 'Delete this line.')
[?25l[2;1HDelete this line.[2;18H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" NOTE: this has to be done by a call to a function because executing :del the
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" ex-way will require the colon operator which resets the visual mode th
[23;80Hu[24;1Hs[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" preventing the problem:
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h
[?25lD[7melete this line.
[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[?12l[?25hcall TriggerTheProblem()
[?25l[2;1H[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h%del _
[?25l--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), g:msg)
[?25l[2;1HEverything's fine.[2;19H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 2 lines, 20 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbrewind
[?25l"test103.in" 37 lines, 823 characters[1;1H:[7Cendtry
:endfunction[2;14H[K[3;1H:enew[3;6H[K[4;1H:setl buftype=nofile[4;21H[K[5;1H:call append(line('$'), 'Delete this line.')[5;45H[K[6;1H:"[6;3H[K[7;1H:"[7;3H[K[8;1H:" NOTE: this has to be done by a call to a function because executing :del the[8;80H[K[9;1H:" ex-way will require the colon operator which resets the visual mode thuu[10;1Hs[10;2H[K[11;1H:" preventing the problem:[11;33H[K[12;1H:"[12;3H[K[13;1HGV:call TriggerTheProblem()[13;28H[K[14;1H:%del _[14;8H[K[15;1H:call append(line('$'), g:msg)[15;31H[K[16;1H:w! test.out[16;13H[K[17;1H:brewind[17;9H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1HSTARTTEST[20;10H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[20;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H1 line, 5 characters written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[21;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test104.in" 30 lines, 698 characters[1;1HTests 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 [16;1H== 1 ? "a" : "b"}']
: try
: redir => messages
: execute 'let' letargs
: redir END
: $put ='OK:'
: $put =split(substitute(messages, '\n', '\0 ', 'g'), '\n')
: catch[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :let. vim: set ft=vim ts=8 :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 24 lines, 618 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[6M[1;24r[18;1H: $put ='FAIL: ' . v:exception
: redir END
: endtry
:endfor
:/^Results/,$wq! test.out
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset runtimepath+=./sautest
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test to not autoload when assigning. It causes internal error.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[5L[?25l[1;1H: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 [7;1H== 1 ? "a" : "b"}']
: try[8;7H[K[9;1H: redir => messages
: execute 'let' letargs[11;12HEND[11;15H[K[12;6H$put ='OK:'[12;17H[K[13;6H$put =split(substitute(messages, '\n', '\0 ', 'g'), '\n')
: catch[14;9H[K[15;12H'FAIL: ' . v:exception[15;34H[K[16;4H redir END
: endtry[17;11H[K[18;2Hendfor[18;8H[K[19;2H/^Results/,$wq! test.out
ENDTEST[21;1H[K[22;1HResults of test104:
OK: function('tr')[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet a = 1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b = 2
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0
== 1 ? "a" : "b"}']
[?25l[24;1H[K[24;1H: [?12l[?25h: try
[?25l: [?12l[?25h: redir => messages
[?25l: [?12l[?25h: execute 'let' letargs
[?25la[21C#1
b[21C#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[21C#2
b[21C#2
a[21C#1
a[21C#1
b[21C#2
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h/^Results/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test107.in" 38 lines, 717 characters[1;1HTests 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)
:[7Clet 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for adjusting window and contents vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 32 lines, 628 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[13M[1;24r[11;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;2H:wincmd p[13;11H[K[14;2Hcall add(r, [line("w0"), s3])[15;2H[K[16;2Hbwipeout!
:$put=r[17;8H[K[18;2Hcall garbagecollect(1)
:"[19;3H[K[20;2H/^start:/,$wq! test.out
ENDTEST[21;8H[K[22;1H[K[23;1H[7mtest107.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall setline(1, range(1,256))
[?25l[1;1H1
2[2;2H[K[3;1H3[3;2H[K[4;1H4[4;2H[K[5;1H5[5;2H[K[6;1H6[6;2H[K[7;1H7[7;2H[K[8;1H8[8;2H[K[9;1H9[9;2H[K[10;1H10[10;3H[K[11;1H11[11;3H[K[12;11H[1m[7m[+][1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet r=[]
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1H1
2
3
4
5
6[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"
[?25l[11;1H[7m[No Name] [+] [m[12;1H:let s3=GetScreenStr(1)[12;24H[K[23;1H[1m[7mtest107.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd p
[?25l[11;1H[1m[7m[No Name] [+] [m[23;1H[7mtest107.in[m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"
[?25l[27m[23m[m[H[2J[1;1H50
51
52
53
54
55
56
57
58
59
[7m[No Name] [+] [m[12;1H:let s3=GetScreenStr(1)
::wincmd p
:call add(r, [line("w0"), s3])
:
:bwipeout!
:$put=r
:call garbagecollect(1)
:"
:/^start:/,$wq! test.out
ENDTEST
[1m[7mtest107.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd p
[?25l[11;1H[1m[7m[No Name] [+] [m[23;1H[7mtest107.in[m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"
[?25l[27m[23m[m[H[2J[1;1H59
60
61
62
63
64
65
66
67
68
[7m[No Name] [+] [m[12;1H:let s3=GetScreenStr(1)
::wincmd p
:call add(r, [line("w0"), s3])
:
:bwipeout!
:$put=r
:call garbagecollect(1)
:"
:/^start:/,$wq! test.out
ENDTEST
[1m[7mtest107.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h:wincmd p
[?25l[11;1H[1m[7m[No Name] [+] [m[23;1H[7mtest107.in[m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipeout!
[?25l[1;1H:[1;2H[K[2;1H: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])
:[6;2H[K[7;1H: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])
:[11;2H[K[12;2Hexe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"
:let s3=GetScreenStr(1)
::wincmd p[14;11H[K[15;2Hcall add(r, [line("w0"), s3])[16;2H[K[17;2Hbwipeout!
:$put=r[18;8H[K[19;2Hcall garbagecollect(1)
:"[20;3H[K[21;1H:/^start:/,$wq! test.out
ENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put=r
[?25l3 more lines[1;23r[1;1H[4M[1;24r[20;1Hstart:
[1, '1 ']
[50, '50 ']
[59, '59 '][24;1H[K[24;1H3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test108.in" 88 lines, 1329 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for backtrace debug commands. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 83 lines, 1251 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hup
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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang mess C
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1Hup
b
echo "fil is not frame or finish, it is file"
fil[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1Hup
b
echo "fil is not frame or finish, it is file"
fil[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1Hup
b
echo "fil is not frame or finish, it is file"
fil[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;5H[K[14;1Hecho "\n- final result 19:"
cont[15;6H[K[16;1H:0debuggreedy
:redir END[17;11H[K[18;2H$put =out
:w! test.out
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7mtest108.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hdebuggreedy
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir => out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[?25l[1m[37m[41mError detected while processing function Foo[2]..Bar[2]..Bazz:[m
[33mline 3:[m
[1m[37m[41mE121: Undefined variable: var3[m
[1m[37m[41mE15: Invalid expression: var3[m
>[?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
[?25l[1m[37m[41mError detected while processing function Foo[2]..Bar:[m
[33mline 3:[m
[1m[37m[41mE121: Undefined variable: var2[m
[1m[37m[41mE15: Invalid expression: var2[m
>[?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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h0debuggreedy
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1Hfram
echo "\n- final result 19:"
cont
:0debuggreedy
:redir END
:$put =out
:w! test.out
:qa!
ENDTEST
[7mtest108.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hredir END
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =out
[?25l83 more lines[1;1H->1 function Foo[2]
0 Bar[2;8H[K[3;1Hline 3: End of function[3;24H[K[4;1Hframe is zero[4;14H[K[5;1H 1 function Foo[2][5;20H[K[6;1H->0 Bar[6;8H[K[7;1Hline 3: End of function[7;24H[K[8;1H[K[9;1H- final result 19:[9;19H[K[10;1H19[10;3H[K[11;1H[K[12;11H[1m[7m[+][11;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 84 lines, 1390 characters written[12;1H[1m[7mtest.out] [11;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_autocmd_option.in" 77 lines, 2954 characters[1;1HTest for option autocommand
STARTTEST
:so small.vim
:if !has("eval") || !has("autocmd") || !exists("+autochdir") | e! test.ok | w! tt[6;1Hest.out | qa! | endif
:fu! AutoCommand(match)
:[7Clet c=g:testcase
:[7Clet item=remove(g:options, 0)
:[7Clet c.=printf("Expected: Name: <%s>, Oldval: <%s>, NewVal: <%s>, Scope: [11;1H<%s>\n", item[0], item[1], item[2], item[3])
:[7Clet c.=printf("Autocmd Option: <%s>,", a:match)
:[7Clet c.=printf(" OldVal: <%s>,", v:option_old)
:[7Clet c.=printf(" NewVal: <%s>,", v:option_new)
:[7Clet c.=printf(" Scope: <%s>\n", v:option_type)
:[7Ccall 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']][1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for option autocommand[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 72 lines, 2896 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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, secoo[4;1Hnd 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[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has("eval") || !has("autocmd") || !exists("+autochdir") | e! test.ok | w!
[23;80Ht[24;1Hest.out | qa! | endif
[?25l[1;1H[L[1;1H:let g:testcase="13: Setting option backspace through setbufvar()\n"[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hfu! AutoCommand(match)
[?25l
: [?12l[?25h:[34m^I[mlet 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
[23;80Hp[24;1He: <%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
[1;1H[10L[?25l[1;1H: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, secoo[4;1Hnd 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)[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hau OptionSet * :call AutoCommand(expand("<amatch>"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="1: Setting number option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['number', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nu
[?25l[1;1H[33m 56 [m:let g:testcase="13: Setting option backspace through setbufvar()\n"
[33m 57 [m:let g:options=[['backup', '', '1', 'local']]
[33m 58 [m: "try twice, first time, shouldn't trigger because option name is invall[4;1Hid, second time, it should trigger
[33m 59 [m:call setbufvar(1, '&l:bk', 1)
[33m 60 [m: "should trigger, use correct option name
[33m 61 [m:call setbufvar(1, '&backup', 1)
[33m 62 [m:let g:testcase="14: Setting number option using setwinvar\n"
[33m 63 [m:let g:options=[['number', 0, 1, 'local']]
[33m 64 [m:call setwinvar(0, '&number', 1)
[33m 65 [m:" Write register now, because next test shouldn't output anything.
[33m 66 [m:$put r
[33m 67 [m:let @r=''
[33m 68 [m:let g:testcase="\n15: Setting key option, shouldn't trigger\n"
[33m 69 [m:let g:options=[['key', 'invalid', 'invalid1', 'invalid']]
[33m 70 [m:setlocal key=blah
[33m 71 [m:setlocal key=
[33m 72 [m:$put =g:testcase
[33m 73 [m:$put r
[33m 74 [m:/^dummy text/,$w! test.out
[33m 75 [m:qa!
[33m 76 [mENDTEST
[33m 77 [mdummy text[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="2: Setting local number option\n"
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['number', 1, 0, 'local']]
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal nonu
[?25l[1;1H:let g:testcase="13: Setting option backspace through setbufvar()\n"[1;69H[K[2;1H:let g:options=[['backup', '', '1', 'local']][2;46H[K[3;1H: "try twice, first time, shouldn't trigger because option name is invalid, secoo[4;1Hnd time, it should trigger[4;28H[K[5;1H:call setbufvar(1, '&l:bk', 1)[5;31H[K[6;1H: "should trigger, use correct option name[6;43H[K[7;1H:call setbufvar(1, '&backup', 1)[7;33H[K[8;1H:let g:testcase="14: Setting number option using setwinvar\n"[8;62H[K[9;1H:let g:options=[['number', 0, 1, 'local']][9;43H[K[10;1H:call setwinvar(0, '&number', 1)[10;33H[K[11;1H:" Write register now, because next test shouldn't output anything.[11;68H[K[12;1H:$put r[12;8H[K[13;1H:let @r=''[13;11H[K[14;1H:let g:testcase="\n15: Setting key option, shouldn't trigger\n"[14;64H[K[15;1H:let g:options=[['key', 'invalid', 'invalid1', 'invalid']][15;59H[K[16;1H:setlocal key=blah[16;19H[K[17;1H:setlocal key=[17;15H[K[18;1H:$put =g:testcase[18;18H[K[19;1H:$put r[19;8H[K[20;1H:/^dummy text/,$w! test.out[20;28H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1Hdummy text[23;11H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="3: Setting global number option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['number', 1, 0, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal nonu
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="4: Setting local autoindent option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoindent', 0, 1, 'local']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal ai
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="5: Setting global autoindent option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoindent', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal ai
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="6: Setting global autoindent option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoindent', 1, 0, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ai!
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h Should not print anything, use :noa
[?25l[1m[37m[41mE492: Not an editor command: Should not print anything, use :noa[23;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnoa :set nonu
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="7: Setting several global list and number option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['list', 0, 1, 'global'], ['number', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset list nu
[?25l[1;1H[33m 56 [m:let g:testcase="13: Setting option backspace through setbufvar()\n"[1m[34m$[m
[33m 57 [m:let g:options=[['backup', '', '1', 'local']][1m[34m$[m
[33m 58 [m: "try twice, first time, shouldn't trigger because option name is invall[4;1Hid, second time, it should trigger[1m[34m$[m
[33m 59 [m:call setbufvar(1, '&l:bk', 1)[1m[34m$[m
[33m 60 [m: "should trigger, use correct option name[1m[34m$[m
[33m 61 [m:call setbufvar(1, '&backup', 1)[1m[34m$[m
[33m 62 [m:let g:testcase="14: Setting number option using setwinvar\n"[1m[34m$[m
[33m 63 [m:let g:options=[['number', 0, 1, 'local']][1m[34m$[m
[33m 64 [m:call setwinvar(0, '&number', 1)[1m[34m$[m
[33m 65 [m:" Write register now, because next test shouldn't output anything.[1m[34m$[m
[33m 66 [m:$put r[1m[34m$[m
[33m 67 [m:let @r=''[1m[34m$[m
[33m 68 [m:let g:testcase="\n15: Setting key option, shouldn't trigger\n"[1m[34m$[m
[33m 69 [m:let g:options=[['key', 'invalid', 'invalid1', 'invalid']][1m[34m$[m
[33m 70 [m:setlocal key=blah[1m[34m$[m
[33m 71 [m:setlocal key=[1m[34m$[m
[33m 72 [m:$put =g:testcase[1m[34m$[m
[33m 73 [m:$put r[1m[34m$[m
[33m 74 [m:/^dummy text/,$w! test.out[1m[34m$[m
[33m 75 [m:qa![1m[34m$[m
[33m 76 [mENDTEST[1m[34m$[m
[33m 77 [mdummy text[1m[34m$[23;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnoa set nolist nonu
[?25l[1;1H:let g:testcase="13: Setting option backspace through setbufvar()\n"[1;69H[K[2;1H:let g:options=[['backup', '', '1', 'local']][2;46H[K[3;1H: "try twice, first time, shouldn't trigger because option name is invalid, secoo[4;1Hnd time, it should trigger[4;28H[K[5;1H:call setbufvar(1, '&l:bk', 1)[5;31H[K[6;1H: "should trigger, use correct option name[6;43H[K[7;1H:call setbufvar(1, '&backup', 1)[7;33H[K[8;1H:let g:testcase="14: Setting number option using setwinvar\n"[8;62H[K[9;1H:let g:options=[['number', 0, 1, 'local']][9;43H[K[10;1H:call setwinvar(0, '&number', 1)[10;33H[K[11;1H:" Write register now, because next test shouldn't output anything.[11;68H[K[12;1H:$put r[12;8H[K[13;1H:let @r=''[13;11H[K[14;1H:let g:testcase="\n15: Setting key option, shouldn't trigger\n"[14;64H[K[15;1H:let g:options=[['key', 'invalid', 'invalid1', 'invalid']][15;59H[K[16;1H:setlocal key=blah[16;19H[K[17;1H:setlocal key=[17;15H[K[18;1H:$put =g:testcase[18;18H[K[19;1H:$put r[19;8H[K[20;1H:/^dummy text/,$w! test.out[20;28H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1Hdummy text[23;11H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="8: Setting global acd\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autochdir', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal acd
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="9: Setting global autoread\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoread', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="10: Setting local autoread\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoread', 0, 1, 'local']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal ar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="11: Setting global autoread\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoread', 1, 0, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal invar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="12: Setting option backspace through :let\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['backspace', '', 'eol,indent,start', 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet &bs="eol,indent,start"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="13: Setting option backspace through setbufvar()\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['backup', '', '1', 'local']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h "try twice, first time, shouldn't trigger because option name is invalid, sec
[23;80Ho[24;1Hnd time, it should trigger
[?25l[1;1H[L[1;1H:let g:testcase="13: Setting option backspace through setbufvar()\n"[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcall setbufvar(1, '&l:bk', 1)
[?25l[1m[37m[41mE355: Unknown option: l:bk[m[24;27H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h "should trigger, use correct option name
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall setbufvar(1, '&backup', 1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="14: Setting number option using setwinvar\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['number', 0, 1, 'local']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall setwinvar(0, '&number', 1)
[?25l[1;1H[33m 56 [m:let g:testcase="13: Setting option backspace through setbufvar()\n"
[33m 57 [m:let g:options=[['backup', '', '1', 'local']]
[33m 58 [m: "try twice, first time, shouldn't trigger because option name is invall[4;1Hid, second time, it should trigger
[33m 59 [m:call setbufvar(1, '&l:bk', 1)
[33m 60 [m: "should trigger, use correct option name
[33m 61 [m:call setbufvar(1, '&backup', 1)
[33m 62 [m:let g:testcase="14: Setting number option using setwinvar\n"
[33m 63 [m:let g:options=[['number', 0, 1, 'local']]
[33m 64 [m:call setwinvar(0, '&number', 1)
[33m 65 [m:" Write register now, because next test shouldn't output anything.
[33m 66 [m:$put r
[33m 67 [m:let @r=''
[33m 68 [m:let g:testcase="\n15: Setting key option, shouldn't trigger\n"
[33m 69 [m:let g:options=[['key', 'invalid', 'invalid1', 'invalid']]
[33m 70 [m:setlocal key=blah
[33m 71 [m:setlocal key=
[33m 72 [m:$put =g:testcase
[33m 73 [m:$put r
[33m 74 [m:/^dummy text/,$w! test.out
[33m 75 [m:qa!
[33m 76 [mENDTEST
[33m 77 [mdummy text[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Write register now, because next test shouldn't output anything.
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put r
[?25l60 more lines[1;5H[33m117[m[1CAutocmd Option: <autoread>, OldVal: <0>, NewVal: <1>, Scope: <global>[2;5H[33m118[m[2;9H[K[3;5H[33m119[m[1C10: Setting local autoread[3;35H[K[4;1H[33m 120 [mExpected: Name: <autoread>, Oldval: <0>, NewVal: <1>, Scope: <local>[5;5H[33m121[m[1CAutocmd Option: <autoread>, OldVal: <1>, NewVal: <1>, Scope: <local>[6;5H[33m122[m[6;9H[K[7;5H[33m123[m[1C11: Setting global autoread[7;36H[K[8;5H[33m124[m[1CExpected: Name: <autoread>, Oldval: <1>, NewVal: <0>, Scope: <global>[9;5H[33m125[m[1CAutocmd Option: <autoread>, OldVal: <1>, NewVal: <0>, Scope: <global>[10;5H[33m126[m[10;9H[K[11;5H[33m127[m[1C12: Setting option backspace through :let[11;50H[K[12;5H[33m128[m[1CExpected: Name: <backspace>, Oldval: <>, NewVal: <eol,indent,start>, Scoo[13;1Hpe: <global>[13;14H[K[14;5H[33m129[m[1CAutocmd Option: <backspace>, OldVal: <>, NewVal: <eol,indent,start>, Scoo[15;1Hpe: <global>[15;14H[K[16;5H[33m13[m[16;9H[K[17;5H[33m13[m[2C13: Setting option backspace through setbufvar()[18;5H[33m13[m[2CExpected: Name: <backup>, Oldval: <>, NewVal: <1>, Scope: <local>[19;5H[33m13[m[2CAutocmd Option: <backup>, OldVal: <0>, NewVal: <1>, Scope: <local>[20;5H[33m13[m[20;9H[K[21;5H[33m13[m[2C14: Setting number option using setwinvar[22;5H[33m13[m[3Cxpected: Name: <number>, Oldval: <0>, NewVal: <1>, Scope: <local>[23;5H[33m13[m[2CAutocmd Option: <number>, OldVal: <0>, NewVal: <1>, Scope: <local>[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet @r=''
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="\n15: Setting key option, shouldn't trigger\n"
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['key', 'invalid', 'invalid1', 'invalid']]
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal key=blah
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal key=
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:testcase
[?25l[1;23r[1;1H[2M[1;24r[22;1H[33m 138
139 [m15: Setting key option, shouldn't trigger[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25h$put r
[?25l[1;23r[23;1H
[1;24r[23;1H[33m 140 [m[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25h/^dummy text/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 64 lines, 2700 characters written[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_autoformat_join.in" 23 lines, 524 characters[1;1HTests 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
ENDTEST[16;17HO 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:[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for setting the '[,'] marks when joining lines.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 9 lines, 265 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^\t\t/
[?25l[16;17H[?12l[?25h[16;8H[?25l[36Cattamen consulite per voster honur.
Tua pulchra facies me fay planszer milies[17;42H[K[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet a=string(getpos("'[")).'/'.string(getpos("']"))
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^This line/;'}-join
[?25l[19;23r[19;1H[2M[1;24r[19;1HThis line. Should be joined with the next line and with this line
[1m[34m~ [23;1H~ [m[24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet b=string(getpos("'[")).'/'.string(getpos("']"))
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='First test: Start/End '.string(a)
[?25l[22;1HFirst test: Start/End '[0, 16, 1, 0]/[0, 17, 1, 0]'[22;52H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='Second test: Start/End '.string(b)
[?25l[23;1HSecond test: Start/End '[0, 19, 11, 0]/[0, 19, 67, 0]'[23;55H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^\t\t/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_changelist.in" 22 lines, 288 characters[1;1HTest 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[34m^[[m
:catch
: normal ggVGcfail[34m^[[m
:finally
: %w! test.out
:endtry
:qa!
ENDTEST
1
2
[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest changelist position after splitting window[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 14 lines, 163 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h
[21;1H[?25l11[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ul=100
[?25l[21;2H[?12l[?25h
[?25l22[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ul=100
[?25l[22;2H[?12l[?25h[1;1H
[?25l[24;1H[K[24;1H:[?12l[?25hvsplit
[?25l[1;41H[7m|[m
window [7m|[m
Set 'undolevels' to make changelist for [7m|[m
sourced file[28C[7m|[m
[27C[7m|[m
STARTTEST [24C[7m|[m
:so small.vim [25C[7m|[m
Gkylp:set ul=100[24C[7m|[m
Gylp:set ul=100[25C[7m|[m
gg [36C[7m|[m
:vsplit [28C[7m|[m
:try [18C[7m|[m
: normal g;[28C[7m|[m[14;16Hpass[21C[7m|[m
:catch [32C[7m|[m
: normal ggVGcfail[34m^[[m[19C[7m|[m
:finally[32C[7m|[m
: %w! test.out[25C[7m|[m
:endtry[33C[7m|[m
:qa![36C[7m|[m
ENDTEST[33C[7m|[m
[38C[7m|[m
[1m[7mtest_changelist.in [+] [m[1;42HTest changelist position after splittin[2;42Hg window[2;50H[K[3;42HSet 'undolevels' to make changelist for[4;43Hsourced file[6;42HSTARTTEST[7;42H:so small.vim[8;42HGkylp:set ul=100[9;42HGylp:set ul=100[10;42Hgg[11;42H:vsplit[12;42H:try[13;42H: normal g;[14;42H: normal ggVGcpass[34m^[[m[15;42H:catch[16;42H: normal ggVGcfail[34m^[[m[17;42H:finally[18;42H: %w! test.out[19;42H:endtry[20;42H:qa![21;42HENDTEST[23;42H[7mtest_changelist.in [+] [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25htry
[?25l
: [?12l[?25h: normal g;
[?25l: [?12l[?25h: normal ggVGcpass
[?25l21 fewer lines[24;15H[K[24;1H
:
: [?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
[1;1H[10L[?25l[1;1Hpass[36C[7m|[2;41H|[3;41H|[4;41H|[5;41H|[6;41H|[7;41H|[8;41H|[9;41H|[10;41H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~ [m[23;20H[1m[7m [m[1;42Hpass[2;42H[1m[34m~ [3;42H~ [4;42H~ [5;42H~ [6;42H~ [7;42H~ [8;42H~ [9;42H~ [10;42H~ [11;42H~ [12;42H~ [13;42H~ [14;42H~ [15;42H~ [16;42H~ [17;42H~ [18;42H~ [19;42H~ [20;42H~ [21;42H~ [22;42H~ [m[23;61H[7m [m[24;1H[K[1;4H[?12l[?25h[?25l[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_close_count.in" 153 lines, 2665 characters[1;1HTests 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![1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :[count]close! and :[count]hide vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 41 lines, 749 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tests = []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(5)
[?25l
: [?12l[?25h:new
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [m[4;1H[1m[7m[No Name] [m[6;1H[1m[34m~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[7mtest_close_count.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h4wincmd w
[?25l[4;1H[7m[No Name][m[1m[7m [m[7m [m[16;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[7m[No Name] [m[7;1H[1m[34m~ [8;1H~ [m[9;1H[7m[No Name] [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [m[14;1H[7m[No Name] [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[1m[7m[No Name] [m[20;1H:b1
ENDTEST
[7mtest_close_count.in [15;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[19;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7m[No Name] [m[18;1H:only!
:b1
ENDTEST
STARTTEST
[1m[7mtest_close_count.in [21;1H[?12l[?25h[?25l
[m:[?12l[?25hlet buffers = []
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7m[No Name] [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [16;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[8;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h2close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[12;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[1m[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [m[18;1H[7m[No Name] [m[20;1H[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h2wincmd w
[?25l[6;1H[7m[No Name][m[1m[7m [m[7m [m[12;1H[1m[7m[No Name] [7;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h-1close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[8;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h2wincmd w
[?25l[16;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [9;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h+1close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [m[11;1H[7m[No Name] [m[13;1H[1m[34m~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [12;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [New File][23;1H[1m[7mtest.out] [12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(0, map(copy(tests), 'join(v:val, " ")'))
[?25l[12;22r[12;1H[6L[1;24r[12;1H6 5 4 2 1
5 4 2 1
5 4 2
5 2
7 5 2
7 5[23;10H[1m[7m[+][m[24;1H[K[18;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw
[?25l"test.out" [New File] 7 lines, 39 characters written[23;10H[1m[7m [18;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25honly!
[?25l[1;1H6 5 4 2 1
5 4 2 1[2;8H[K[3;1H5 4 2[3;6H[K[4;1H5 2[4;4H[K[5;1H7 5 2[5;6H[K[6;1H7 5[6;4H[K[7;1H[K[11;1H[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [23;1H~ [7;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hb1
[?25l"test_close_count.in" 153 lines, 2665 characters[1;1H: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[8;3H[K[9;1H:only![9;7H[K[10;1H:b1[10;4H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1HSTARTTEST[13;10H[K[14;1H:let tests = [][14;16H[K[15;1H:for i in range(5)[15;19H[K[16;1H:new[16;5H[K[17;1H:endfor[17;8H[K[18;1H:let buffers = [][18;18H[K[19;1H:windo call add(buffers, bufnr('%'))[19;37H[K[20;1H:call add(tests, buffers)[20;26H[K[21;1H:4wincmd w[21;11H[K[22;1H:.hide[22;7H[K[23;1H:let buffers = [][23;18H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H44 lines, 815 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[34m^[[m
: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('%'))[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tests = []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(5)
[?25l
: [?12l[?25h:new
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [m[4;1H[1m[7m[No Name] [m[6;1H[1m[34m~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[7mtest_close_count.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[4;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h4wincmd w
[?25l[16;1H[1m[7m[No Name] [m[23;1H[7mtest_close_count.in[m[1m[7m [m[7m [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[7m[No Name] [m[7;1H[1m[34m~ [8;1H~ [m[9;1H[7m[No Name] [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [m[14;1H[7m[No Name] [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[1m[7m[No Name] [m[20;1H:b1
ENDTEST
[7mtest_close_count.in [15;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[19;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7m[No Name] [m[18;1H:only!
:b1
ENDTEST
STARTTEST
[1m[7mtest_close_count.in [21;1H[?12l[?25h[?25l
[m:[?12l[?25hlet buffers = []
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7m[No Name] [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [16;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[8;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h2hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[12;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[1m[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [m[18;1H[7m[No Name] [m[20;1H[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h3wincmd w
[?25l[6;1H[7m[No Name][m[1m[7m [m[7m [m[18;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h-hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[1m[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [9;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[16;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h2wincmd w
[?25l[16;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [9;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h+hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [m[11;1H[7m[No Name] [m[13;1H[1m[34m~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [12;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H7 lines, 39 characters[12;1H6 5 4 2 1
5 4 2 1[13;8H[K[14;1H5 4 2[14;6H[K[15;1H5 2[15;4H[K[16;1H7 5 2[16;6H[K[17;1H7 5[17;4H[K[18;1H[K[23;1H[1m[7mtest.out] [12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l[19;1H13 12 11 10 9 1[19;16H[K[20;1H13 12 11 9 1[20;13H[K[21;1H12 11 9 1[21;10H[K[22;1H12 11 9[22;8H[K[23;10H[1m[7m[+][12;1H[?12l[?25h[?25l[12;22r[m[12;1H[3M[1;24r[20;1H12 9
15 12 9
15 12[24;1H[K[22;1H[?12l[?25h[?25l[12;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25hw
[?25l"test.out" 15 lines, 106 characters written[23;10H[1m[7m [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25honly!
[?25l[1;1H6 5 4 2 1
5 4 2 1[2;8H[K[3;1H5 4 2[3;6H[K[4;1H5 2[4;4H[K[5;1H7 5 2[5;6H[K[6;1H7 5[6;4H[K[7;1H[K[8;1H13 12 11 10 9 1[8;16H[K[9;1H13 12 11 9 1[9;13H[K[10;1H12 11 9 1[10;10H[K[11;1H12 11 9[11;8H[K[12;1H12 9[12;5H[K[13;1H15 12 9
15 12[15;1H[K[16;1H[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [15;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hb1
[?25l[1;1H:+hide[1;7H[K[2;1H:let buffers = []
:windo call add(buffers, bufnr('%'))
:call add(tests, buffers)
:e! test.out
:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))
Go[34m^[[m
:w[8;4H[K[9;1H:only![9;7H[K[10;1H:b1[10;4H[K[11;1HENDTEST[12;1H[K[13;1HSTARTTEST
:let tests = []
:set hidden
:for i in range(5)[16;19H[K[17;1H:new[17;5H[K[18;1H:endfor[18;8H[K[19;1H:1wincmd w[19;11H[K[20;1H:$ hide[20;8H[K[21;1H:let buffers = [][21;18H[K[22;1H:windo call add(buffers, bufnr('%'))[22;37H[K[23;1H:call add(tests, buffers)[23;26H[K[24;1H"test_close_count.in" line 93 of 153 --60%-- col 1[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H25 lines, 448 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[34m^[[m
:w
:only!
:b1
ENDTEST
STARTTEST
:let tests = []
:set hidden
:for i in range(5)
:new
:endfor
:4wincmd w
[34m^W[mc
:let buffers = []
:windo call add(buffers, bufnr('%'))[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tests = []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(5)
[?25l
: [?12l[?25h:new
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [m[4;1H[1m[7m[No Name] [m[6;1H[1m[34m~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[7mtest_close_count.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h1wincmd w
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$ hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[1m[7m[No Name] [m[7;1H[1m[34m~ [8;1H~ [9;1H~ [m[10;1H[7m[No Name] [m[12;1H[1m[34m~ [13;1H~ [m[14;1H[7m[No Name] [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[7m[No Name] [m[21;1H[1m[34m~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[5;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [20;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$-1 close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7m[No Name] [m[19;1H[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [18;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[6;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.+close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[8;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H15 lines, 106 characters[17;1H6 5 4 2 1
5 4 2 1[18;8H[K[19;1H5 4 2[19;6H[K[20;1H5 2[20;4H[K[21;1H7 5 2[21;6H[K[22;1H7 5[22;4H[K[23;1H[1m[7mtest.out] [17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l[23;10H[1m[7m[+][17;1H[?12l[?25h[?25l[m15 12 9[17;9H[K[18;1H15 1[18;7H[K[19;1H[K[20;1H20 19 18 17 16
20 19 18 16
20 18 16
[?12l[?25h[?25l[17;22r[22;1H
[1;24r[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hw
[?25l"test.out" 19 lines, 143 characters written[23;10H[1m[7m [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25honly!
[?25l[27m[23m[m[H[2J[1;1H6 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
[1m[34m~ [21;1H~ [22;1H~ [23;1H~ [19;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hb1
[?25l[1;1H:.+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[34m^[[m
:w[8;4H[K[9;1H:only![9;7H[K[10;1H:b1[10;4H[K[11;1HENDTEST[12;1H[K[13;1HSTARTTEST
:let tests = []
:set hidden
:for i in range(5)
:new[17;5H[K[18;1H:endfor[18;8H[K[19;1H:4wincmd w
[34m^W[mc[20;4H[K[21;1H:let buffers = [][21;18H[K[22;1H:windo call add(buffers, bufnr('%'))[22;37H[K[23;1H:call add(tests, buffers)[23;26H[K[24;1H"test_close_count.in" line 121 of 153 --79%-- col 1[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H28 lines, 511 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[19M[1;24r[5;1H1[34m^W[mc
:let buffers = []
:windo call add(buffers, bufnr('%'))
:call add(tests, buffers)
9[34m^W[mc
:let buffers = []
:windo call add(buffers, bufnr('%'))
:call add(tests, buffers)
:1wincmd w
2[34m^W[mc
: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tests = []
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(5)
[?25l
: [?12l[?25h:new
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [m[4;1H[1m[7m[No Name] [m[6;1H[1m[34m~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[7mtest_close_count.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h4wincmd w
[?25l[4;1H[7m[No Name][m[1m[7m [m[7m [m[16;1H[1m[7m[No Name] [13;1H[?12l[?25h[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[7m[No Name] [m[7;1H[1m[34m~ [8;1H~ [m[9;1H[7m[No Name] [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [m[14;1H[7m[No Name] [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[1m[7m[No Name] [m[20;1H:qa!
ENDTEST
[7mtest_close_count.in [15;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[19;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7m[No Name] [m[18;1H:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))
:w
:qa!
ENDTEST
[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[18;22r[m[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25hlet buffers = []
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7m[No Name] [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [16;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[8;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25honly!
[?25l[12;1H[1m[34m~ [13;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" line 19 of 19 --100%-- col 1[1;1H6 5 4 2 1
5 4 2 1[2;8H[K[3;1H5 4 2[3;6H[K[4;1H5 2[4;4H[K[5;1H7 5 2[5;6H[K[6;1H7 5[6;4H[K[7;1H[K[8;1H13 12 11 10 9 1[8;16H[K[9;1H13 12 11 9 1[9;13H[K[10;1H12 11 9 1[10;10H[K[11;1H12 11 9[11;8H[K[12;1H12 9[12;5H[K[13;1H15 12 9[13;8H[K[14;1H15 12[14;6H[K[15;1H[K[16;1H20 19 18 17 16[16;15H[K[17;1H20 19 18 16[17;12H[K[18;1H20 18 16[18;9H[K[19;1H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l[20;1H25 24 23 21 1[20;14H[K[21;1H24 23 21 1[21;11H[K[22;1H24 23 21[22;9H[K[23;1H24 21[23;6H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" 23 lines, 183 characters written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_comparators.in" 21 lines, 283 characters[1;1H" 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
[1m[34m~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1H" Test for expression comparators. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 14 lines, 200 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[10L[?25l[1;1H" Test for expression comparators. vim: set ft=vim :
STARTTEST
:so small.vim
:try
: let oldisident=&isident
: set isident+=#
: if 1 is#1
: $put ='ok'[22;1Hok[22;3H[K[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^marker/+1,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_erasebackword.in" 19 lines, 427 characters[1;1HTest for erasing backword
STARTTEST
:so small.vim
:so mbyte.vim
:set encoding=utf-8
G
:/^test/,$w! test.out
:qa!
ENDTEST
test starts here:
[1m[34m~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for erasing backword[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 12 lines, 362 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1HTest for erasing backword
STARTTEST
:so small.vim
:so mbyte.vim
:set encoding=utf-8
G
o wwwこんにちわ世界ワールドvim [34m^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^W^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^W^W^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^W^W^W^W^[[m
:/^test/,$w! test.out
:qa!
ENDTEST
test starts here:
[1m[34m~ [21;1H~ [22;1H~ [23;1H~ [17;1H[?12l[?25h
[?25l[m
www[20;5H[K[20;5H[?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[21;5H[K[21;5H[?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[21;19H[K[21;17H[?12l[?25h[?25l
www[22;5H[K[22;5H[?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[22;15H[K[22;13H[?12l[?25h[?25l
www[23;5H[K[23;5H[?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[23;5H[K[23;4H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Hwww[?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[23;2H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Hwww[?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[23;2H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^test/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 8 lines, 111 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_eval.in" 247 lines, 6201 characters[1;1HTest 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:rr[15;1Heg, 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[19;1H:type, a:cont, a:strcont, a:cont1, a:strcont1))
endfun
:command -nargs=? AR :call AppendRegContents(<q-args>)
:fun SetReg(...)
call call('setreg', a:000)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for various eval features. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 233 lines, 6010 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[9;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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:[18;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=latin1
[?25l[27m[23m[m[H[2J[1;1H:$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:[19;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset noswapfile
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang C
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfun AppendRegContents(reg)
[?25l
: [?12l[?25h call AppendRegParts(a:reg, getregtype(a:reg), getreg(a:reg), string(getreg
[23;80H([24;1Ha:reg, 0, 1)), getreg(a:reg, 1), string(getreg(a:reg, 1, 1)))
[?25l: [?12l[?25h:endfun
[1;1H[3L[?25l[1;1H:$put =str[:n]
:$put =str[n:n]
:unlet n[24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?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
[23;80Hg[24;1H, a:type, a:cont, a:strcont, a:cont1, a:strcont1))
[?25l: [?12l[?25hendfun
[1;1H[3L[?25l[1;1H:$put =str[:n]
:$put =str[n:n]
:unlet n[24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcommand -nargs=? AR :call AppendRegContents(<q-args>)
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[7L[?25l[1;1H:$put =str[:n]
:$put =str[n:n]
:unlet n
:let nn = 3
:$put =str[nn:]
:$put =str[:nn]
:$put =str[nn:nn][24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[7L[?25l[1;1H:$put =str[:n]
:$put =str[n:n]
:unlet n
:let nn = 3
:$put =str[nn:]
:$put =str[:nn]
:$put =str[nn:nn][24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?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
[23;80H-[24;1H4-2"])
[?25l: [?12l[?25hcall SetReg('b', ['abcB4c-0', "\n", "abcB4c-2\n", "\nabcB4c-3", "abcB4c-4\na
[23;80Hb[24;1HcB4c-4-2"], 'c')
[?25l: [?12l[?25hcall SetReg('c', ['abcC4l-0', "\n", "abcC4l-2\n", "\nabcC4l-3", "abcC4l-4\na
[23;80Hb[24;1HcC4l-4-2"], 'l')
[?25l: [?12l[?25hcall SetReg('d', ['abcD4b-0', "\n", "abcD4b-2\n", "\nabcD4b-3", "abcD4b-4\na
[23;80Hb[24;1HcD4b-4-2"], 'b')
[?25l: [?12l[?25hcall SetReg('e', ['abcE4b10-0', "\n", "abcE4b10-2\n", "\nabcE4b10-3", "abcE4
[23;80Hb[24;1H10-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
[23;80Hn[24;1Hts']", "clipboard contents\n", "['clipboard contents']")
[?25l: [?12l[?25h call AppendRegParts('*', 'V', "something else\n", "['something else']",
[23;80H"[24;1Hsomething 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
[27m[23m[m[H[2J[?25l[1;1H:$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:[19;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Test()
[?25lhi[24;3H[K[1;1H*: type V; value: something else[34m^@[m (['something else']), expr: something else[34m^@[m [2;1H(['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 moo[18;1Hre lines
Executing call setreg("=", ["1", "2"])
Vim(call):E883: search pattern and expression register may not contain two or moo[21;1Hre lines[21;9H[K[22;1HExecuting call setreg(1, ["", "", [], ""])
Vim(call):E730: using List as a String
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction SetReg
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction AppendRegContents
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction ErrExe
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction Test
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelcommand AR
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" function name not starting with capital
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1H{{{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)[7;14H8: Too many arguments for function: setreg[7;56H[K[8;23H[], 2)[8;29H[K[9;12H730: using List as a String[9;40H[K[10;23H1, {}[11;14H1[8CDictionary as a String[12;26H2, [])[13;14H0[8CList as a String[13;39H[K[14;23H"/", ["1", "2"])[15;12H883: search pattern and expression register may not contain two or moo[16;1Hre lines[16;9H[K[17;1HExecuting call setreg("=", ["1", "2"])[17;39H[K[18;1HVim(call):E883: search pattern and expression register may not contain two or moo[19;1Hre lines[19;9H[K[20;1HExecuting call setreg(1, ["", "", [], ""])[20;43H[K[21;1HVim(call):E730: using List as a String
Vim(function):E128: Function name must start with a capital or "s:": g:test()
[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" function name includes a colon
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1H{{{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)[23;1HVim(function):E128: Function name must start with a capital or "s:": b:test()[23;78H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" function name folowed by #
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1HExecuting 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)[7;29H[K[8;1HVim(call):E730: using List as a String
Executing call setreg(1, {})[9;29H[K[10;1HVim(call):E731: using Dictionary as a String
Executing call setreg(1, 2, [])[11;32H[K[12;1HVim(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 moo[15;1Hre lines[15;9H[K[16;1HExecuting call setreg("=", ["1", "2"])
Vim(call):E883: search pattern and expression register may not contain two or moo[18;1Hre lines[18;9H[K[19;1HExecuting call setreg(1, ["", "", [], ""])
Vim(call):E730: using List as a String[20;39H[K[21;5Hfunction):E128: Function name must start with a capital or "s:": g:test()[22;70Hb[23;70Htest2() "#[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" function name starting with/without "g:", buffer-local funcref.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! g:Foo(n)
[?25l
: [?12l[?25h: $put ='called Foo(' . a:n . ')'
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1HExecuting call setreg()
Vim(call):E119: Not enough arguments for function: setreg[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet b:my_func = function('Foo')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall b:my_func(1)
[?25l[1;23r[23;1H
[1;24r[23;1Hcalled Foo(1)[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hecho g:Foo(2)
[?25l0[24;2H[K[1;23r[23;1H
[1;24r[23;1Hcalled Foo(2)[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hecho Foo(3)
[?25l0[24;2H[K[1;23r[23;1H
[1;24r[23;1Hcalled Foo(3)[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" script-local function used in Funcref must exist.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso test_eval_func.vim
[?25l[1;23r[1;1H[4M[1;24r[20;1Hs:Testje exists: 0
func s:Testje exists: 1
Bar exists: 1
func Bar exists: 1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Using $ instead of '$' must give an error
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htry
[?25l
: [?12l[?25h: call append($, 'foobar')
[?25l: [?12l[?25h:catch
[?25l: [?12l[?25h:$put =v:exception
[?25l: [?12l[?25h:endtry
[1;1H[4L[?25l[1;1HExecuting 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 moo[7;1Hre lines[7;9H[K[8;1HExecuting call setreg("=", ["1", "2"])
Vim(call):E883: search pattern and expression register may not contain two or moo[10;1Hre lines[10;9H[K[11;1HExecuting call setreg(1, ["", "", [], ""])
Vim(call):E730: using List as a String[12;39H[K[13;5Hfunction):E128: Function name must start with a capital or "s:": g:test()[14;70Hb[15;70Htest2() "#
called Foo(1[16;14H[K[17;12H2[18;12H3
s:Testje exists: 0
func s:Testje exists: 1
Bar exists: 1[21;15H[K[22;1Hfunc Bar exists: 1
Vim(call):E116: Invalid arguments for function append[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='{{{1 getcurpos/setpos'
[?25l[1;23r[23;1H
[1;24r[23;1H{{{1 getcurpos/setpos[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^012345678
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: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[34m^@[m (['abc']), expr: abc[34m^@[m (['abc'])
": type V; value: abc[34m^M^@[m (['abc[34m^M[m']), expr: abc[34m^M^@[m (['abc[34m^M[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'])
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[m012345[?25l[24;1H[K[24;1H:[?12l[?25hlet sp = getcurpos()
[?25l[12;7H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hcall setpos('.', sp)
[?25l[12;7H[?12l[?25h[13;7H[?25l[24;1H[K[24;1H:[?12l[?25h$put
[?25l[27m[23m[m[H[2J[1;1HExecuting 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 moo[5;1Hre lines
Executing call setreg("=", ["1", "2"])
Vim(call):E883: search pattern and expression register may not contain two or moo[8;1Hre 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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" substring and variable name
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet str = 'abcdef'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet n = 3
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[n:]
[?25l[1;23r[23;1H
[1;24r[23;1Hdef[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =str[:n]
[?25l[1;23r[23;1H
[1;24r[23;1Habcd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =str[n:n]
[?25l[1;23r[23;1H
[1;24r[23;1Hd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet n
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet nn = 3
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[nn:]
[?25l[1;23r[1;1H[2M[1;24r[22;1Hdef
[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put =str[:nn]
[?25l[23;1Habcd[23;5H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[nn:nn]
[?25l[1;23r[23;1H
[1;24r[23;1Hd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet nn
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b:nn = 4
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[b:nn:]
[?25l[1;23r[1;1H[2M[1;24r[22;1Hef
[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put =str[:b:nn]
[?25l[23;1Habcde[23;6H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[b:nn:b:nn]
[?25l[1;23r[23;1H
[1;24r[23;1He[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet b:nn
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/+1,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_fixeol.in" 40 lines, 780 characters[1;1HTests for 'fixeol'[25Cvim: set ft=vim :
STARTTEST
:" use Unix fileformat for consistency
:set ff=unix
:enew!
awith eol[34m^[[m:w! XXEol
:enew!
:set noeol nofixeol
awithout eol[34m^[[m:w! XXNoEol
:set eol fixeol
:bwipe XXEol XXNoEol
:"
:" try editing files with 'fixeol' disabled
:e! XXEol
ostays eol[34m^[[m:set nofixeol
:w! XXTestEol
:e! XXNoEol
ostays without[34m^[[m:set nofixeol
:w! XXTestNoEol
:bwipe XXEol XXNoEol XXTestEol XXTestNoEol
:set fixeol[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for 'fixeol'[25Cvim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 35 lines, 698 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[16M[1;24r[8;1H:"
:" Append "END" to each file so that we can see what the last written char was.
ggdGaEND[34m^[[m:w >>XXEol
:w >>XXNoEol
:w >>XXTestEol
:w >>XXTestNoEol
:"
:" Concatenate the results
:e! test.out
a0[34m^[[m:$r XXEol
:$r XXNoEol
Go1[34m^[[m:$r XXTestEol
:$r XXTestNoEol
:w
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
2 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[2L[1;1H:w! XXTestEol
:e! XXNoEol
ostays without[34m^[[m:set nofixeol[3;30H[K[4;1H:w! XXTestNoEol[4;16H[K[5;1H:bwipe XXEol XXNoEol XXTestEol XXTestNoEol[5;43H[K[6;1H:set fixeol[6;12H[K[7;1H:"[7;3H[K[8;1H:" Append "END" to each file so that we can see what the last written char was.[8;80H[K[9;1HggdGaEND[34m^[[m:w >>XXEol[9;21H[K[10;1H:w >>XXNoEol[10;13H[K[11;1H:w >>XXTestEol[11;15H[K[12;1H:w >>XXTestNoEol[12;17H[K[13;1H:"[13;3H[K[14;1H:" Concatenate the results[14;27H[K[15;1H:e! test.out[15;13H[K[16;1Ha0[34m^[[m:$r XXEol[16;14H[K[17;1H:$r XXNoEol[17;12H[K[18;1HGo1[34m^[[m:$r XXTestEol[18;19H[K[19;1H:$r XXTestNoEol[19;16H[K[20;1H:w[20;3H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" try editing files with 'fixeol' disabled
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXEol
[?25l"XXEol" [24;9H[K[24;9H1 line, 9 characters[1;1Hwith eol[1;9H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m
stays eol[2;10H[K[2;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nofixeol
[?25l[2;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXTestEol
[?25l"XXTestEol" [24;13H[K[24;13H[New File] 2 lines, 19 characters written[2;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXNoEol
[?25l"XXNoEol" [24;11H[K[24;11H[Incomplete last line] 1 line, 11 characters[1;5Hout eol
[1m[34m~ [1;1H[?12l[?25h[?25l[m
stays without[2;14H[K[2;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nofixeol
[?25l[2;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXTestNoEol
[?25l"XXTestNoEol" [24;15H[K[24;15H[New File][Incomplete last line] 2 lines, 25 characters written[2;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXEol XXNoEol XXTestEol XXTestNoEol
[?25l"test_fixeol.in" [24;18H[K[24;18H40 lines, 780 characters
4 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fixeol
[?25l[1;1H[2L[1;1H:w! XXTestEol
:e! XXNoEol
ostays without[34m^[[m:set nofixeol[3;30H[K[4;1H:w! XXTestNoEol[4;16H[K[5;1H:bwipe XXEol XXNoEol XXTestEol XXTestNoEol[5;43H[K[6;1H:set fixeol[6;12H[K[7;1H:"[7;3H[K[8;1H:" Append "END" to each file so that we can see what the last written char was.[8;80H[K[9;1HggdGaEND[34m^[[m:w >>XXEol[9;21H[K[10;1H:w >>XXNoEol[10;13H[K[11;1H:w >>XXTestEol[11;15H[K[12;1H:w >>XXTestNoEol[12;17H[K[13;1H:"[13;3H[K[14;1H:" Concatenate the results[14;27H[K[15;1H:e! test.out[15;13H[K[16;1Ha0[34m^[[m:$r XXEol[16;14H[K[17;1H:$r XXNoEol[17;12H[K[18;1HGo1[34m^[[m:$r XXTestEol[18;19H[K[19;1H:$r XXTestNoEol[19;16H[K[20;1H:w[20;3H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Append "END" to each file so that we can see what the last written char was.
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[17L[1;24r[1;1HTests for 'fixeol'[25Cvim: set ft=vim :
STARTTEST
:" use Unix fileformat for consistency
:set ff=unix
:enew!
awith eol[34m^[[m:w! XXEol
:enew!
:set noeol nofixeol
awithout eol[34m^[[m:w! XXNoEol
:set eol fixeol
:bwipe XXEol XXNoEol
:"
:" try editing files with 'fixeol' disabled
:e! XXEol
ostays eol[34m^[[m:set nofixeol[24;1H[K[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25lEND[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXEol
[?25l"XXEol" [24;9H[K[24;9H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXNoEol
[?25l"XXNoEol" [24;11H[K[24;11H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXTestEol
[?25l"XXTestEol" [24;13H[K[24;13H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXTestNoEol
[?25l"XXTestNoEol" [24;15H[K[24;15H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Concatenate the results
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [New File][1;1H[K[1;1H[?12l[?25h[?25l0[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXEol
[?25l"XXEol" [24;9H[K[24;9H2 lines, 13 characters[2;1Hwith eol[2;9H[K[3;1HEND[3;4H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXNoEol
[?25l"XXNoEol" [24;11H[K[24;11H1 line, 15 characters[4;1Hwithout eolEND[4;15H[K[4;1H[?12l[?25h[?25l
1[5;2H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXTestEol
[?25l"XXTestEol" [24;13H[K[24;13H3 lines, 23 characters[6;1Hwith eol[6;9H[K[7;1Hstays eol[7;10H[K[8;1HEND[8;4H[K[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXTestNoEol
[?25l"XXTestNoEol" [24;15H[K[24;15H2 lines, 29 characters[9;1Hwithout eol[9;12H[K[10;1Hstays withoutEND[10;17H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" [New File] 10 lines, 84 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_getcwd.in" 96 lines, 2374 characters[1;1HTests for getcwd(), haslocaldir(), and :lcd[19Cvim: 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for getcwd(), haslocaldir(), and :lcd[19Cvim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 90 lines, 2273 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Do all test in a separate window to avoid E211 when we recursively
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" delete the Xtopdir directory during cleanup
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" This will cause a few errors, do it silently.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset visualbell
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" On windows a swapfile in Xtopdir prevents it from being cleaned up.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noswapfile
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[27m[23m[m[H[2J[?25l[1;1H: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[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" we start from a clean state.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xtopdir", "rf")
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet r=[]
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[23;1H[7mtest_getcwd.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet cwd=getcwd()
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet test_out = cwd . '/test.out'
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xtopdir')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd Xtopdir
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir[23;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test_getcwd.in[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xdir1')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xdir2')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xdir3')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew a
[?25l"a" [New File][27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7ma [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[17;1H:q
:exec "cd " . cwd
:call delete("Xtopdir", "rf")
:qa!
ENDTEST
[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test_getcwd.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew b
[?25l"b" [New File][27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[1m[7mb [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7ma [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [m[18;1H[7m[No Name] [m[19;1H:call delete("Xtopdir", "rf")
:qa!
ENDTEST
[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test_getcwd.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew c
[?25l"c" [New File][27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[1m[7mc [m[7;1H[1m[34m~ [8;1H~ [9;1H~ [m[10;1H[7mb [m[12;1H[1m[34m~ [13;1H~ [m[14;1H[7ma [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[7m[No Name] [m[20;1H:qa!
ENDTEST
[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test_getcwd.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h3wincmd w
[?25l[5;1H[7mc[m[1m[7m [m[7m [m[14;1H[1m[7ma [11;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlcd Xdir1
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/Xdir1[5;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/c[10;1H/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/b[m[14;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/a[11;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[5;1H[7mc [m[10;1H[1m[7mb [m[14;1H[7ma[m[1m[7mb[m[7m [6;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[5;1H[1m[7mc [m[10;1H[7mb[m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlcd Xdir3
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/Xdir3[5;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/c[m[10;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/b[14;1H/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/a[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("a"), 0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("b"), 0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("c"), 0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[5;1H[7mc[m[1m[7mb[m[7m [10;1Hb [14;1Ha [m[23;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("a"), tabpagenr()))
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("b"), tabpagenr()))
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("c"), tabpagenr()))
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabnew x
[?25l"x" [New File][27m[23m[m[H[2J[1;1H[4m[30m[47m [m[4m[35m[47m5[m[4m[30m[47m /b/v/v/s/v/t/test_getcwd.in [m[1m x [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew y
[?25l"y" [New File][1;33H[1m[35m2[m[1m y [m[43C[7m [m[1;80H[4m[30m[47mX[m[12;1H[1m[7my[m[1m[34m [m[1m[7m [m[13;1H[K[23;1H[7mx[m[1m[34m [m[7m [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnew z
[?25l"z" [New File][27m[23m[m[H[2J[1;1H[4m[30m[47m [m[4m[35m[47m5[m[4m[30m[47m /b/v/v/s/v/t/test_getcwd.in [m[1m [m[1m[35m3[m[1m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[9;1H[1m[7mz [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7my [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mx [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h3wincmd w
[?25l[9;1H[7mz[m[1m[7m [m[7m [m[23;1H[1m[7mx [m[1;35H[1mx [m[43C[7m [m[1;80H[4m[30m[47mX[17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[16;1H[1m[7my [m[23;1H[7mx[m[1m[7m [m[7m [m[1;35H[1my [m[43C[7m [m[1;80H[4m[30m[47mX[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlcd Xdir2
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/Xdir2[1;35H[1m/b/v/v/s/v/t/X/y [m[28C[7m [m[1;80H[4m[30m[47mX[m[9;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/z[m[16;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/y[m[23;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/x[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[1;35H[1mzb /[m[7m [28C [m[1;80H[4m[30m[47mX[m[9;1H[1m[7mz [m[16;1H[7my[m[1m[7mb[m[7m [23;1Hx [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlcd Xdir3
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/Xdir3[1;35H[1m/b/v/v/s/v/t/X/z [m[28C[7m [m[1;80H[4m[30m[47mX[m[9;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/z[m[16;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/y[23;1H/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtopdir/x[2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("x"), 0))
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("y"), 0))
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("z"), 0))
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tp_nr = tabpagenr()
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m5[m[1m /b/v/v/s/v/t/test_getcwd.in [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [m[11;1H[7mb [m[13;1H[1m[34m~ [14;1H~ [m[15;1H[7ma [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hcall add(r, GetCwdInfo(3, tp_nr))
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m5[m[1m /b/v/v/s/v/t/test_getcwd.in [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [m[11;1H[7mb [m[13;1H[1m[34m~ [14;1H~ [m[15;1H[7ma [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hcall add(r, GetCwdInfo(2, tp_nr))
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m5[m[1m /b/v/v/s/v/t/test_getcwd.in [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [m[11;1H[7mb [m[13;1H[1m[34m~ [14;1H~ [m[15;1H[7ma [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hcall add(r, GetCwdInfo(1, tp_nr))
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m5[m[1m /b/v/v/s/v/t/test_getcwd.in [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [m[11;1H[7mb [m[13;1H[1m[34m~ [14;1H~ [m[15;1H[7ma [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall writefile(r, test_out, "a")
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m4[m[1m [No Name] [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7mb [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7ma [m[19;1H[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [18;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir[1;17H[4m[30m[47mX/z [m[59C[7m [m[1;80H[4m[30m[47mX[m[6;1H[7mXtopdir/c[12;1HXtopdir/b[17;1HXtopdir/a
[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall delete("Xtopdir", "rf")
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_insertcount.in" 14 lines, 204 characters[1;1HTests for repeating insert and replace.
STARTTEST
:so small.vim
:/Second
4gro
:/^First/,$wq! test.out
:" get here when failed and in Insert mode
[34m^[[m:.wq! test.out
ENDTEST
First line
Second line
Last line
[1m[34m~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for repeating insert and replace.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 6 lines, 111 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/Second
[?25l[13;1H[?12l[?25h[?25looooecond line
ooo[?12l[?25h
Las[?25l[24;1H[K[24;1H:[?12l[?25h/^First/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_listchars.in" 54 lines, 705 characters[1;1HTests 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))'))[9;1H, '')
:endfunction
:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\\[12;1H<CR>"
:set listchars+=tab:>-,space:.,trail:<
:set list
:
/^start:/
:normal! jzt
GG
GG
GG
GG
GGH:
:set listchars-=trail:<[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for 'listchars' display with 'list' and :list[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 25 lines, 431 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[9M[1;24r[15;1HGG
GG
GG
GG
GG:
:put =g:lines
:'[,']w! test.out
ENDTEST[24;1H[K[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff=unix
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:lines = []
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction GetScreenCharsForLine(lnum)
[?25l
: [?12l[?25h: return join(map(range(1, virtcol('$')), 'nr2char(screenchar(a:lnum, v:val
[23;80H)[24;1H)'), '')
[?25l: [?12l[?25h:endfunction
[1;1H[3L[?25l[1;1H:endfunction
:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\\[3;1H<CR>"[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hnnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))
[23;80H\[24;1H<CR>"
[?25l[1;1H[L[1;1H:endfunction[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset listchars+=tab:>-,space:.,trail:<
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset list
[?25l[1;13H[1m[34m$[m[2;10H[34m.[m<expr>[34m.[mGG[34m.[m":call[34m.[12C.[m[39C\\[3;1H<CR>"[1m[34m$[m
:set[34m.[m[33C[1m[34m$[m
:set[34m.[mlist[1m[34m$
[m:[1m[34m$[7;10H$[m[8;9H[34m.[mjzt[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGGH:[1m[34m$[m
:set[34m.[m[18C[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG:[1m[34m$[m
:put[34m.[m[8C[1m[34m$[m[21;9H[34m.[m[8C[1m[34m$[22;8H$
$[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start:/
[?25l[24;9H[K[24;1H[1;23r[23;1H
[1;24r[23;1Hstart:[1m[34m$[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hnormal! jzt
[?25l[27m[23m[m[H[2J[1;1H[34m>-------[maa[34m>-----[m[1m[34m$[m
[34m..[mbb[34m>---<<[m[1m[34m$[m
[34m...[mcccc[34m><[m[1m[34m$[m
dd[34m........[mee[34m<<>-[m[1m[34m$[m
[34m<[m[1m[34m$
$
$[m
STARTTEST[1m[34m$[m
:set[34m.[mlistchars+=trail:<[1m[34m$[m
:set[34m.[mnolist[1m[34m$[m
:[1m[34m$[m
/^start:/[1m[34m$[m
:redir![34m.[m>>[34m.[mtest.out[1m[34m$[m
:+1,$list[1m[34m$[m
:redir[34m.[mEND[1m[34m$[m
:q![1m[34m$[m
ENDTEST[1m[34m$
$[m
start:[1m[34m$[m
[34m..[mfff[34m>--<<[m[1m[34m$[m
[34m>-------[mgg[34m>-----[m[1m[34m$[m
[34m.....[mh[34m>-[m[1m[34m$[m
iii[34m<<<<><<[m[1m[34m$[1;1H[?12l[?25h[?25l[24;1H[m:call add(g:lines, GetScreenCharsForLine(1))
[1;1H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(2))
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(3))
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(4))
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(5))
[5;1H[?12l[?25h[1;9H[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset listchars-=trail:<
[?25l[2;9H[34m..[3;9H.[4;13H..
.[20;9H..[23;4H....>..[1;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(1))
[1;9H[?12l[?25h[2;9H[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(2))
[2;9H[?12l[?25h[3;9H[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(3))
[3;9H[?12l[?25h[4;9H[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(4))
[4;9H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(5))
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hput =g:lines
[?25l10 more [6;23r[6;1H[10L[1;24r[6;1H>-------aa>-----$[1m[34m$[m
..bb>---<<$[1m[34m$[m
...cccc><$[1m[34m$[m
dd........ee<<>-$[1m[34m$[m
<$[1m[34m$[m
>-------aa>-----$[1m[34m$[m
..bb>---..$[1m[34m$[m
...cccc>.$[1m[34m$[m
dd........ee..>-$[1m[34m$[m
.$[1m[34m$[m[24;1H[K[24;1H10 more lines[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h'[,']w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 10 lines, 124 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[18;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H8 lines, 93 characters written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[19;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H:+1,$list[1m[34m$[m
:redir[34m.[mEND[1m[34m$[m
:q![1m[34m$[m
ENDTEST[1m[34m$[m[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[1m[34m$[?12l[?25h[?25l
[m:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset listchars+=trail:<
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nolist
[?25l[1;18H[K[2;12H[K[3;11H[K[4;18H[K[5;3H[K[6;18H[K[7;12H[K[8;11H[K[9;18H[K[10;3H[K[11;1H[K[12;1H[K[13;10H[K[14;5H [14;24H[K[15;5H [15;12H[K[16;2H[K[17;10H[K[18;8H >> [18;20H[K[19;10H[K[20;7H [20;11H[K[21;4H[K[22;8H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start:/
[?25l[24;9H[K[24;1H[1;23r[23;1H
[1;24r[23;1Hstart:[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hredir! >> test.out
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h+1,$list
[?25l[34m..[mfff[34m>--<<[m[1m[34m$[m
[34m>-------[mgg[34m>-----[m[1m[34m$[m
[34m.....[mh[34m>-[m[1m[34m$[m
iii[34m<<<<><<[m[1m[34m$[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[4L[1;1H>-------aa>-----$
..bb>---..$
...cccc>.$
dd........ee..>-$
.$[5;3H[K[6;1H[K[7;1H[K[8;1HSTARTTEST[8;10H[K[9;1H:set listchars+=trail:<
:set nolist
:
/^start:/
:redir! >> test.out[13;20H[K[14;2H+1,$list[14;10H[K[15;2Hredir END
:q![16;4H[K[17;1HENDTEST[17;9H[K[18;1H[K[19;1Hstart:[19;8H[K[20;1H fff
gg[22;6Hh
iii [24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_listlbr.in" 119 lines, 2868 characters[1;1HTest for linebreak and list option (non-utf8)
STARTTEST
:so small.vim
:if !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! | [6;1Hendif
: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)
:[7Clet c=''
:[7Cfor j in range(1,4)
:[11Cfor i in range(1,a:width)
:[15Clet c.=nr2char(screenchar(j, i))
:[11Cendfor
:[11Clet c.="\n"
:[7Cendfor
:[7Creturn c
:endfu
:fu! DoRecordScreen()
:[7Cwincmd l
:[7C$put =printf(\"\n%s\", g:test)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for linebreak and list option (non-utf8)[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 114 lines, 2792 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Habcd{ef
ghijklm
no}pqrs[34m^[[m2k0f{[34m^V^V[mc%[34m^[[m
:"
:let g:test ="Test 11: using block replace mode after wrapping"
:$put =g:test
:set linebreak wrap
Go[34m^[[m150aa[34m^[[myypk147|[34m^V[mjr0
:"
:let g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$"[11;1H: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[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! |
endif
[?25l[1;1H[L[1;1Habcd{ef[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h10new|:vsp|:vert resize 20
[?25l[1;1H [13C[7m|[2;21H|[3;21H|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [m[2;22H[1m[34m~ [3;22H~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [m[12;2Hlet line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line[13;12H[K[14;3H[K[15;2Hnorm! zt
:redraw![16;9H[K[17;2Hlet line=ScreenChar(winwidth(0))
:call DoRecordScreen()[18;23H[K[19;2H%w! test.out[19;14H[K[20;2Hqa[20;6H[K[21;1HENDTEST
dummy text
[7mtest_listlbr.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"
[?25l[2;1H abcdef hijkl
mn pqrstuvwxyz_1060
ABCDEFGHIJKLMNOP [11;11H[1m[7m[+][m[2;22H abcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP [2;79H[K[11;32H[7m[+][2;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H abcdef hijkl
mn pqrstuvwxyz_1060
ABCDEFGHIJKLMNOP
[1m[34m~
~
~
~
~
~ [m
[1m[34m~ [m[24;1H[K[1;9H[?12l[?25h[?25l[24;1H:[?12l[?25hset ts=4 sw=4 sts=4 linebreak sbr=+ wrap
[?25l[1;5Habcdef
[1m[34m+[mhijklmn
[1m[34m+[mpqrstuvwxyz_1060ABC
[1m[34m+[mDEFGHIJKLMNOP [2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP [2;75H[K[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfu! ScreenChar(width)
[?25l
: [?12l[?25h:[34m^I[mlet c=''
[?25l: [?12l[?25h:[34m^I[mfor j in range(1,4)
[?25l: [?12l[?25h:[34m^I[m for i in range(1,a:width)
[?25l: [?12l[?25h:[34m^I[m [34m^I[mlet c.=nr2char(screenchar(j, i))
[?25l: [?12l[?25h:[34m^I[m endfor
[?25l: [?12l[?25h: let c.="\n"
[?25l: [?12l[?25h:[34m^I[mendfor
[?25l: [?12l[?25h:[34m^I[mreturn c
[?25l: [?12l[?25h:endfu
[1;1H[9L[?25l[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[m[5;1H[1m[34m~
~
~
~
~ [m[2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hfu! DoRecordScreen()
[?25l
: [?12l[?25h:[34m^I[mwincmd l
[?25l: [?12l[?25h:[34m^I[m$put =printf(\"\n%s\", g:test)
[?25l: [?12l[?25h:[34m^I[m$put =g:line
[?25l: [?12l[?25h:[34m^I[mwincmd p
[?25l: [?12l[?25h:endfu
[1;1H[5L[?25l[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[m
[1m[34m~ [m[2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 1: set linebreak"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;5H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[5;1H
Test 1: set
[1m[34m+[mlinebreak
abcdef
+hijklmn
+pqrstuvwxyz_1060ABC[3;22H[K[4;22HTest 1: set linebreak[4;43H[K[5;22H abcdef [5;42H[K[6;22H+hijklmn [6;42H[K[7;22H+pqrstuvwxyz_1060ABC[7;42H[K[8;22H+DEFGHIJKLMNOP [8;42H[K[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 2: set linebreak + set list"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset linebreak list listchars=
[?25l[1;1H[34m^I[mabcdef hijklmn[34m^I [m[2;2Hpqrstuvwxyz_1060ABC[3;2HDEFGHIJKLMNOP
Test 1: set
[1m[34m+[mlinebreak
abcdef
+hijklmn
+pqrstuvwxyz_1060ABC
+DEFGHIJKLMNOP [1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H[34m^I[mabcdef hijklmn[34m^I [m[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[4;21H|[m
Test 1: set[9C[7m|[m
[1m[34m+[mlinebreak[10C[7m|[m
abcdef[10C[7m|[m
+hijklmn[12C[7m|[m
+pqrstuvwxyz_1060ABC[7m|[m
+DEFGHIJKLMNOP [7m|[m
[1m[7m[No Name] [+] [m[2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP[4;22HTest 1: set linebreak[5;26Habcdef[6;22H+hijklmn[7;22H+pqrstuvwxyz_1060ABC[8;22H+DEFGHIJKLMNOP[9;22H[1m[34m~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;3H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[1;22H abcdef [2;22H+hijklmn [3;22H+pqrstuvwxyz_1060ABC [4;22H+DEFGHIJKLMNOP [5;22H[1m[34m~ [6;22H~ [m[7;22H [8;22H [9;22H [10;22H [5;22H[K[6;22HTest 2: set linebreak + set list[6;54H[K[7;22H^Iabcdef hijklmn^I[8;22H+pqrstuvwxyz_1060ABC[9;22H+DEFGHIJKLMNOP[24;1H[K[24;1H4 more lines[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 3: set linebreak nolist"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nolist linebreak
[?25l[1;1H abcdef [2;2Hhijklmn [3;2Hpqrstuvwxyz_1060ABC
[1m[34m+[mDEFGHIJKLMNOP
Test 1: set
[1m[34m+[mlinebreak
abcdef
+hijklmn
+pqrstuvwxyz_1060ABC[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[m
Test 1: set[9C[7m|[m
[1m[34m+[mlinebreak[10C[7m|[m
abcdef[10C[7m|[m
+hijklmn[12C[7m|[m
+pqrstuvwxyz_1060ABC[7m|[m
[1m[7m[No Name] [+] [m[1;26Habcdef[2;22H+hijklmn[3;22H+pqrstuvwxyz_1060ABC[4;22H+DEFGHIJKLMNOP[6;22HTest 2: set linebreak + set list[7;22H^Iabcdef hijklmn^I[8;22H+pqrstuvwxyz_1060ABC[9;22H+DEFGHIJKLMNOP[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;5H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[1;22H^Iabcdef hijklmn^I [2;22H+pqrstuvwxyz_1060ABC [3;22H+DEFGHIJKLMNOP [4;22H [5;22H [6;22H [7;22H [8;22H [9;22H [10;22H [6;22HTest 3: set linebreak nolist[7;26Habcdef[8;22H+hijklmn[9;22H+pqrstuvwxyz_1060ABC[10;22H+DEFGHIJKLMNOP[24;1H[K[24;1H4 more lines[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 4: set linebreak with tab and 1 line as long as screen: shou
[23;80Hl[24;1Hd break!"
[?25l[1;1H[L[1;5Habcdef[10C[7m|[m^Iabcdef hijklmn^I[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hset nolist linebreak ts=8
[?25l[1;5H abcdef[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet line="1\t".repeat('a', winwidth(0)-2)
[?25l[1;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[1;9H
Test 3: set [4;2Hlinebreak nolist
abcdef
+hijklmn
+pqrstuvwxyz_1060ABC
+DEFGHIJKLMNOP
1
[1m[34m+[maaaaaaaaaaaaaaaaaa [9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H1
[1m[34m+[maaaaaaaaaaaaaaaaaa
[3;1H[1m[34m~
~
~
~
~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H1[19C[7m|[m
[1m[34m+[maaaaaaaaaaaaaaaaaa [7m|[3;21H|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[3;1H[1m[34m~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[1;22H^Iabcdef hijklmn^I[2;22H+pqrstuvwxyz_1060ABC[3;22H+DEFGHIJKLMNOP[6;22HTest 3: set linebreak nolist[7;26Habcdef[8;22H+hijklmn[9;22H+pqrstuvwxyz_1060ABC[10;22H+DEFGHIJKLMNOP[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[3;1H
Test 4: set
[1m[34m+[mlinebreak with tab
[1m[34m+[mand 1 line as long
[1m[34m+[mas screen: should
[1m[34m+[mbreak!
1
+aaaaaaaaaaaaaaaaaa [1;22H+pqrstuvwxyz_1060ABC [2;22H+DEFGHIJKLMNOP [3;22H [4;22H [5;22H [6;22H [7;22H [8;22H [9;22H [10;22H [3;22H1[7Caaaaaaaaaaaaaaaaaa[5;22HTest 4: set linebreak with tab and 1 line as long as screen[6;22H[1m[34m+[m: should break![7;22H1[8;22H+aaaaaaaaaaaaaaaaaa[9;22H~[10;22H~[24;1H[K[24;1H4 more lines[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet line="_S_\t bla"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[1;1HTest 4: set
[1m[34m+[mlinebreak with tab
[1m[34m+[mand 1 line as long
[1m[34m+[mas screen: should
[1m[34m+[mbreak!
1
+aaaaaaaaaaaaaaaaaa
[8;1H~
~
_S_ bla[24;1H[K[10;1H[?12l[?25h[?25l[24;1H:[?12l[?25h$
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H_S_ bla
[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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[1;1H[L[1;1H_S_ bla[8C[7m|[m+pqrstuvwxyz_1060ABC[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset cpo&vim list linebreak conceallevel=2 concealcursor=nv listchars=tab:ab
[?25l[1;4H[34mabbbb[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsyn match ConcealVar contained /_/ conceal
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn match All /.*/ contains=ConcealVar
[?25l[1;1HS[34mabb[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l[24;1H4 more lines[24;13H[K[2;1H
Test 5: set
[1m[34m+[mlinebreak with
[1m[34m+[mconceal and set
[1m[34m+[mlist and tab
[1m[34m+[mdisplayed by
[1m[34m+[mdifferent char
[1m[34m+[m(line may not be
[1m[34m+[mtruncated) [1;22H~ [2;22H~ [3;22H [4;22H [5;22H [6;22H [7;22H [8;22H [9;22H [10;22H [3;22H_S_ bla[5;22HTest 5: set linebreak with conceal and set list and tab dis[6;22H[1m[34m+[mplayed by different char (line may not be truncated)[7;22HSabbbbbb bla[8;22H~[9;22H~[10;22H~[24;1H[K[24;1H4 more lines[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&vim linebreak
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 6: set linebreak with visual block mode"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet line="REMOVE: this not"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;2Habbbbbb
~
~
~
Test 6: set [6;4Hnebreak with[7;2Hvisual block mode
[1m[34m~
~
~ [5;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[8;1HREMOVE: this not [8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet line="REMOVE: aaaaaaaaaaaaa"
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[9;1HREMOVE:
[1m[34m+[maaaaaaaaaaaaa [9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1/^REMOVE:
[?25l[8;1H[?12l[?25h[8;1H[?25l[8;1H[?12l[?25h[?25l[7mR[9;1H[?12l[?25h[?25l[8;2HEMOVE:
REMOVE:[9;8H[?12l[?25h[?25l[m[8;1Hthis not
aaaaaaaaaaaaa
[1m[34m~ [8;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put
[?25l[1;1H~
~
~
Test 6: set
[1m[34m+[mlinebreak with
[1m[34m+[mvisual block mode
this not
aaaaaaaaaaaaa
[1m[34m~ [m
[9;1HREMOVE:
REMOVE:[24;1H[K[10;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset cpo&vim linebreak
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 7: set linebreak with visual block mode and v_b_A"
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1Hthis not
aaaaaaaaaaaaa
REMOVE:
REMOVE:
[5;1HTest 7: set
[1m[34m+[mlinebreak with
[1m[34m+[mvisual block mode
[1m[34m+[mand vbA
[1m[34m~
~ [m[24;1H[K[5;1H[?12l[?25h[5;1H[?25l[9;1Hlong line: [9;11H[?12l[?25h[?25l foobar
[1m[34m+[mfoobar foobar [9;1H[1m[34m@
@ [m[1;1H
[1;1H[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar[10;8H[?12l[?25h[1;1H[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar
[?25l[9;9HTARGET at
[1m[34m+[mend[10;4H[?12l[?25h[10;4H[?25l[24;1H:[?12l[?25hexe "norm! $3B\<C-v>eAx\<Esc>"
[?25l[9;15Hx at[9;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&vim linebreak sbr=
[?25l[1;1Hfoobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar TARGETx at
end [6;22Hplayed by different char (line may not be truncated)[6;74H[K[9;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[9;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 8: set linebreak with visual char mode and changing block"
[?25l[9;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1HTest 8: set
linebreak with
visual char mode
and changing block
[1m[34m~
~
~
~
~
~ [1;1H[?12l[?25h[1;1H[?25l[m[5;1H1111-1111-1111-11-
1111-1111-1111 [6;14H[?12l[?25h[5;1H[5;5H[5;6H[?25l[5;6H[?12l[?25h[?25l[7m111[5;9H[?12l[?25h[?25l[m2222[5;9H[?12l[?25h[5;6H[6;6H[?25l2222[6;9H[?12l[?25h[6;9H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[6;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 9: using redo after block visual mode"
[?25l[6;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[7;1HTest 9: using redo
after block visual
mode [7;1H[?12l[?25h[7;1H[?25l[1;1H1111-2222-1111-11-
1111-2222-1111
Test 9: using redo
after block visual
mode
[1m[34m~ [m
[6;1H
aaa
aaa
a
[1m[34m~ [m[24;1H[K[9;1H[?12l[?25h[7;1H[?25l[7;1H[?12l[?25h[?25l[7ma
a[9;1H[?12l[?25h[?25l[m[24;1H3 lines changed[7;1HA
A
A[7;1H[?12l[?25h[7;3H[?25lA
AaA[7;3H[?12l[?25h[8;3H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[8;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 10: using normal commands after block-visual"
[?25l[8;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1HTest 9: using redo
after block visual
mode
AaA
AaA
A
[1m[34m~ [m
[8;1HTest 10: using
normal commands
after block-visual[24;1H[K[8;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset linebreak
[?25l[8;1H[?12l[?25h[8;1H[?25l[1;1HAaA
AaA
A
Test 10: using
normal commands
after block-visual
[8;1Habcd{ef
ghijklm
no}pqrs[24;1H[K[10;7H[?12l[?25h[8;7H[8;1H[8;5H[?25l[8;5H[?12l[?25h[?25l[8;5H[?12l[?25h[8;5H[?25lpqrs
[1m[34m~
~ [8;4H[?12l[?25h[8;4H[?25l[24;1H[m:[?12l[?25h"
[?25l[8;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 11: using block replace mode after wrapping"
[?25l[8;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1HAaA
A
Test 10: using
normal commands
after block-visual
abcdpqrs
[1m[34m~
~ [m
[8;1HTest 11: using
block replace mode
after wrapping[24;1H[K[8;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset linebreak wrap
[?25l[8;1H[?12l[?25h[8;1H[?25l[1;1HA
Test 10: using
normal commands
after block-visual
abcdpqrs
Test 11: using
block replace mode
after wrapping
[24;1H[K[10;1H[?12l[?25h[?25l[1;1Haaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaa
[1m[34m~
~ [8;10H[?12l[?25h[8;10H[8;10H[?25l[1;1H[?12l[?25h[?25l[m[9;1Haaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa[9;1H[1m[34m@
@ [1;1H[?12l[?25h[8;7H[?25l[8;7H[?12l[?25h[?25l[m[1;1H[1m[34m@
@ [m
[1;1Haaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaa
[1m[34m~
~ [8;7H[?12l[?25h[?25l[m0
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa[9;1H[1m[34m@
@ [8;7H[?12l[?25h[?25l[m[1;1H[1m[34m@
@ [m
[1;1Haaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaa0aaa
[1m[34m~
~ [8;7H[?12l[?25h[?25l[24;1H[m:[?12l[?25h"
[?25l[8;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$
[23;80H"[24;1H[?25l[1;1H[L[1;1Haaaaaaaaaaaaaaaaaaaa[7m|[m~[24;1H[K[8;7H[?12l[?25h[?25l[24;1H:[?12l[?25hset list listchars=space:_,trail:-,tab:>-,eol:$
[?25l[8;11H[1m[34m$[8;7H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1HTest[34m_[m12:[34m_[mset[34m_[m
linebreak[34m_[mlist[34m_[m
listchars=space:,
tab:>-,tail:-,eol:$[1m[34m$
~
~
~
~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[5;1Ha[34m_[m
aaaaaaaaaaaaaaaaaaaa
aa[34m>-----[ma[34m-[m[1m[34m$[m [5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1Ha[34m_[m
aaaaaaaaaaaaaaaaaaaa
aa[34m>-----[ma[34m-[m[1m[34m$[m
[1m[34m~
~
~ [m
[7;1H[1m[34m~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1Ha[34m_[m[18C[7m|[m
aaaaaaaaaaaaaaaaaaaa[7m|[m
aa[34m>-----[ma[34m-[m[1m[34m$[m[9C[7m|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[4;1H[1m[34m~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[1;22H~[2;22H~[3;22H_S_ bla[5;22HTest 5: set linebreak with conceal and set list and tab dis[6;22Hplayed by different char (line may not be truncated)[7;22HSabbbbbb bla[8;22H~[9;22H~[10;22H~[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l[24;1H4 more lines[24;13H[K[4;1H[1m[34m$[m
Test[34m_[m12:[34m_[mset[34m_[m
linebreak[34m_[mlist[34m_[m
listchars=space:,
tab:>-,tail:-,eol:$[1m[34m$[m
a[34m------------------[m
[1m[34m$[m [1;22HTest 12: set linebreak list listchars=space:_,tab:>-,tail:-[2;22H,eol:$[3;22Ha aaaaaaaaaaaaaaaaaaaaaa[8Ca[5;27H12: set linebreak list listchars=space:_,tab:>-,tail:-[6;22H,eol:$[6;29H[K[7;22Ha_ [8;22Haaaaaaaaaaaaaaaaaaaa[9;22Haa>-----a-$[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 62 lines, 2030 characters written[11;1H[1m[7mtest.out] [m[7C[7mtest.out [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_search_mbyte.in" 15 lines, 226 characters[1;1HTest 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
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for search('multi-byte char', 'bce')[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 6 lines, 140 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsource small.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsource mbyte.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1HTest 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
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [11;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h/^Test bce:/+1
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =search('A', 'bce', line('.'))
[?25l[16;1H15[16;3H[K[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/^Results:/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_utf8.in" 46 lines, 1245 characters[1;1HTests for Unicode manipulations[16Cvim: 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()
:[7C$put=strchars(str)
:[7C$put=strchars(str, 0)
:[7C$put=strchars(str, 1)
:endfor
:"
:" Test for customlist completion[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for Unicode manipulations[16Cvim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 40 lines, 1151 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:"
:" 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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1H:" Test for customlist completion
:function! CustomComplete1(lead, line, pos)
:[7Creturn ['あ', 'い']
:endfunction
:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo
:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')
:"
:function! CustomComplete2(lead, line, pos)
:[7Creturn ['あたし', 'あたま', 'あたりめ']
:endfunction
:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo
:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')
:"
:function! CustomComplete3(lead, line, pos)
:[7Creturn ['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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Visual block Insert adjusts for multi-byte char
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;2Hfunction! CustomComplete3(lead, line, pos)
: return ['Nこ', 'Nん', 'Nぶ'][14;37H[K[15;2Hendfunction[15;13H[K[16;2Hcommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo
:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')[17;56H[K[18;2H"[18;3H[K[19;2Hcall garbagecollect(1)
:/^start:/,$wq! test.out
ENDTEST[21;8H[K[22;1H [22;2H[K[23;1H[7mtest_utf8.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall setline(1, ["aaa", "あああ", "bbb"])
[?25l[1;1Haaa
あああ[2;7H[K[3;1Hbbb[3;4H[K[12;11H[1m[7m[+][1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexe ":norm! gg0l\<C-V>jjIx\<Esc>"
[?25l[1;2Hxaa
xあああ
bxbb[1;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet r = getline(1, '$')
[?25l[1;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipeout!
[?25l[1;1H:" Test for customlist completion
:function! CustomComplete1(lead, line, pos)
: return ['あ', 'い']
:endfunction[4;13H[K[5;1H:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo[5;66H[K[6;1H:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')[6;56H[K[7;1H:"[7;3H[K[8;1H:function! CustomComplete2(lead, line, pos)[8;44H[K[9;1H: return ['あたし', 'あたま', 'あたりめ'][9;48H[K[10;1H:endfunction[10;13H[K[11;1H:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo[11;66H[K[12;1H:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')[12;56H[K[13;2H"[13;3H[K[14;2Hfunction! CustomComplete3(lead, line, pos)
: return ['Nこ', 'Nん', 'Nぶ']
:endfunction[16;13H[K[17;3Hommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo
:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')
:"[19;3H[K[20;2Hcall garbagecollect(1)[20;24H[K[21;1H:/^start:/,$wq! test.out
ENDTEST
[23;2H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put=r
[?25l3 more lines[1;23r[1;1H[4M[1;24r[20;1Hstart:
axaa
xあああ
bxbb[24;1H[K[24;1H3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for built-in function strchars()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor str in ["a", "あいa", "A\u20dd", "A\u20dd\u20dd", "\u20dd"]
[?25l
: [?12l[?25h:[34m^I[m$put=strchars(str)
[?25l: [?12l[?25h:[34m^I[m$put=strchars(str, 0)
[?25l: [?12l[?25h:[34m^I[m$put=strchars(str, 1)
[?25l: [?12l[?25h:endfor
[1;1H[4L[?25l[1;1H:call garbagecollect(1)
:/^start:/,$wq! test.out
ENDTEST
start:[5;9H[K[6;1Haxaa[6;5H[K[7;1Hxあああ[7;8H[K[8;1Hbxbb[8;5H[K[9;1H1[9;2H[K[10;1H1[10;2H[K[11;1H1[11;9H[K[12;1H3[12;2H[K[13;1H3[13;2H[K[14;1H3[14;2H[K[15;1H2[15;2H[K[16;1H2[16;2H[K[17;1H1[17;2H[K[18;1H3[18;2H[K[19;1H3
1[20;2H[K[21;1H1[21;2H[K[22;1H1[22;2H[K[23;1H1[23;2H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for customlist completion
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! CustomComplete1(lead, line, pos)
[?25l
: [?12l[?25h:[34m^I[mreturn ['あ', 'い']
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1H:call garbagecollect(1)
:/^start:/,$wq! test.out[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete1 Test1 echo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:Test1 ...[24;8H[K[24;8H'
:$Test1 '
:$pTest1 '
:$puTest1 '
:$putTest1 '
:$put=Test1 '[24;7H'Test1 '[24;8H
[1;23r[23;1H
[1;24r[23;1HTest1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! CustomComplete2(lead, line, pos)
[?25l
: [?12l[?25h:[34m^I[mreturn ['あたし', 'あたま', 'あたりめ']
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1H:/^start:/,$wq! test.out
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete2 Test2 echo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:Test2 ...あた'
:$Test2 あた'
:$pTest2 あた'
:$puTest2 あた'
:$putTest2 あた'
:$put=Test2 あた'[24;7H'Test2 あた'[24;8H
[1;23r[23;1H
[1;24r[23;1HTest2 あた[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! CustomComplete3(lead, line, pos)
[?25l
: [?12l[?25h:[34m^I[mreturn ['Nこ', 'Nん', 'Nぶ']
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1HENDTEST[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:Test3 ...N[24;9H[K[24;9H'
:$Test3 N'
:$pTest3 N'
:$puTest3 N'
:$putTest3 N'
:$put=Test3 N'[24;7H'Test3 N'[24;8H
[1;23r[23;1H
[1;24r[23;1HTest3 N[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_wordcount.in" 126 lines, 2815 characters[1;1HTest for wordcount() function
STARTTEST
:so small.vim
:so mbyte.vim
:set enc=utf8
:set selection=inclusive fileformat=unix fileformats=unix
:new
:fu DoRecordWin(...)
:[7Cwincmd k
:[7Cif exists("a:1")
:[11Ccall cursor(a:1)
:[7Cendif
:[7Clet result=[]
:[7Ccall add(result, g:test)
:[7Ccall add(result, getline(1, '$'))
:[7Ccall add(result, wordcount())
:[7Cwincmd j
:[7Creturn result
:endfu
:fu PutInWindow(args)
:[7Cwincmd k
:[7C%d _[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for wordcount() function[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 121 lines, 2753 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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:[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=utf8
[?25l[27m[23m[m[H[2J[1;1H: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¤[9;27Hne Mü[9;32Hh', 'und raus bist dü[9;53H!'])
: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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1H0v$y
:set stl= ls=1
:let log=DoRecordWin([3,99,0])[16;9H[2]=g:visual_stat[16;26H[K[17;2Hcall Log()[17;12H[K[18;2H"[18;3H[K[19;2H/^RESULT test/,$w! test.out
:qa![20;5H[K[21;1HENDTEST
RESULT test:
[7mtest_wordcount.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hfu DoRecordWin(...)
[?25l
: [?12l[?25h:[34m^I[mwincmd 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:[34m^I[mwincmd j
[?25l: [?12l[?25h: return result
[?25l: [?12l[?25h:endfu
[1;1H[11L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfu PutInWindow(args)
[?25l
: [?12l[?25h: wincmd k
[?25l: [?12l[?25h: %d _
[?25l: [?12l[?25h: call append(1, a:args)
[?25l: [?12l[?25h:[34m^I[mwincmd j
[?25l: [?12l[?25h:endfu
[1;1H[5L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[4L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[5L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet g:test="Test 1: empty window"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin()
[?25l[12;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 1: empty window
[[''], {'chars': 0, 'cursor_chars': 0, 'words': 0, 'cursor_words': 0, 'bytes': 00[22;1H, 'cursor_bytes': 0}][23;19H[1m[7m[+][m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 2: some words, cursor at start"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow('one two three')
[?25l[2;1Hone two three[2;14H[K[12;11H[7m[+][21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([1,1,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 2: some words, cursor at start
[['', 'one two three'], {'chars': 15, 'cursor_chars': 1, 'words': 3, 'cursor_worr[22;1Hds': 0, 'bytes': 15, 'cursor_bytes': 1}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 3: some words, cursor at end"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow('one two three')
[?25l--No lines in buffer--[24;24H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 3: some words, cursor at end
[['', 'one two three'], {'chars': 15, 'cursor_chars': 14, 'words': 3, 'cursor_woo[22;1Hrds': 3, 'bytes': 15, 'cursor_bytes': 14}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 4: some words, cursor at end, ve=all"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=all
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow('one two three')
[?25l--No lines in buffer--[24;24H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 4: some words, cursor at end, ve=all
[['', 'one two three'], {'chars': 15, 'cursor_chars': 15, 'words': 3, 'cursor_woo[22;1Hrds': 3, 'bytes': 15, 'cursor_bytes': 15}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hset ve=
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 5: several lines with words"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['one two three', 'one two three', 'one two three'])
[?25l[3;1Hone two three[3;14H[K[4;1Hone two three[4;14H[K[24;1H--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([4,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 5: several lines with words
[['', 'one two three', 'one two three', 'one two three'], {'chars': 43, 'cursor__[22;1Hchars': 42, 'words': 9, 'cursor_words': 9, 'bytes': 43, 'cursor_bytes': 42}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 6: one line with BOM set"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow('one two three')
[?25l[3;1H[1m[34m~ [4;1H~ [m[24;1H--No lines in buffer--[24;24H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd k
[?25l[12;1H[1m[7m[No Name] [+] [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset bomb
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest
[?25l"Xtest" [24;9H[K[24;9H[New File] 2 lines, 18 characters written[12;1H[1m[7mXtesta [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd j
[?25l[12;1H[7mXtest[m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 6: one line with BOM set
[['', 'one two three'], {'chars': 15, 'cursor_chars': 14, 'words': 3, 'cursor_woo[22;1Hrds': 3, 'bytes': 18, 'cursor_bytes': 14}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hwincmd k
[?25l[12;1H[1m[7mXtest [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [2;13H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset nobomb
[?25l[12;7H[1m[7m[+][2;13H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw!
[?25l"Xtest" 2 lines, 15 characters written[12;7H[1m[7m [2;13H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd j
[?25l[12;1H[7mXtest[m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 7: one line with multibyte words"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh'])
[?25l[2;1HÄne M¤[2;7Hne Mü[2;12Hh[2;13H[K[12;7H[7m[+][m[24;1H--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 7: one line with multibyte words
[['', 'Äne M¤[21;14Hne Mü[21;19Hh'], {'chars': 14, 'cursor_chars': 13, 'words': 3, 'cursor_worr[22;1Hds': 3, 'bytes': 17, 'cursor_bytes': 16}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 8: several lines with multibyte words"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh', 'und raus bist dü[24;53H!'])
[?25l[3;1Hund raus bist dü[3;17H![3;18H[K[24;1H--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 8: several lines with multibyte words
[['', 'Äne M¤[21;14Hne Mü[21;19Hh', 'und raus bist dü[21;40H!'], {'chars': 32, 'cursor_chars': 31, 'ww[22;1Hords': 7, 'cursor_words': 7, 'bytes': 36, 'cursor_bytes': 35}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 9: visual mode, complete buffer"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh', 'und raus bist dü[24;53H!'])
[?25l--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd k
[?25l[12;1H[1m[7mXtest [+] [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ls=2 stl=%{STL()}
[?25l[12;1H[1m[7m<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[m[23;1H[7m<: 3985, 'words': 579, 'cursor_words': 560, 'bytes': 4153, 'cursor_bytes': 4007}[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h0
[?25l[1;1H[?12l[?25h[?25l[12;2H[1m[7mords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 0, 'visual_[1;1H[?12l[?25h[?25l[m[7m
Äne M¤[2;7Hne Mü[2;12Hh
[mu[7mnd raus bist dü[3;17H! [m[12;2H[1m[7mds': 7, 'bytes': 36, 'visual_chars': 32, 'visual_words': 7, 'visual_bytes': 36}[3;1H[?12l[?25h[?25l[m[1;1H[K[2;1HÄne M¤[2;7Hne Mü[2;12Hh[2;13H[K[3;2Hnd raus bist dü[3;17H![3;18H[K[24;1H3 lines yanked[12;2H[1m[7mursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[1;1H[?12l[?25h[12;16H2,[29C1,[30C3}[2;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset stl= ls=1
[?25l[12;1H[1m[7mXtest [+]a [m[23;1H[7mtest_wordcount.in [+] [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[12;1H[7mXtest [+][m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log[2]=g:visual_stat
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 9: visual mode, complete buffer
[['', 'Äne M¤[21;14Hne Mü[21;19Hh', 'und raus bist dü[21;40H!'], {'chars': 32, 'words': 7, 'bytes': 33[22;1H6, 'visual_chars': 32, 'visual_words': 7, 'visual_bytes': 36}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 10: visual mode (empty)"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh', 'und raus bist dü[24;53H!'])
[?25l--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd k
[?25l[12;1H[1m[7mXtest [+] [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ls=2 stl=%{STL()}
[?25l[12;1H[1m[7m<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[m[23;1H[7m<: 4170, 'words': 606, 'cursor_words': 587, 'bytes': 4342, 'cursor_bytes': 4196}[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h0
[?25l[1;1H[?12l[?25h[?25l[12;2H[1m[7mords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 0, 'visual_[1;1H[?12l[?25h[?25l[?12l[?25h[?25l[12;2Hursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_[1;1H[?12l[?25h[12;16H2,[29C1,[30C3}[2;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset stl= ls=1
[?25l[12;1H[1m[7mXtest [+]a [m[23;1H[7mtest_wordcount.in [+] [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[12;1H[7mXtest [+][m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log[2]=g:visual_stat
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 10: visual mode (empty)
[['', 'Äne M¤[21;14Hne Mü[21;19Hh', 'und raus bist dü[21;40H!'], {'chars': 32, 'words': 7, 'bytes': 33[22;1H6, 'visual_chars': 1, 'visual_words': 0, 'visual_bytes': 1}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 11: visual mode, single line"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh', 'und raus bist dü[24;53H!'])
[?25l--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd k
[?25l[12;1H[1m[7mXtest [+] [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ls=2 stl=%{STL()}
[?25l[12;1H[1m[7m<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[m[23;1H[7m<: 4347, 'words': 632, 'cursor_words': 613, 'bytes': 4521, 'cursor_bytes': 4377}[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h2
[?25l[12;16H[1m[7m2,[29C1,[30C3}[2;1H[?12l[?25h[?25l[12;2Hords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 1, 'visual_[8C2}[2;1H[?12l[?25h[?25l[m[7mÄne M¤[2;7Hne Mü[2;12Hh[m[12;2H[1m[7mds': 7, 'bytes': 36, 'visual_chars': 13, 'visual_words': 3, 'visual_bytes': 16}[2;13H[?12l[?25h[?25l[m
Äne M¤[2;7Hne Mü[2;12Hh[12;2H[1m[7mursor_chars': 2, 'words': 7, 'cursor_words': 1, 'bytes': 36, 'cursor_bytes': 3}[2;1H[?12l[?25h[12;2Hsor_chars': 15, 'words': 7, 'cursor_words': 4, 'bytes': 36, 'cursor_bytes': 18}[3;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset stl= ls=1
[?25l[12;1H[1m[7mXtest [+]s [m[23;1H[7mtest_wordcount.in [+] [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[12;1H[7mXtest [+][m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log[2]=g:visual_stat
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 11: visual mode, single line
[['', 'Äne M¤[21;14Hne Mü[21;19Hh', 'und raus bist dü[21;40H!'], {'chars': 32, 'words': 7, 'bytes': 33[22;1H6, 'visual_chars': 13, 'visual_words': 3, 'visual_bytes': 16}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^RESULT test/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 34 lines, 1905 characters written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test11.in" 84 lines, 3366 characters[1;1HTests for autocommands:
- FileWritePre[10Cwriting a compressed file
- FileReadPost[10Creading a compressed file
- BufNewFile[12Creading a file template
- BufReadPre[12Cdecompressing the file to be read
- FilterReadPre[9Csubstituting characters in the temp file
- FilterReadPost[8Csubstituting characters after filtering
- FileReadPre[11Cset options for decompression
- FileReadPost[10Cdecompress 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for autocommands:[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 48 lines, 2298 characters written[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[17;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:au! FileReadPre *.gz exe 'silent !gzip -d ' . shellescape(expand("<afile>""[2;1H))
:au FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
:au! FileReadPost *.gz '[,']s/l/L/
:$r Xtestfile.gz[13C" Read compressed file
:w[27C" write it, after filtering
:au![13C" remove all autocommands
:e[15C" 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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" drop out when there is no gzip program
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !executable("gzip")
[?25l
: [?12l[?25h: e! test.ok
[?25l: [?12l[?25h: w! test.out
[?25l: [?12l[?25h: qa!
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:au! FileReadPre *.gz exe 'silent !gzip -d ' . shellescape(expand("<afile>""[2;1H))
:au FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
:au! FileReadPost *.gz '[,']s/l/L/[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet $GZIP = ""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileChangedShell * echo "caught FileChangedShell"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileWritePre *.gz '[,']!gzip
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileWritePost *.gz undo
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start of testfile/,/^end of testfile/w! Xtestfile.gz
[?25l[?12l[?25h[?25l11 lines filtered[24;18H[K[24;1H
"Xtestfile.gz" [New File][Incomplete last line] 1 line, 111 characters written
10 more lines; before #1 0 seconds ago
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau FileReadPost *.gz '[,']!gzip -d
[?25l[1;1H[3L[1;1H:au FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
:au! FileReadPost *.gz '[,']s/l/L/
:$r Xtestfile.gz[13C" Read compressed file
:w " write it, after filtering
:au! " remove all autocommands[5;43H[K[6;2He[15C" Edit test.out again[6;39H[K[7;2Hset nobin ff& " use the default fileformat for writing
:w[8;18H[K[9;2Hqa![9;6H[K[10;1HENDTEST[11;1H[K[12;1Hstartstart
start of testfile
line 2 Abcdefghijklmnopqrstuvwxyz
line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[16;6H4[17;6H5[18;6H6[19;6H7[20;6H8[21;6H9[22;6H10
end of testfile[23;16H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtestfile.gz " Read and decompress the testfile
[?25l"Xtestfile.gz" [24;16H[K[24;16H[Incomplete last line] 1 line, 111 characters
[?12l[?25h[60C[?25l[1;23r[1;1H[7M[1;24r[18;1Hstart of test.c
/*
* Here is a new .c file
*/
end of test.c
start of testfile[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h?startstart?,$w! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 29 lines, 788 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufNewFile *.c read Xtest.c
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start of test.c/+1,/^end of test.c/-1w! Xtest.c
[?25l[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[24;1H"Xtest.c" [24;11H[K[24;11H[New File] 3 lines, 32 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! foo.c " Will load Xtest.c
[?25l"foo.c" [New File][24;33H[K[24;1H
"Xtest.c" 3 lines, 32 characters
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau FileAppendPre *.out '[,']s/new/NEW/
[?25l[1;1H[2L[2;1H/*
* Here is a new .c file
*/
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hau FileAppendPost *.out !cat Xtest.c >>test.out
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw>>test.out " Append it to the output file
[?25l"test.out" [24;12H[K[24;12H4 lines, 33 characters appended
:!cat Xtest.c >>test.out
[?12l[?25h[m
[32mPress ENTER or type command to continue[?25l[m[24;1H[K[24;1H:[?12l[?25hau! FileAppendPre
[?25l[27m[23m[m[H[2J[2;1H/*
* Here is a NEW .c file
*/
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [3;2H[?12l[?25h[?25l[24;1H[m:[?12l[?25h" setup autocommands to decompress before reading and re-compress afterwards
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPre *.gz exe '!gzip -d ' . shellescape(expand("<afile>"))
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPost *.gz call rename(expand("<afile>"), expand("<afile>:r"))
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPost *.gz exe '!gzip ' . shellescape(expand("<afile>:r"))
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile.gz " Edit compressed file
[?25l:!gzip -d 'Xtestfile.gz'[24;33H[K[24;25H
[?12l[?25h[?25l[m"Xtestfile.gz"[23;1H"Xtestfile.gz" 11 lines, 357 characters[24;1H[K[24;1H:!gzip 'Xtestfile'
[?12l[?25h[?25l[mcaught FileChangedShell
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw>>test.out " Append it to the output file
[?25l"test.out" [24;12H[K[24;12H11 lines, 357 characters appended
:!cat Xtest.c >>test.out
[?12l[?25h[m
[32mPress ENTER or type command to continue[?25l[m[24;1H[K[24;1H:[?12l[?25hset shelltemp " need temp files here
[?25l[27m[23m[m[H[2J[1;1Hstart 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
[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hau FilterReadPre *.out call rename(expand("<afile>"), expand("<afile>") . "
[23;80H.[24;1Ht")
[?25l[1;1H[L[1;1Hstart of testfile[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hau FilterReadPre *.out exe 'silent !sed s/e/E/ ' . shellescape(expand("<afi
[23;80Hl[24;1He>")) . ".t >" . shellescape(expand("<afile>"))
[?25l[1;1H[L[1;1Hstart of testfile[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hau FilterReadPre *.out exe 'silent !rm ' . shellescape(expand("<afile>")) .
'.t'
[?25l[1;1H[L[1;1Hstart of testfile[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hau FilterReadPost *.out '[,']s/x/X/g
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out " Edit the output file
[?25l"test.out" [24;12H[K[24;12H50 lines, 1242 characters[1;6Hstar[1;11H[K[2;1Hstart of testfile[2;18H[K[3;6H2 Abcdefghijklmnopqrstuvwxyz[3;35H[K[4;6H3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[5;6H4 Abcdefghijklmnopqrstuvwxyz[5;35H[K[6;6H5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[7;6H6 Abcdefghijklmnopqrstuvwxyz[7;35H[K[8;6H7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[9;6H8 Abcdefghijklmnopqrstuvwxyz[9;35H[K[10;6H9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 10 Abcdefghijklmnopqrstuvwxyz
end of testfile[12;16H[K[13;1H[K[14;1Hstart of test.c[14;16H[K[15;1H/*[15;3H[K[16;1H * Here is a new .c file[16;25H[K[17;1H */[17;4H[K[18;1Hend of test.c[18;14H[K[19;1Hstart of testfile[19;18H[K[20;1Hline 2 Abcdefghijklmnopqrstuvwxyz[20;35H[K[21;1Hline 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[21;39H[K[22;1Hline 4 Abcdefghijklmnopqrstuvwxyz[22;35H[K[23;1Hline 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[23;39H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h23,$!cat
[?25l[?12l[?25h[?25l218 substitutions on 15 lines
28 lines filtered
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h23,$s/\r$// " remove CR for when sed adds them
[?25l[1m[37m[41mE486: Pattern not found: \r$[m[24;30H[K[24;1H
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau! FileReadPre *.gz exe 'silent !gzip -d ' . shellescape(expand("<afile>
[23;80H"[24;1H))
[?25l[1;1H[4L[1;1Hstartstart
start of testfile
line 2 Abcdefghijklmnopqrstuvwxyz
line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[23;4HE 5 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hau FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau! FileReadPost *.gz '[,']s/l/L/
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r Xtestfile.gz " Read compressed file
[?25l[?12l[?25h[?25l"Xtestfile.gz" [24;16H[K[24;16H11 lines, 357 characters
11 substitutions on 11 lines
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw " write it, after filtering
[?25l"test.out"[24;30H[K[24;12H61 lines, 1599 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau! " remove all autocommands
[?25l[1m[37m[41mE216: No such group or event: " remove all autocommands[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he " Edit test.out again
[?25l"test.out"[24;18H[K[24;12H61 lines, 1599 characters[1;1H[4L[1;1Hstartstart
start of testfile
line 2 Abcdefghijklmnopqrstuvwxyz
line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[24;1H[K[24;1H"test.out" 61 lines, 1599 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nobin ff& " use the default fileformat for writing
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" 61 lines, 1599 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test52.in" 65 lines, 1645 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for reading and writing files with conversion for Win32.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 57 lines, 1333 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[24;1H:so! Xdotest
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make this a dummy test for non-Win32 systems
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has("win32") | e! test.ok | wq! test.out | endif
[?25l"test.ok" [24;11H[K[24;11H18 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test85.in" 85 lines, 1868 characters[1;1HTest 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)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for Lua interface and luaeval() function[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 77 lines, 1775 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[19;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso lua.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l = vim.list():add"item0":add"dictionary with list OK":add"item2"
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua h = vim.dict(); h.list = l
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect()
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^1
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" change buffer contents
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua curbuf = vim.buffer()
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua curline = vim.eval"line('.')"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua curbuf[curline] = "1 changed line 1"
[?25l[21;3Hchanged line 1
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" scalar test
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tmp_string = luaeval('"string"')
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tmp_1000 = luaeval('1000')
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1H:lua d = vim.eval("d")
:lua d[0] = 123
:lua d[1] = "abc"
:lua d[2] = vim.eval("[1, 2, 3]")[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hcall append(search("^1"), "scalar test " . scalar_res)
[?25l[22;1Hscalar test OK
2 line 2[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" dictionary containing a list
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tmp = luaeval("h").list[1]
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^2/put =tmp
[?25l[1;23r[23;1H
[1;24r[23;1Hdictionary with list OK[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" circular list (at the same time test lists containing lists)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[2] = l
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet l2 = luaeval("h").list
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1H: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}")[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcall setline(search("^3"), "circular test " . res)
[?25l[1;23r[23;1H
[1;24r[23;1Hcircular test OK[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet l = []
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l = vim.eval("l")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:add(123)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:add("abc")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:add(vim.eval("[1, 2, 3]"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:add(vim.eval("{'a':1, 'b':2, 'c':3}"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:insert(123)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:insert("abc")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:insert(vim.eval("[1, 2, 3]"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:insert(vim.eval("{'a':1, 'b':2, 'c':3}"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[0] = l[0]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[1] = l[1]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[2] = l[2]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[3] = l[3]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[0] = 123
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[1] = "abc"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[2] = vim.eval("[1, 2, 3]")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[3] = vim.eval("{'a':1, 'b':2, 'c':3}")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[3] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[2] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[1] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[0] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(l)
[?25l[1;23r[23;1H
[1;24r[23;1H[123.0, 'abc', [1, 2, 3], {'a': 1, 'b': 2, 'c': 3}][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet d = {}
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d = vim.eval("d")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[0] = 123
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[1] = "abc"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[2] = vim.eval("[1, 2, 3]")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[3] = vim.eval("{'a':1, 'b':2, 'c':3}")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[4] = d[0]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[5] = d[1]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[6] = d[2]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[7] = d[3]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[3] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[2] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[1] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[0] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(d)
[?25l[1;23r[23;1H
[1;24r[23;1H{'4': 123.0, '5': 'abc', '6': [1, 2, 3], '7': {'a': 1, 'b': 2, 'c': 3}}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h?^1?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 7L, 206C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test86.in" 1711 lines, 48481 characters[1;1HTests 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])[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for various python features. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1700 lines, 48188 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[9;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: endif
: call Test()
: if i == 0
:[7Clet 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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=latin1
[?25l[27m[23m[m[H[2J[1;1H: endif
: call Test()
: if i == 0
:[7Clet 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:[22;1H[?12l[?25h[?25l
:[?12l[?25hset noswapfile
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has('python') | e! test.ok | wq! test.out | endif
[?25l"test.ok" [24;11H[K[24;11H1445 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test87.in" 1707 lines, 49069 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for various python features. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1701 lines, 48985 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: call Test()
: if i == 0
:[7Clet 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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noswapfile
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has('python3') | e! test.ok | wq! test.out | endif
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang C
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[23;80Hr[24;1H 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
[23;80Ht[24;1Hr(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(
[23;80He[24;1H).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
[23;80Ht[24;1H ({1} given)'.format(m.group(1), m.group(2))
[?25l: [?12l[?25h cb.append(expr + ':' + repr((e.__class__, TypeError(ms
[23;80Hg[24;1H))))
[?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
[23;80Ha[24;1Hnd str(e) == 'embedded null byte':
[?25l: [?12l[?25h cb.append(expr + ':' + repr((TypeError, TypeError('expecte
[23;80Hd[24;1H 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:[8C[?12l[?25h: return ['DictNewStart']+a:000+['DictNewEnd', self]
[?25l:[8C[?12l[?25h:endfun
[?25l:[8C[?12l[?25h:let l=[function('New'), function('DictNew')]
[?25l:[8C[?12l[?25h:py3 l=vim.bindeval('l')
[?25l:[8C[?12l[?25h:py3 l.extend(list(l[0](1, 2, 3)))
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:py3 l.extend(list(l[1](1, 2, 3, self={'a': 'b'})))
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:py3 l+=[l[0].name]
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:py3 ee('l[1](1, 2, 3)')
[?25l:[8C[?12l[?25h:py3 f=l[0]
[?25l:[8C[?12l[?25h:delfunction New
[?25l:[8C[?12l[?25h:py3 ee('f(1, 2, 3)')
[?25l:[8C[?12l[?25h:if has('float')
[?25l:[10C[?12l[?25h: let l=[0.0]
[?25l:[10C[?12l[?25h: py3 l=vim.bindeval('l')
[?25l:[10C[?12l[?25h: py3 l.extend([0.0])
[?25l:[10C[?12l[?25h: $put =string(l)
[?25l:[10C[?12l[?25h:else
[?25l:[10C[?12l[?25h: $put ='[0.0, 0.0]'
[?25l:[10C[?12l[?25h:endif
[?25l:[8C[?12l[?25h:let messages=[]
[?25l:[8C[?12l[?25h:delfunction DictNew
[?25l:[8C[?12l[?25hpy3 <<EOF
[?25l:[8C[?12l[?25himport sys
[?25l:[8C[?12l[?25hd=vim.bindeval('{}')
[?25l:[8C[?12l[?25hm=vim.bindeval('messages')
[?25l:[8C[?12l[?25hdef em(expr, g=globals(), l=locals()):
[?25l:[8C[?12l[?25h try:
[?25l:[8C[?12l[?25h exec(expr, g, l)
[?25l:[8C[?12l[?25h except Exception as e:
[?25l:[8C[?12l[?25h if sys.version_info >= (3, 5) and e.__class__ is ValueError an
[23;80Hd[24;1H str(e) == 'embedded null byte':
[?25l:[8C[?12l[?25h m.extend([TypeError.__name__])
[?25l:[8C[?12l[?25h else:
[?25l:[8C[?12l[?25h m.extend([e.__class__.__name__])
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25hem('d["abc1"]')
[?25l:[8C[?12l[?25hem('d["abc1"]="\\0"')
[?25l:[8C[?12l[?25hem('d["abc1"]=vim')
[?25l:[8C[?12l[?25hem('d[""]=1')
[?25l:[8C[?12l[?25hem('d["a\\0b"]=1')
[?25l:[8C[?12l[?25hem('d[b"a\\0b"]=1')
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25hem('d.pop("abc1")')
[?25l:[8C[?12l[?25hem('d.popitem()')
[?25l:[8C[?12l[?25hdel em
[?25l:[8C[?12l[?25hdel m
[?25l:[8C[?12l[?25hEOF
[?25l:[8C[?12l[?25h:$put =messages
[?25l:[8C[?12l[?25h:unlet messages
[?25l:[8C[?12l[?25h:" locked and scope attributes
[?25l:[8C[?12l[?25h:let d={} | let dl={} | lockvar dl
[?25l:[8C[?12l[?25h:for s in split("d dl v: g:")
[?25l:[10C[?12l[?25h: let name=tr(s, ':', 's')
[?25l:[10C[?12l[?25h: execute 'py3 '.name.'=vim.bindeval("'.s.'")'
[?25l:[10C[?12l[?25h: let toput=s.' : '.join(map(['locked', 'scope'], 'v:val.":".py3e
[23;80Hv[24;1Hal(name.".".v:val)'), ';')
[?25l:[10C[?12l[?25h: $put =toput
[?25l:[10C[?12l[?25h:endfor
[?25l:[8C[?12l[?25h:silent! let d.abc2=1
[?25l:[8C[?12l[?25h:silent! let dl.abc3=1
[?25l:[8C[?12l[?25h:py3 d.locked=True
[?25l:[8C[?12l[?25h:py3 dl.locked=False
[?25l:[8C[?12l[?25h:silent! let d.def=1
[?25l:[8C[?12l[?25h:silent! let dl.def=1
[?25l:[8C[?12l[?25h:put ='d:'.string(d)
[?25l:[8C[?12l[?25h:put ='dl:'.string(dl)
[?25l:[8C[?12l[?25h:unlet d dl
[?25l:[8C[?12l[?25h:
[?25l:[8C[?12l[?25h:let l=[] | let ll=[] | lockvar ll
[?25l:[8C[?12l[?25h:for s in split("l ll")
[?25l:[10C[?12l[?25h: let name=tr(s, ':', 's')
[?25l:[10C[?12l[?25h: execute 'py3 '.name.'=vim.bindeval("'.s.'")'
[?25l:[10C[?12l[?25h: let toput=s.' : locked:'.py3eval(name.'.locked')
[?25l:[10C[?12l[?25h: $put =toput
[?25l:[10C[?12l[?25h:endfor
[?25l:[8C[?12l[?25h:silent! call extend(l, [0])
[?25l:[8C[?12l[?25h:silent! call extend(ll, [0])
[?25l:[8C[?12l[?25h:py3 l.locked=True
[?25l:[8C[?12l[?25h:py3 ll.locked=False
[?25l:[8C[?12l[?25h:silent! call extend(l, [1])
[?25l:[8C[?12l[?25h:silent! call extend(ll, [1])
[?25l:[8C[?12l[?25h:put ='l:'.string(l)
[?25l:[8C[?12l[?25h:put ='ll:'.string(ll)
[?25l:[8C[?12l[?25h:unlet l ll
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" py3eval()
[?25l:[8C[?12l[?25h:let l=py3eval('[0, 1, 2]')
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:let d=py3eval('{"a": "b", "c": 1, "d": ["e"]}')
[?25l:[8C[?12l[?25h:$put =sort(items(d))
[?25l:[8C[?12l[?25h:let v:errmsg = ''
[?25l:[8C[?12l[?25h:$put ='py3eval(\"None\") = ' . py3eval('None') . v:errmsg
[?25l:[8C[?12l[?25h:if has('float')
[?25l:[10C[?12l[?25h: let f=py3eval('0.0')
[?25l:[10C[?12l[?25h: $put =string(f)
[?25l:[10C[?12l[?25h:else
[?25l:[10C[?12l[?25h: $put ='0.0'
[?25l:[10C[?12l[?25h:endif
[?25l:[8C[?12l[?25h:" Invalid values:
[?25l:[8C[?12l[?25h:for e in ['"\0"', '{"\0": 1}', 'undefined_name', 'vim']
[?25l:[10C[?12l[?25h: try
[?25l:[12C[?12l[?25h: let v=py3eval(e)
[?25l:[12C[?12l[?25h: catch
[?25l:[12C[?12l[?25h: let toput=e.":\t".v:exception[:13]
[?25l:[12C[?12l[?25h: $put =toput
[?25l:[12C[?12l[?25h: endtry
[?25l:[10C[?12l[?25h:endfor
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" threading
[?25l:[8C[?12l[?25h:let l = [0]
[?25l:[8C[?12l[?25h:py3 l=vim.bindeval('l')
[?25l:[8C[?12l[?25hpy3 <<EOF
[?25l:[8C[?12l[?25himport threading
[?25l:[8C[?12l[?25himport time
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25hclass T(threading.Thread):
[?25l:[8C[?12l[?25h def __init__(self):
[?25l:[8C[?12l[?25h threading.Thread.__init__(self)
[?25l:[8C[?12l[?25h self.t = 0
[?25l:[8C[?12l[?25h self.running = True
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25h def run(self):
[?25l:[8C[?12l[?25h while self.running:
[?25l:[8C[?12l[?25h self.t += 1
[?25l:[8C[?12l[?25h time.sleep(0.1)
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25ht = T()
[?25l:[8C[?12l[?25hdel T
[?25l:[8C[?12l[?25ht.start()
[?25l:[8C[?12l[?25hEOF
[?25l:[8C[?12l[?25h:sleep 1
[?25l:[8C[?12l[?25h:py3 t.running = False
[?25l:[8C[?12l[?25h:py3 t.join()
[?25l:[8C[?12l[?25h:" Check if the background thread is working. Count should be 10, but
on a
[?25l:[8C[?12l[?25h:" busy system (AppVeyor) it can be much lower.
[?25l:[8C[?12l[?25h:py3 l[0] = t.t > 4
[?25l:[8C[?12l[?25h:py3 del time
[?25l:[8C[?12l[?25h:py3 del threading
[?25l:[8C[?12l[?25h:py3 del t
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" settrace
[?25l:[8C[?12l[?25h:let l = []
[?25l:[8C[?12l[?25h:py3 l=vim.bindeval('l')
[?25l:[8C[?12l[?25hpy3 <<EOF
[?25l:[8C[?12l[?25himport sys
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25hdef traceit(frame, event, arg):
[?25l:[8C[?12l[?25h global l
[?25l:[8C[?12l[?25h if event == "line":
[?25l:[8C[?12l[?25h l += [frame.f_lineno]
[?25l:[8C[?12l[?25h return traceit
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25hdef trace_main():
[?25l:[8C[?12l[?25h for i in range(5):
[?25l:[8C[?12l[?25h pass
[?25l:[8C[?12l[?25hEOF
[?25l:[8C[?12l[?25h:py3 sys.settrace(traceit)
[?25l:[8C[?12l[?25h:py3 trace_main()
[?25l:[8C[?12l[?25h:py3 sys.settrace(None)
[?25l:[8C[?12l[?25h:py3 del traceit
[?25l:[8C[?12l[?25h:py3 del trace_main
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Slice
[?25l:[8C[?12l[?25h:py3 ll = vim.bindeval('[0, 1, 2, 3, 4, 5]')
[?25l:[8C[?12l[?25h:py3 l = ll[:4]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[2:]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[:-4]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[-2:]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[2:4]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[4:2]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[-4:-2]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[-2:-4]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[:]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[0:6]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[-10:10]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[4:2:-1]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[::2]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[4:2:1]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 del l
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Vars
[?25l:[8C[?12l[?25h:let g:foo = 'bac'
[?25l:[8C[?12l[?25h:let w:abc3 = 'def'
[?25l:[8C[?12l[?25h:let b:baz = 'bar'
[?25l:[8C[?12l[?25h:let t:bar = 'jkl'
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: throw "Abc"
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: put =py3eval('vim.vvars[''exception'']')
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:put =py3eval('vim.vars[''foo'']')
[?25l:[8C[?12l[?25h:put =py3eval('vim.current.window.vars[''abc3'']')
[?25l:[8C[?12l[?25h:put =py3eval('vim.current.buffer.vars[''baz'']')
[?25l:[8C[?12l[?25h:put =py3eval('vim.current.tabpage.vars[''bar'']')
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Options
[?25l:[8C[?12l[?25h:" paste: boolean, global
[?25l:[8C[?12l[?25h:" previewheight number, global
[?25l:[8C[?12l[?25h:" operatorfunc: string, global
[?25l:[8C[?12l[?25h:" number: boolean, window-local
[?25l:[8C[?12l[?25h:" numberwidth: number, window-local
[?25l:[8C[?12l[?25h:" colorcolumn: string, window-local
[?25l:[8C[?12l[?25h:" statusline: string, window-local/global
[?25l:[8C[?12l[?25h:" autoindent: boolean, buffer-local
[?25l:[8C[?12l[?25h:" shiftwidth: number, buffer-local
[?25l:[8C[?12l[?25h:" omnifunc: string, buffer-local
[?25l:[8C[?12l[?25h:" preserveindent: boolean, buffer-local/global
[?25l:[8C[?12l[?25h:" path: string, buffer-local/global
[?25l:[8C[?12l[?25h:let g:bufs=[bufnr('%')]
[?25l:[8C[?12l[?25h:new
[?25l:[8C[?12l[?25h:let g:bufs+=[bufnr('%')]
[?25l:[8C[?12l[?25h:vnew
[?25l:[8C[?12l[?25h:let g:bufs+=[bufnr('%')]
[?25l:[8C[?12l[?25h:wincmd j
[?25l:[8C[?12l[?25h:vnew
[?25l:[8C[?12l[?25h:let g:bufs+=[bufnr('%')]
[?25l:[8C[?12l[?25h:wincmd l
[?25l:[8C[?12l[?25h:fun RecVars(opt)
[?25l:[10C[?12l[?25h: let gval =string(eval('&g:'.a:opt))
[?25l:[10C[?12l[?25h: let wvals=join(map(range(1, 4), 'v:val.":".string(getwinvar(v:va
[23;80Hl[24;1H, "&".a:opt))'))
[?25l:[10C[?12l[?25h: let bvals=join(map(copy(g:bufs), 'v:val.":".string(getbufvar(v:va
[23;80Hl[24;1H, "&".a:opt))'))
[?25l:[10C[?12l[?25h: put =' G: '.gval
[?25l:[10C[?12l[?25h: put =' W: '.wvals
[?25l:[10C[?12l[?25h: put =' B: '.wvals
[?25l:[10C[?12l[?25h:endfun
[?25l:[10C[?12l[?25hpy3 << EOF
[?25l:[10C[?12l[?25hdef e(s, g=globals(), l=locals()):
[?25l:[10C[?12l[?25h try:
[?25l:[10C[?12l[?25h exec(s, g, l)
[?25l:[10C[?12l[?25h except Exception as e:
[?25l:[10C[?12l[?25h vim.command('return ' + repr(e.__class__.__name__))
[?25l:[10C[?12l[?25h
[?25l:[10C[?12l[?25hdef ev(s, g=globals(), l=locals()):
[?25l:[10C[?12l[?25h try:
[?25l:[10C[?12l[?25h return eval(s, g, l)
[?25l:[10C[?12l[?25h except Exception as e:
[?25l:[10C[?12l[?25h vim.command('let exc=' + repr(e.__class__.__name__))
[?25l:[10C[?12l[?25h return 0
[?25l:[10C[?12l[?25hEOF
[?25l:[10C[?12l[?25h:fun E(s)
[?25l:[12C[?12l[?25h: python3 e(vim.eval('a:s'))
[?25l:[12C[?12l[?25h:endfun
[?25l:[12C[?12l[?25h:fun Ev(s)
[?25l:[14C[?12l[?25h: let r=py3eval('ev(vim.eval("a:s"))')
[?25l:[14C[?12l[?25h: if exists('exc')
[?25l:[16C[?12l[?25h: throw exc
[?25l:[16C[?12l[?25h: endif
[?25l:[14C[?12l[?25h: return r
[?25l:[14C[?12l[?25h:endfun
[?25l:[14C[?12l[?25h:py3 gopts1=vim.options
[?25l:[14C[?12l[?25h:py3 wopts1=vim.windows[2].options
[?25l:[14C[?12l[?25h:py3 wopts2=vim.windows[0].options
[?25l:[14C[?12l[?25h:py3 wopts3=vim.windows[1].options
[?25l:[14C[?12l[?25h:py3 bopts1=vim.buffers[vim.bindeval("g:bufs")[2]].options
[?25l:[14C[?12l[?25h:py3 bopts2=vim.buffers[vim.bindeval("g:bufs")[1]].options
[?25l:[14C[?12l[?25h:py3 bopts3=vim.buffers[vim.bindeval("g:bufs")[0]].options
[?25l:[14C[?12l[?25h:$put ='wopts iters equal: '.py3eval('list(wopts1) == list(wopts
[23;80H2[24;1H)')
[?25l:[14C[?12l[?25h:$put ='bopts iters equal: '.py3eval('list(bopts1) == list(bopts
[23;80H2[24;1H)')
[?25l:[14C[?12l[?25h:py3 gset=set(iter(gopts1))
[?25l:[14C[?12l[?25h:py3 wset=set(iter(wopts1))
[?25l:[14C[?12l[?25h:py3 bset=set(iter(bopts1))
[?25l:[14C[?12l[?25h:set path=.,..,,
[?25l:[14C[?12l[?25h:let lst=[]
[?25l:[14C[?12l[?25h:let lst+=[['paste', 1, 0, 1, 2, 1,
1, 0 ]]
[?25l:[14C[?12l[?25h:let lst+=[['previewheight', 5, 1, 6, 'a', 0,
1, 0 ]]
[?25l:[14C[?12l[?25h:let lst+=[['operatorfunc', 'A', 'B', 'C', 2, 0,
1, 0 ]]
[?25l:[14C[?12l[?25h:let lst+=[['number', 0, 1, 1, 0, 1,
0, 1 ]]
[?25l:[14C[?12l[?25h:let lst+=[['numberwidth', 2, 3, 5, -100, 0,
0, 1 ]]
[?25l:[14C[?12l[?25h:let lst+=[['colorcolumn', '+1', '+2', '+3', 'abc4', 0,
0, 1 ]]
[?25l:[14C[?12l[?25h:let lst+=[['statusline', '1', '2', '4', 0, 0,
1, 1 ]]
[?25l:[14C[?12l[?25h:let lst+=[['autoindent', 0, 1, 1, 2, 1,
0, 2 ]]
[?25l:[14C[?12l[?25h:let lst+=[['shiftwidth', 0, 2, 1, 3, 0,
0, 2 ]]
[?25l:[14C[?12l[?25h:let lst+=[['omnifunc', 'A', 'B', 'C', 1, 0,
0, 2 ]]
[?25l:[14C[?12l[?25h:let lst+=[['preserveindent', 0, 1, 1, 2, 1,
1, 2 ]]
[?25l:[14C[?12l[?25h:let lst+=[['path', '.,,', ',,', '.', 0, 0,
1, 2 ]]
[?25l:[14C[?12l[?25h:for [oname, oval1, oval2, oval3, invval, bool,
global, local] in lst
[?25l:[16C[?12l[?25h: py3 oname=vim.eval('oname')
[?25l:[16C[?12l[?25h: py3 oval1=vim.bindeval('oval1')
[?25l:[16C[?12l[?25h: py3 oval2=vim.bindeval('oval2')
[?25l:[16C[?12l[?25h: py3 oval3=vim.bindeval('oval3')
[?25l:[16C[?12l[?25h: if invval is 0 || invval is 1
[?25l:[18C[?12l[?25h: py3 invval=bool(vim.bindeval('invval'))
[?25l:[18C[?12l[?25h: else
[?25l:[18C[?12l[?25h: py3 invval=vim.bindeval('invval')
[?25l:[18C[?12l[?25h: endif
[?25l:[16C[?12l[?25h: if bool
[?25l:[18C[?12l[?25h: py3 oval1=bool(oval1)
[?25l:[18C[?12l[?25h: py3 oval2=bool(oval2)
[?25l:[18C[?12l[?25h: py3 oval3=bool(oval3)
[?25l:[18C[?12l[?25h: endif
[?25l:[16C[?12l[?25h: put ='>>> '.oname
[?25l:[16C[?12l[?25h: $put =' g/w/b:'.py3eval('oname in gset').'/'.py3eval('ona
[23;80Hm[24;1He in wset').'/'.py3eval('oname in bset')
[?25l:[16C[?12l[?25h: $put =' g/w/b (in):'.py3eval('oname in gopts1').'/'.py3ev
[23;80Ha[24;1Hl('oname in wopts1').'/'.py3eval('oname in bopts1')
[?25l:[16C[?12l[?25h: for v in ['gopts1', 'wopts1', 'bopts1']
[?25l:[18C[?12l[?25h: try
[?25l:[20C[?12l[?25h: put =' p/'.v.': '.Ev('repr('.v.'['''.oname.''
[23;80H'[24;1H])')
[?25l:[20C[?12l[?25h: catch
[?25l:[20C[?12l[?25h: put =' p/'.v.'! '.v:exception
[?25l:[20C[?12l[?25h: endtry
[?25l:[18C[?12l[?25h: let r=E(v.'['''.oname.''']=invval')
[?25l:[18C[?12l[?25h: if r isnot 0
[?25l:[20C[?12l[?25h: put =' inv: '.string(invval).'! '.r
[?25l:[20C[?12l[?25h: endif
[?25l:[18C[?12l[?25h: for vv in (v is# 'gopts1' ? [v] : [v, v[:-2].'2', v[
[23;80H:[24;1H-2].'3'])
[?25l:[20C[?12l[?25h: let val=substitute(vv, '^.opts', 'oval', '')
[?25l:[20C[?12l[?25h: let r=E(vv.'['''.oname.''']='.val)
[?25l:[20C[?12l[?25h: if r isnot 0
[?25l:[22C[?12l[?25h: put =' '.vv.'! '.r
[?25l:[22C[?12l[?25h: endif
[?25l:[20C[?12l[?25h: endfor
[?25l:[18C[?12l[?25h: endfor
[?25l:[16C[?12l[?25h: call RecVars(oname)
[?25l:[16C[?12l[?25h: for v in ['wopts3', 'bopts3']
[?25l:[18C[?12l[?25h: let r=E('del '.v.'["'.oname.'"]')
[?25l:[18C[?12l[?25h: if r isnot 0
[?25l:[20C[?12l[?25h: put =' del '.v.'! '.r
[?25l:[20C[?12l[?25h: endif
[?25l:[18C[?12l[?25h: endfor
[?25l:[16C[?12l[?25h: call RecVars(oname)
[?25l:[16C[?12l[?25h:endfor
[?25l:[14C[?12l[?25h:delfunction RecVars
[?25l:[14C[?12l[?25h:delfunction E
[?25l:[14C[?12l[?25h:delfunction Ev
[?25l:[14C[?12l[?25h:py3 del ev
[?25l:[14C[?12l[?25h:py3 del e
[?25l:[14C[?12l[?25h:only
[?25l:[14C[?12l[?25h:for buf in g:bufs[1:]
[?25l:[16C[?12l[?25h: execute 'bwipeout!' buf
[?25l:[16C[?12l[?25h:endfor
[?25l:[14C[?12l[?25h:py3 del gopts1
[?25l:[14C[?12l[?25h:py3 del wopts1
[?25l:[14C[?12l[?25h:py3 del wopts2
[?25l:[14C[?12l[?25h:py3 del wopts3
[?25l:[14C[?12l[?25h:py3 del bopts1
[?25l:[14C[?12l[?25h:py3 del bopts2
[?25l:[14C[?12l[?25h:py3 del bopts3
[?25l:[14C[?12l[?25h:py3 del oval1
[?25l:[14C[?12l[?25h:py3 del oval2
[?25l:[14C[?12l[?25h:py3 del oval3
[?25l:[14C[?12l[?25h:py3 del oname
[?25l:[14C[?12l[?25h:py3 del invval
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test buffer object
[?25l:[14C[?12l[?25h:vnew
[?25l:[14C[?12l[?25h:put ='First line'
[?25l:[14C[?12l[?25h:put ='Second line'
[?25l:[14C[?12l[?25h:put ='Third line'
[?25l:[14C[?12l[?25h:1 delete _
[?25l:[14C[?12l[?25h:py3 b=vim.current.buffer
[?25l:[14C[?12l[?25h:wincmd w
[?25l:[14C[?12l[?25h:mark a
[?25l:[14C[?12l[?25h:augroup BUFS
[?25l:[14C[?12l[?25h: autocmd BufFilePost * python3 cb.append(vim.eval('expand("<a
[23;80Hb[24;1Huf>")') + ':BufFilePost:' + vim.eval('bufnr("%")'))
[?25l:[14C[?12l[?25h: autocmd BufFilePre * python3 cb.append(vim.eval('expand("<ab
[23;80Hu[24;1Hf>")') + ':BufFilePre:' + vim.eval('bufnr("%")'))
[?25l:[14C[?12l[?25h:augroup END
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25h# Tests BufferAppend and BufferItem
[?25l:[14C[?12l[?25hcb.append(b[0])
[?25l:[14C[?12l[?25h# Tests BufferSlice and BufferAssSlice
[?25l:[14C[?12l[?25hcb.append('abc5') # Will be overwritten
[?25l:[14C[?12l[?25hcb[-1:] = b[:-2]
[?25l:[14C[?12l[?25h# Test BufferLength and BufferAssSlice
[?25l:[14C[?12l[?25hcb.append('def') # Will not be overwritten
[?25l:[14C[?12l[?25hcb[len(cb):] = b[:]
[?25l:[14C[?12l[?25h# Test BufferAssItem and BufferMark
[?25l:[14C[?12l[?25hcb.append('ghi') # Will be overwritten
[?25l:[14C[?12l[?25hcb[-1] = repr((len(cb) - cb.mark('a')[0], cb.mark('a')[1]))
[?25l:[14C[?12l[?25h# Test BufferRepr
[?25l:[14C[?12l[?25hcb.append(repr(cb) + repr(b))
[?25l:[14C[?12l[?25h# Modify foreign buffer
[?25l:[14C[?12l[?25hb.append('foo')
[?25l:[14C[?12l[?25hb[0]='bar'
[?25l:[14C[?12l[?25hb[0:0]=['baz']
[?25l:[14C[?12l[?25hvim.command('call append("$", getbufline(%i, 1, "$"))' % b.numbe
[23;80Hr[24;1H)
[?25l:[14C[?12l[?25h# Test assigning to name property
[?25l:[14C[?12l[?25himport os
[?25l:[14C[?12l[?25hold_name = cb.name
[?25l:[14C[?12l[?25hcb.name = 'foo'
[?25l:[14C[?12l[?25hcb.append(cb.name[-11:].replace(os.path.sep, '/'))
[?25l:[14C[?12l[?25hb.name = 'bar'
[?25l:[14C[?12l[?25hcb.append(b.name[-11:].replace(os.path.sep, '/'))
[?25l:[14C[?12l[?25hcb.name = old_name
[?25l:[14C[?12l[?25hcb.append(cb.name[-17:].replace(os.path.sep, '/'))
[?25l:[14C[?12l[?25hdel old_name
[?25l:[14C[?12l[?25h# Test CheckBuffer
[?25l:[14C[?12l[?25hfor _b in vim.buffers:
[?25l:[14C[?12l[?25h if _b is not cb:
[?25l:[14C[?12l[?25h vim.command('bwipeout! ' + str(_b.number))
[?25l:[14C[?12l[?25hdel _b
[?25l:[14C[?12l[?25hcb.append('valid: b:%s, cb:%s' % (repr(b.valid), repr(cb.valid))
[23;80H)[24;1H
[?25l:[14C[?12l[?25hfor expr in ('b[1]','b[:] = ["A", "B"]','b[:]','b.append("abc6")
[23;80H'[24;1H):
[?25l:[14C[?12l[?25h try:
[?25l:[14C[?12l[?25h exec(expr)
[?25l:[14C[?12l[?25h except vim.error:
[?25l:[14C[?12l[?25h pass
[?25l:[14C[?12l[?25h else:
[?25l:[14C[?12l[?25h # Usually a SEGV here
[?25l:[14C[?12l[?25h # Should not happen in any case
[?25l:[14C[?12l[?25h cb.append('No exception for ' + expr)
[?25l:[14C[?12l[?25hvim.command('cd .')
[?25l:[14C[?12l[?25hdel b
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test vim.buffers object
[?25l:[14C[?12l[?25h:set hidden
[?25l:[14C[?12l[?25h:edit a
[?25l:[14C[?12l[?25h:buffer #
[?25l:[14C[?12l[?25h:edit b
[?25l:[14C[?12l[?25h:buffer #
[?25l:[14C[?12l[?25h:edit c
[?25l:[14C[?12l[?25h:buffer #
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25h# Check GCing iterator that was not fully exhausted
[?25l:[14C[?12l[?25hi = iter(vim.buffers)
[?25l:[14C[?12l[?25hcb.append('i:' + str(next(i)))
[?25l:[14C[?12l[?25h# and also check creating more than one iterator at a time
[?25l:[14C[?12l[?25hi2 = iter(vim.buffers)
[?25l:[14C[?12l[?25hcb.append('i2:' + str(next(i2)))
[?25l:[14C[?12l[?25hcb.append('i:' + str(next(i)))
[?25l:[14C[?12l[?25h# The following should trigger GC and not cause any problems
[?25l:[14C[?12l[?25hdel i
[?25l:[14C[?12l[?25hdel i2
[?25l:[14C[?12l[?25hi3 = iter(vim.buffers)
[?25l:[14C[?12l[?25hcb.append('i3:' + str(next(i3)))
[?25l:[14C[?12l[?25hdel i3
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hprevnum = 0
[?25l:[14C[?12l[?25hfor b in vim.buffers:
[?25l:[14C[?12l[?25h # Check buffer order
[?25l:[14C[?12l[?25h if prevnum >= b.number:
[?25l:[14C[?12l[?25h cb.append('!!! Buffer numbers not in strictly ascending
[23;80Ho[24;1Hrder')
[?25l:[14C[?12l[?25h # Check indexing: vim.buffers[number].number == number
[?25l:[14C[?12l[?25h cb.append(str(b.number) + ':' + repr(vim.buffers[b.number])
[23;80H+[24;1H '=' + repr(b))
[?25l:[14C[?12l[?25h prevnum = b.number
[?25l:[14C[?12l[?25hdel prevnum
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hcb.append(str(len(vim.buffers)))
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hbnums = list(map(lambda b: b.number, vim.buffers))[1:]
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25h# Test wiping out buffer with existing iterator
[?25l:[14C[?12l[?25hi4 = iter(vim.buffers)
[?25l:[14C[?12l[?25hcb.append('i4:' + str(next(i4)))
[?25l:[14C[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(0)))
[?25l:[14C[?12l[?25htry:
[?25l:[14C[?12l[?25h next(i4)
[?25l:[14C[?12l[?25hexcept vim.error:
[?25l:[14C[?12l[?25h pass
[?25l:[14C[?12l[?25helse:
[?25l:[14C[?12l[?25h cb.append('!!!! No vim.error')
[?25l:[14C[?12l[?25hi4 = iter(vim.buffers)
[?25l:[14C[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(-1)))
[?25l:[14C[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(-1)))
[?25l:[14C[?12l[?25hcb.append('i4:' + str(next(i4)))
[?25l:[14C[?12l[?25htry:
[?25l:[14C[?12l[?25h next(i4)
[?25l:[14C[?12l[?25hexcept StopIteration:
[?25l:[14C[?12l[?25h cb.append('StopIteration')
[?25l:[14C[?12l[?25hdel i4
[?25l:[14C[?12l[?25hdel bnums
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test vim.{tabpage,window}list and vim.{tabpage,window} object
[23;80Hs[24;1H
[?25l:[14C[?12l[?25h:tabnew 0
[?25l:[14C[?12l[?25h:tabnew 1
[?25l:[14C[?12l[?25h:vnew a.1
[?25l:[14C[?12l[?25h:tabnew 2
[?25l:[14C[?12l[?25h:vnew a.2
[?25l:[14C[?12l[?25h:vnew b.2
[?25l:[14C[?12l[?25h:vnew c.2
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25hcb.append('Number of tabs: ' + str(len(vim.tabpages)))
[?25l:[14C[?12l[?25hcb.append('Current tab pages:')
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hdef W(w):
[?25l:[14C[?12l[?25h if '(unknown)' in repr(w):
[?25l:[14C[?12l[?25h return '<window object (unknown)>'
[?25l:[14C[?12l[?25h else:
[?25l:[14C[?12l[?25h return repr(w)
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hdef Cursor(w, start=len(cb)):
[?25l:[14C[?12l[?25h if w.buffer is cb:
[?25l:[14C[?12l[?25h return repr((start - w.cursor[0], w.cursor[1]))
[?25l:[14C[?12l[?25h else:
[?25l:[14C[?12l[?25h return repr(w.cursor)
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hfor t in vim.tabpages:
[?25l:[14C[?12l[?25h cb.append(' ' + repr(t) + '(' + str(t.number) + ')' + ': '
[23;80H+[24;1H str(len(t.windows)) + ' windows, current is ' + W(t.window))
[?25l:[14C[?12l[?25h cb.append(' Windows:')
[?25l:[14C[?12l[?25h for w in t.windows:
[?25l:[14C[?12l[?25h cb.append(' ' + W(w) + '(' + str(w.number) + ')' + ':
displays buffer ' + repr(w.buffer) + '; cursor is at ' + Cursor(w))
[?25l:[14C[?12l[?25h # Other values depend on the size of the terminal, so th
[23;80He[24;1Hy are checked partly:
[?25l:[14C[?12l[?25h for attr in ('height', 'row', 'width', 'col'):
[?25l:[14C[?12l[?25h try:
[?25l:[14C[?12l[?25h aval = getattr(w, attr)
[?25l:[14C[?12l[?25h if type(aval) is not int:
[?25l:[14C[?12l[?25h raise TypeError
[?25l:[14C[?12l[?25h if aval < 0:
[?25l:[14C[?12l[?25h raise ValueError
[?25l:[14C[?12l[?25h except Exception as e:
[?25l:[14C[?12l[?25h cb.append('!!!!!! Error while getting attribute
[23;80H'[24;1H + attr + ': ' + e.__class__.__name__)
[?25l:[14C[?12l[?25h del aval
[?25l:[14C[?12l[?25h del attr
[?25l:[14C[?12l[?25h w.cursor = (len(w.buffer), 0)
[?25l:[14C[?12l[?25hdel W
[?25l:[14C[?12l[?25hdel Cursor
[?25l:[14C[?12l[?25hcb.append('Number of windows in current tab page: ' + str(len(vi
[23;80Hm[24;1H.windows)))
[?25l:[14C[?12l[?25hif list(vim.windows) != list(vim.current.tabpage.windows):
[?25l:[14C[?12l[?25h cb.append('!!!!!! Windows differ')
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test vim.current
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25hdef H(o):
[?25l:[14C[?12l[?25h return repr(o)
[?25l:[14C[?12l[?25hcb.append('Current tab page: ' + repr(vim.current.tabpage))
[?25l:[14C[?12l[?25hcb.append('Current window: ' + repr(vim.current.window) + ': ' +
H(vim.current.window) + ' is ' + H(vim.current.tabpage.window))
[?25l:[14C[?12l[?25hcb.append('Current buffer: ' + repr(vim.current.buffer) + ': ' +
H(vim.current.buffer) + ' is ' + H(vim.current.window.buffer)+ ' is ' + H(vim.c
[23;80Hu[24;1Hrrent.tabpage.window.buffer))
[?25l:[14C[?12l[?25hdel H
[?25l:[14C[?12l[?25h# Assigning: fails
[?25l:[14C[?12l[?25htry:
[?25l:[14C[?12l[?25h vim.current.window = vim.tabpages[0].window
[?25l:[14C[?12l[?25hexcept ValueError:
[?25l:[14C[?12l[?25h cb.append('ValueError at assigning foreign tab window')
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hfor attr in ('window', 'tabpage', 'buffer'):
[?25l:[14C[?12l[?25h try:
[?25l:[14C[?12l[?25h setattr(vim.current, attr, None)
[?25l:[14C[?12l[?25h except TypeError:
[?25l:[14C[?12l[?25h cb.append('Type error at assigning None to vim.current.'
+ attr)
[?25l:[14C[?12l[?25hdel attr
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25h# Assigning: success
[?25l:[14C[?12l[?25hvim.current.tabpage = vim.tabpages[-2]
[?25l:[14C[?12l[?25hvim.current.buffer = cb
[?25l:[14C[?12l[?25hvim.current.window = vim.windows[0]
[?25l:[14C[?12l[?25hvim.current.window.cursor = (len(vim.current.buffer), 0)
[?25l:[14C[?12l[?25hcb.append('Current tab page: ' + repr(vim.current.tabpage))
[?25l:[14C[?12l[?25hcb.append('Current window: ' + repr(vim.current.window))
[?25l:[14C[?12l[?25hcb.append('Current buffer: ' + repr(vim.current.buffer))
[?25l:[14C[?12l[?25hcb.append('Current line: ' + repr(vim.current.line))
[?25l:[14C[?12l[?25hws = list(vim.windows)
[?25l:[14C[?12l[?25hts = list(vim.tabpages)
[?25l:[14C[?12l[?25hfor b in vim.buffers:
[?25l:[14C[?12l[?25h if b is not cb:
[?25l:[14C[?12l[?25h vim.command('bwipeout! ' + str(b.number))
[?25l:[14C[?12l[?25hdel b
[?25l:[14C[?12l[?25hcb.append('w.valid: ' + repr([w.valid for w in ws]))
[?25l:[14C[?12l[?25hcb.append('t.valid: ' + repr([t.valid for t in ts]))
[?25l:[14C[?12l[?25hdel w
[?25l:[14C[?12l[?25hdel t
[?25l:[14C[?12l[?25hdel ts
[?25l:[14C[?12l[?25hdel ws
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:tabonly!
[?25l:[14C[?12l[?25h:only!
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test types
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25hfor expr, attr in (
[?25l:[14C[?12l[?25h ('vim.vars', 'Dictionary'),
[?25l:[14C[?12l[?25h ('vim.options', 'Options'),
[?25l:[14C[?12l[?25h ('vim.bindeval("{}")', 'Dictionary'),
[?25l:[14C[?12l[?25h ('vim.bindeval("[]")', 'List'),
[?25l:[14C[?12l[?25h ('vim.bindeval("function(\'tr\')")', 'Function'),
[?25l:[14C[?12l[?25h ('vim.current.buffer', 'Buffer'),
[?25l:[14C[?12l[?25h ('vim.current.range', 'Range'),
[?25l:[14C[?12l[?25h ('vim.current.window', 'Window'),
[?25l:[14C[?12l[?25h ('vim.current.tabpage', 'TabPage'),
[?25l:[14C[?12l[?25h):
[?25l:[14C[?12l[?25h cb.append(expr + ':' + attr + ':' + repr(type(eval(expr)) is
getattr(vim, attr)))
[?25l:[14C[?12l[?25hdel expr
[?25l:[14C[?12l[?25hdel attr
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test __dir__() method
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25hfor name, o in (
[?25l:[14C[?12l[?25h ('current', vim.current),
[?25l:[14C[?12l[?25h ('buffer', vim.current.buffer),
[?25l:[14C[?12l[?25h ('window', vim.current.window),
[?25l:[14C[?12l[?25h ('tabpage', vim.current.tabpage),
[?25l:[14C[?12l[?25h ('range', vim.current.range),
[?25l:[14C[?12l[?25h ('dictionary', vim.bindeval('{}')),
[?25l:[14C[?12l[?25h ('list', vim.bindeval('[]')),
[?25l:[14C[?12l[?25h ('function', vim.bindeval('function("tr")')),
[?25l:[14C[?12l[?25h ('output', sys.stdout),
[?25l:[14C[?12l[?25h ):
[?25l:[14C[?12l[?25h cb.append(name + ':' + ','.join(dir(o)))
[?25l:[14C[?12l[?25hdel name
[?25l:[14C[?12l[?25hdel o
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test vim.*.__new__
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Dictionary({})'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Dictionary(a=1)'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Dictionary(((''a'', 1),))'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.List()'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.List(iter(''abc7''))'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'')'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4])'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[])'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', self={})'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], se
[23;80Hl[24;1Hf={})'))
[?25l:[14C[?12l[?25h:$put ='auto_rebind'
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', auto_rebind=False)')
[23;80H)[24;1H
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], au
[23;80Ht[24;1Ho_rebind=False)'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[], auto_rebind
[23;80H=[24;1HFalse)'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', self={}, auto_rebind
[23;80H=[24;1HFalse)'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], se
[23;80Hl[24;1Hf={}, auto_rebind=False)'))
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test vim.Function
[?25l:[14C[?12l[?25h:function Args(...)
[?25l:[16C[?12l[?25h: return a:000
[?25l:[16C[?12l[?25h:endfunction
[?25l:[16C[?12l[?25h:function SelfArgs(...) dict
[?25l:[18C[?12l[?25h: return [a:000, self]
[?25l:[18C[?12l[?25h:endfunction
[?25l:[18C[?12l[?25h:" The following four lines should not crash
[?25l:[18C[?12l[?25h:let Pt = function('tr', [[]], {'l': []})
[?25l:[18C[?12l[?25h:py3 Pt = vim.bindeval('Pt')
[?25l:[18C[?12l[?25h:unlet Pt
[?25l:[18C[?12l[?25h:py3 del Pt
[?25l:[18C[?12l[?25hpy3 << EOF
[?25l:[18C[?12l[?25hdef ecall(out_prefix, func, *args, **kwargs):
[?25l:[18C[?12l[?25h line = out_prefix + ': '
[?25l:[18C[?12l[?25h try:
[?25l:[18C[?12l[?25h ret = func(*args, **kwargs)
[?25l:[18C[?12l[?25h except Exception:
[?25l:[18C[?12l[?25h line += '!exception: ' + emsg(sys.exc_info())
[?25l:[18C[?12l[?25h else:
[?25l:[18C[?12l[?25h line += '!result: ' + str(vim.Function('string')(ret
[23;80H)[24;1H, 'utf-8')
[?25l:[18C[?12l[?25h cb.append(line)
[?25l:[18C[?12l[?25ha = vim.Function('Args')
[?25l:[18C[?12l[?25hpa1 = vim.Function('Args', args=['abcArgsPA1'])
[?25l:[18C[?12l[?25hpa2 = vim.Function('Args', args=[])
[?25l:[18C[?12l[?25hpa3 = vim.Function('Args', args=['abcArgsPA3'], self={'abcSe
[23;80Hl[24;1HfPA3': 'abcSelfPA3Val'})
[?25l:[18C[?12l[?25hpa4 = vim.Function('Args', self={'abcSelfPA4': 'abcSelfPA4Va
[23;80Hl[24;1H'})
[?25l:[18C[?12l[?25hcb.append('a: ' + repr(a))
[?25l:[18C[?12l[?25hcb.append('pa1: ' + repr(pa1))
[?25l:[18C[?12l[?25hcb.append('pa2: ' + repr(pa2))
[?25l:[18C[?12l[?25hcb.append('pa3: ' + repr(pa3))
[?25l:[18C[?12l[?25hcb.append('pa4: ' + repr(pa4))
[?25l:[18C[?12l[?25hsa = vim.Function('SelfArgs')
[?25l:[18C[?12l[?25hpsa1 = vim.Function('SelfArgs', args=['abcArgsPSA1'])
[?25l:[18C[?12l[?25hpsa2 = vim.Function('SelfArgs', args=[])
[?25l:[18C[?12l[?25hpsa3 = vim.Function('SelfArgs', args=['abcArgsPSA3'], self={
[23;80H'[24;1HabcSelfPSA3': 'abcSelfPSA3Val'})
[?25l:[18C[?12l[?25hpsa4 = vim.Function('SelfArgs', self={'abcSelfPSA4': 'abcSel
[23;80Hf[24;1HPSA4Val'})
[?25l:[18C[?12l[?25hpsa5 = vim.Function('SelfArgs', self={'abcSelfPSA5': 'abcSel
[23;80Hf[24;1HPSA5Val'}, auto_rebind=0)
[?25l:[18C[?12l[?25hpsa6 = vim.Function('SelfArgs', args=['abcArgsPSA6'], self={
[23;80H'[24;1HabcSelfPSA6': 'abcSelfPSA6Val'}, auto_rebind=())
[?25l:[18C[?12l[?25hpsa7 = vim.Function('SelfArgs', args=['abcArgsPSA7'], auto_r
[23;80He[24;1Hbind=[])
[?25l:[18C[?12l[?25hpsa8 = vim.Function('SelfArgs', auto_rebind=False)
[?25l:[18C[?12l[?25hpsa9 = vim.Function('SelfArgs', self={'abcSelfPSA9': 'abcSel
[23;80Hf[24;1HPSA9Val'}, auto_rebind=True)
[?25l:[18C[?12l[?25hpsaA = vim.Function('SelfArgs', args=['abcArgsPSAA'], self={
[23;80H'[24;1HabcSelfPSAA': 'abcSelfPSAAVal'}, auto_rebind=1)
[?25l:[18C[?12l[?25hpsaB = vim.Function('SelfArgs', args=['abcArgsPSAB'], auto_r
[23;80He[24;1Hbind={'abcARPSAB': 'abcARPSABVal'})
[?25l:[18C[?12l[?25hpsaC = vim.Function('SelfArgs', auto_rebind=['abcARPSAC'])
[?25l:[18C[?12l[?25hcb.append('sa: ' + repr(sa))
[?25l:[18C[?12l[?25hcb.append('psa1: ' + repr(psa1))
[?25l:[18C[?12l[?25hcb.append('psa2: ' + repr(psa2))
[?25l:[18C[?12l[?25hcb.append('psa3: ' + repr(psa3))
[?25l:[18C[?12l[?25hcb.append('psa4: ' + repr(psa4))
[?25l:[18C[?12l[?25hcb.append('psa5: ' + repr(psa5))
[?25l:[18C[?12l[?25hcb.append('psa6: ' + repr(psa6))
[?25l:[18C[?12l[?25hcb.append('psa7: ' + repr(psa7))
[?25l:[18C[?12l[?25hcb.append('psa8: ' + repr(psa8))
[?25l:[18C[?12l[?25hcb.append('psa9: ' + repr(psa9))
[?25l:[18C[?12l[?25hcb.append('psaA: ' + repr(psaA))
[?25l:[18C[?12l[?25hcb.append('psaB: ' + repr(psaB))
[?25l:[18C[?12l[?25hcb.append('psaC: ' + repr(psaC))
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hpsar = vim.Function('SelfArgs', args=[{'abcArgsPSAr': 'abcAr
[23;80Hg[24;1HsPSArVal'}], self={'abcSelfPSAr': 'abcSelfPSArVal'})
[?25l:[18C[?12l[?25hpsar.args[0]['abcArgsPSAr2'] = [psar.self, psar.args[0]]
[?25l:[18C[?12l[?25hpsar.self['rec'] = psar
[?25l:[18C[?12l[?25hpsar.self['self'] = psar.self
[?25l:[18C[?12l[?25hpsar.self['args'] = psar.args
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25htry:
[?25l:[18C[?12l[?25h cb.append('psar: ' + repr(psar))
[?25l:[18C[?12l[?25hexcept Exception:
[?25l:[18C[?12l[?25h cb.append('!!!!!!!! Caught exception: ' + emsg(sys.exc_i
[23;80Hn[24;1Hfo()))
[?25l:[18C[?12l[?25hEOF
[?25l:[18C[?12l[?25h:$put ='s(a): '.string(py3eval('a'))
[?25l:[18C[?12l[?25h:$put ='s(pa1): '.string(py3eval('pa1'))
[?25l:[18C[?12l[?25h:$put ='s(pa2): '.string(py3eval('pa2'))
[?25l:[18C[?12l[?25h:$put ='s(pa3): '.string(py3eval('pa3'))
[?25l:[18C[?12l[?25h:$put ='s(pa4): '.string(py3eval('pa4'))
[?25l:[18C[?12l[?25h:$put ='s(sa): '.string(py3eval('sa'))
[?25l:[18C[?12l[?25h:$put ='s(psa1): '.string(py3eval('psa1'))
[?25l:[18C[?12l[?25h:$put ='s(psa2): '.string(py3eval('psa2'))
[?25l:[18C[?12l[?25h:$put ='s(psa3): '.string(py3eval('psa3'))
[?25l:[18C[?12l[?25h:$put ='s(psa4): '.string(py3eval('psa4'))
[?25l:[18C[?12l[?25h:$put ='s(psa5): '.string(py3eval('psa5'))
[?25l:[18C[?12l[?25h:$put ='s(psa6): '.string(py3eval('psa6'))
[?25l:[18C[?12l[?25h:$put ='s(psa7): '.string(py3eval('psa7'))
[?25l:[18C[?12l[?25h:$put ='s(psa8): '.string(py3eval('psa8'))
[?25l:[18C[?12l[?25h:$put ='s(psa9): '.string(py3eval('psa9'))
[?25l:[18C[?12l[?25h:$put ='s(psaA): '.string(py3eval('psaA'))
[?25l:[18C[?12l[?25h:$put ='s(psaB): '.string(py3eval('psaB'))
[?25l:[18C[?12l[?25h:$put ='s(psaC): '.string(py3eval('psaC'))
[?25l:[18C[?12l[?25h:
[?25l:[18C[?12l[?25h:for v in ['sa', 'psa1', 'psa2', 'psa3', 'psa4', 'psa5', 'ps
[23;80Ha[24;1H6', 'psa7', 'psa8', 'psa9', 'psaA', 'psaB', 'psaC']
[?25l:[20C[?12l[?25h: let d = {'f': py3eval(v)}
[?25l:[20C[?12l[?25h: $put ='d.'.v.'(): '.string(d.f())
[?25l:[20C[?12l[?25h:endfor
[?25l:[18C[?12l[?25h:
[?25l:[18C[?12l[?25h:py3 ecall('a()', a, )
[?25l:[18C[?12l[?25h:py3 ecall('pa1()', pa1, )
[?25l:[18C[?12l[?25h:py3 ecall('pa2()', pa2, )
[?25l:[18C[?12l[?25h:py3 ecall('pa3()', pa3, )
[?25l:[18C[?12l[?25h:py3 ecall('pa4()', pa4, )
[?25l:[18C[?12l[?25h:py3 ecall('sa()', sa, )
[?25l:[18C[?12l[?25h:py3 ecall('psa1()', psa1, )
[?25l:[18C[?12l[?25h:py3 ecall('psa2()', psa2, )
[?25l:[18C[?12l[?25h:py3 ecall('psa3()', psa3, )
[?25l:[18C[?12l[?25h:py3 ecall('psa4()', psa4, )
[?25l:[18C[?12l[?25h:
[?25l:[18C[?12l[?25h:py3 ecall('a(42, 43)', a, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('pa1(42, 43)', pa1, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('pa2(42, 43)', pa2, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('pa3(42, 43)', pa3, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('pa4(42, 43)', pa4, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('sa(42, 43)', sa, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('psa1(42, 43)', psa1, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('psa2(42, 43)', psa2, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('psa3(42, 43)', psa3, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('psa4(42, 43)', psa4, 42, 43)
[?25l:[18C[?12l[?25h:
[?25l:[18C[?12l[?25h:py3 ecall('a(42, self={"20": 1})', a, 42, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('pa1(42, self={"20": 1})', pa1, 42, self={'20': 1
[23;80H}[24;1H)
[?25l:[18C[?12l[?25h:py3 ecall('pa2(42, self={"20": 1})', pa2, 42, self={'20': 1
[23;80H}[24;1H)
[?25l:[18C[?12l[?25h:py3 ecall('pa3(42, self={"20": 1})', pa3, 42, self={'20': 1
[23;80H}[24;1H)
[?25l:[18C[?12l[?25h:py3 ecall('pa4(42, self={"20": 1})', pa4, 42, self={'20': 1
[23;80H}[24;1H)
[?25l:[18C[?12l[?25h:py3 ecall('sa(42, self={"20": 1})', sa, 42, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('psa1(42, self={"20": 1})', psa1, 42, self={'20':
1})
[?25l:[18C[?12l[?25h:py3 ecall('psa2(42, self={"20": 1})', psa2, 42, self={'20':
1})
[?25l:[18C[?12l[?25h:py3 ecall('psa3(42, self={"20": 1})', psa3, 42, self={'20':
1})
[?25l:[18C[?12l[?25h:py3 ecall('psa4(42, self={"20": 1})', psa4, 42, self={'20':
1})
[?25l:[18C[?12l[?25h:
[?25l:[18C[?12l[?25h:py3 ecall('a(self={"20": 1})', a, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('pa1(self={"20": 1})', pa1, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('pa2(self={"20": 1})', pa2, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('pa3(self={"20": 1})', pa3, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('pa4(self={"20": 1})', pa4, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('sa(self={"20": 1})', sa, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('psa1(self={"20": 1})', psa1, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('psa2(self={"20": 1})', psa2, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('psa3(self={"20": 1})', psa3, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('psa4(self={"20": 1})', psa4, self={'20': 1})
[?25l:[18C[?12l[?25hpy3 << EOF
[?25l:[18C[?12l[?25hdef s(v):
[?25l:[18C[?12l[?25h if v is None:
[?25l:[18C[?12l[?25h return repr(v)
[?25l:[18C[?12l[?25h else:
[?25l:[18C[?12l[?25h return str(vim.Function('string')(v), 'utf-8')
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hcb.append('a.args: ' + s(a.args))
[?25l:[18C[?12l[?25hcb.append('pa1.args: ' + s(pa1.args))
[?25l:[18C[?12l[?25hcb.append('pa2.args: ' + s(pa2.args))
[?25l:[18C[?12l[?25hcb.append('pa3.args: ' + s(pa3.args))
[?25l:[18C[?12l[?25hcb.append('pa4.args: ' + s(pa4.args))
[?25l:[18C[?12l[?25hcb.append('sa.args: ' + s(sa.args))
[?25l:[18C[?12l[?25hcb.append('psa1.args: ' + s(psa1.args))
[?25l:[18C[?12l[?25hcb.append('psa2.args: ' + s(psa2.args))
[?25l:[18C[?12l[?25hcb.append('psa3.args: ' + s(psa3.args))
[?25l:[18C[?12l[?25hcb.append('psa4.args: ' + s(psa4.args))
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hcb.append('a.self: ' + s(a.self))
[?25l:[18C[?12l[?25hcb.append('pa1.self: ' + s(pa1.self))
[?25l:[18C[?12l[?25hcb.append('pa2.self: ' + s(pa2.self))
[?25l:[18C[?12l[?25hcb.append('pa3.self: ' + s(pa3.self))
[?25l:[18C[?12l[?25hcb.append('pa4.self: ' + s(pa4.self))
[?25l:[18C[?12l[?25hcb.append('sa.self: ' + s(sa.self))
[?25l:[18C[?12l[?25hcb.append('psa1.self: ' + s(psa1.self))
[?25l:[18C[?12l[?25hcb.append('psa2.self: ' + s(psa2.self))
[?25l:[18C[?12l[?25hcb.append('psa3.self: ' + s(psa3.self))
[?25l:[18C[?12l[?25hcb.append('psa4.self: ' + s(psa4.self))
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hcb.append('a.name: ' + s(a.name))
[?25l:[18C[?12l[?25hcb.append('pa1.name: ' + s(pa1.name))
[?25l:[18C[?12l[?25hcb.append('pa2.name: ' + s(pa2.name))
[?25l:[18C[?12l[?25hcb.append('pa3.name: ' + s(pa3.name))
[?25l:[18C[?12l[?25hcb.append('pa4.name: ' + s(pa4.name))
[?25l:[18C[?12l[?25hcb.append('sa.name: ' + s(sa.name))
[?25l:[18C[?12l[?25hcb.append('psa1.name: ' + s(psa1.name))
[?25l:[18C[?12l[?25hcb.append('psa2.name: ' + s(psa2.name))
[?25l:[18C[?12l[?25hcb.append('psa3.name: ' + s(psa3.name))
[?25l:[18C[?12l[?25hcb.append('psa4.name: ' + s(psa4.name))
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hcb.append('a.auto_rebind: ' + s(a.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('pa1.auto_rebind: ' + s(pa1.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('pa2.auto_rebind: ' + s(pa2.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('pa3.auto_rebind: ' + s(pa3.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('pa4.auto_rebind: ' + s(pa4.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('sa.auto_rebind: ' + s(sa.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa1.auto_rebind: ' + s(psa1.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa2.auto_rebind: ' + s(psa2.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa3.auto_rebind: ' + s(psa3.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa4.auto_rebind: ' + s(psa4.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa5.auto_rebind: ' + s(psa5.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa6.auto_rebind: ' + s(psa6.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa7.auto_rebind: ' + s(psa7.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa8.auto_rebind: ' + s(psa8.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa9.auto_rebind: ' + s(psa9.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psaA.auto_rebind: ' + s(psaA.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psaB.auto_rebind: ' + s(psaB.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psaC.auto_rebind: ' + s(psaC.auto_rebind))
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hdel s
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hdel a
[?25l:[18C[?12l[?25hdel pa1
[?25l:[18C[?12l[?25hdel pa2
[?25l:[18C[?12l[?25hdel pa3
[?25l:[18C[?12l[?25hdel pa4
[?25l:[18C[?12l[?25hdel sa
[?25l:[18C[?12l[?25hdel psa1
[?25l:[18C[?12l[?25hdel psa2
[?25l:[18C[?12l[?25hdel psa3
[?25l:[18C[?12l[?25hdel psa4
[?25l:[18C[?12l[?25hdel psa5
[?25l:[18C[?12l[?25hdel psa6
[?25l:[18C[?12l[?25hdel psa7
[?25l:[18C[?12l[?25hdel psa8
[?25l:[18C[?12l[?25hdel psa9
[?25l:[18C[?12l[?25hdel psaA
[?25l:[18C[?12l[?25hdel psaB
[?25l:[18C[?12l[?25hdel psaC
[?25l:[18C[?12l[?25hdel psar
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hdel ecall
[?25l:[18C[?12l[?25hEOF
[?25l:[18C[?12l[?25h:"
[?25l:[18C[?12l[?25h:" Test stdout/stderr
[?25l:[18C[?12l[?25h:redir => messages
[?25l:[18C[?12l[?25h:py3 sys.stdout.write('abc8') ; sys.stdout.write('def')
[?25l:[18C[?12l[?25h:py3 sys.stderr.write('abc9') ; sys.stderr.write('def')
[?25l:[18C[?12l[?25h:py3 sys.stdout.writelines(iter('abcA'))
[?25l:[18C[?12l[?25h:py3 sys.stderr.writelines(iter('abcB'))
[?25l:[18C[?12l[?25h:redir END
[?25l:[18C[?12l[?25h:$put =string(substitute(messages, '\d\+', '', 'g'))
[?25l:[18C[?12l[?25h:" Test subclassing
[?25l:[18C[?12l[?25h:fun Put(...)
[?25l:[20C[?12l[?25h: $put =string(a:000)
[?25l:[20C[?12l[?25h: return a:000
[?25l:[20C[?12l[?25h:endfun
[?25l:[20C[?12l[?25hpy3 << EOF
[?25l:[20C[?12l[?25hclass DupDict(vim.Dictionary):
[?25l:[20C[?12l[?25h def __setitem__(self, key, value):
[?25l:[20C[?12l[?25h super(DupDict, self).__setitem__(key, value)
[?25l:[20C[?12l[?25h super(DupDict, self).__setitem__('dup_' + key, val
[23;80Hu[24;1He)
[?25l:[20C[?12l[?25hdd = DupDict()
[?25l:[20C[?12l[?25hdd['a'] = 'b'
[?25l:[20C[?12l[?25h
[?25l:[20C[?12l[?25hclass DupList(vim.List):
[?25l:[20C[?12l[?25h def __getitem__(self, idx):
[?25l:[20C[?12l[?25h return [super(DupList, self).__getitem__(idx)] * 2
[?25l:[20C[?12l[?25h
[?25l:[20C[?12l[?25hdl = DupList()
[?25l:[20C[?12l[?25hdl2 = DupList(iter('abcC'))
[?25l:[20C[?12l[?25hdl.extend(dl2[0])
[?25l:[20C[?12l[?25h
[?25l:[20C[?12l[?25hclass DupFun(vim.Function):
[?25l:[20C[?12l[?25h def __call__(self, arg):
[?25l:[20C[?12l[?25h return super(DupFun, self).__call__(arg, arg)
[?25l:[20C[?12l[?25h
[?25l:[20C[?12l[?25hdf = DupFun('Put')
[?25l:[20C[?12l[?25hEOF
[?25l:[20C[?12l[?25h:$put =string(sort(keys(py3eval('dd'))))
[?25l:[20C[?12l[?25h:$put =string(py3eval('dl'))
[?25l:[20C[?12l[?25h:$put =string(py3eval('dl2'))
[?25l:[20C[?12l[?25h:$put =string(py3eval('df(2)'))
[?25l:[20C[?12l[?25h:$put =string(py3eval('dl') is# py3eval('dl'))
[?25l:[20C[?12l[?25h:$put =string(py3eval('dd') is# py3eval('dd'))
[?25l:[20C[?12l[?25h:$put =string(py3eval('df'))
[?25l:[20C[?12l[?25h:delfunction Put
[?25l:[20C[?12l[?25hpy3 << EOF
[?25l:[20C[?12l[?25hdel DupDict
[?25l:[20C[?12l[?25hdel DupList
[?25l:[20C[?12l[?25hdel DupFun
[?25l:[20C[?12l[?25hdel dd
[?25l:[20C[?12l[?25hdel dl
[?25l:[20C[?12l[?25hdel dl2
[?25l:[20C[?12l[?25hdel df
[?25l:[20C[?12l[?25hEOF
[?25l:[20C[?12l[?25h:"
[?25l:[20C[?12l[?25h:" Test chdir
[?25l:[20C[?12l[?25hpy3 << EOF
[?25l:[20C[?12l[?25himport os
[?25l:[20C[?12l[?25hfnamemodify = vim.Function('fnamemodify')
[?25l:[20C[?12l[?25hcb.append(str(fnamemodify('.', ':p:h:t')))
[?25l:[20C[?12l[?25hcb.append(vim.eval('@%'))
[?25l:[20C[?12l[?25hos.chdir('..')
[?25l:[20C[?12l[?25hpath = fnamemodify('.', ':p:h:t')
[?25l:[20C[?12l[?25hif path != b'src':
[?25l:[20C[?12l[?25h # Running tests from a shadow directory, so move up anot
[23;80Hh[24;1Her level
[?25l:[20C[?12l[?25h # This will result in @% looking like shadow/testdir/tes
[23;80Ht[24;1H87.in, hence the
[?25l:[20C[?12l[?25h # slicing to remove the leading path and path separator
[?25l:[20C[?12l[?25h os.chdir('..')
[?25l:[20C[?12l[?25h cb.append(str(fnamemodify('.', ':p:h:t')))
[?25l:[20C[?12l[?25h cb.append(vim.eval('@%')[len(path)+1:].replace(os.path.s
[23;80He[24;1Hp, '/'))
[?25l:[20C[?12l[?25h os.chdir(path)
[?25l:[20C[?12l[?25helse:
[?25l:[20C[?12l[?25h cb.append(str(fnamemodify('.', ':p:h:t')))
[?25l:[20C[?12l[?25h cb.append(vim.eval('@%').replace(os.path.sep, '/'))
[?25l:[20C[?12l[?25hdel path
[?25l:[20C[?12l[?25hos.chdir('testdir')
[?25l:[20C[?12l[?25hcb.append(str(fnamemodify('.', ':p:h:t')))
[?25l:[20C[?12l[?25hcb.append(vim.eval('@%'))
[?25l:[20C[?12l[?25hdel fnamemodify
[?25l:[20C[?12l[?25hEOF
[?25l:[20C[?12l[?25h:"
[?25l:[20C[?12l[?25h:" Test errors
[?25l:[20C[?12l[?25h:fun F() dict
[?25l:[22C[?12l[?25h:endfun
[?25l:[22C[?12l[?25h:fun D()
[?25l:[24C[?12l[?25h:endfun
[?25l:[24C[?12l[?25hpy3 << EOF
[?25l:[24C[?12l[?25hd = vim.Dictionary()
[?25l:[24C[?12l[?25hned = vim.Dictionary(foo='bar', baz='abcD')
[?25l:[24C[?12l[?25hdl = vim.Dictionary(a=1)
[?25l:[24C[?12l[?25hdl.locked = True
[?25l:[24C[?12l[?25hl = vim.List()
[?25l:[24C[?12l[?25hll = vim.List('abcE')
[?25l:[24C[?12l[?25hll.locked = True
[?25l:[24C[?12l[?25hnel = vim.List('abcO')
[?25l:[24C[?12l[?25hf = vim.Function('string')
[?25l:[24C[?12l[?25hfd = vim.Function('F')
[?25l:[24C[?12l[?25hfdel = vim.Function('D')
[?25l:[24C[?12l[?25hvim.command('delfunction D')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hdef subexpr_test(expr, name, subexprs):
[?25l:[24C[?12l[?25h cb.append('>>> Testing %s using %s' % (name, expr)
[23;80H)[24;1H
[?25l:[24C[?12l[?25h for subexpr in subexprs:
[?25l:[24C[?12l[?25h ee(expr % subexpr)
[?25l:[24C[?12l[?25h cb.append('<<< Finished')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hdef stringtochars_test(expr):
[?25l:[24C[?12l[?25h return subexpr_test(expr, 'StringToChars', (
[?25l:[24C[?12l[?25h '1', # Fail type checks
[?25l:[24C[?12l[?25h 'b"\\0"', # Fail PyString_AsStringAndSize(obj
[23;80He[24;1Hct, , NULL) check
[?25l:[24C[?12l[?25h '"\\0"', # Fail PyString_AsStringAndSize(byt
[23;80He[24;1Hs, , NULL) check
[?25l:[24C[?12l[?25h ))
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass Mapping(object):
[?25l:[24C[?12l[?25h def __init__(self, d):
[?25l:[24C[?12l[?25h self.d = d
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def __getitem__(self, key):
[?25l:[24C[?12l[?25h return self.d[key]
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def keys(self):
[?25l:[24C[?12l[?25h return self.d.keys()
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def items(self):
[?25l:[24C[?12l[?25h return self.d.items()
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hdef convertfrompyobject_test(expr, recurse=True):
[?25l:[24C[?12l[?25h # pydict_to_tv
[?25l:[24C[?12l[?25h stringtochars_test(expr % '{%s : 1}')
[?25l:[24C[?12l[?25h if recurse:
[?25l:[24C[?12l[?25h convertfrompyobject_test(expr % '{"abcF" : %s}
[23;80H'[24;1H, False)
[?25l:[24C[?12l[?25h # pymap_to_tv
[?25l:[24C[?12l[?25h stringtochars_test(expr % 'Mapping({%s : 1})')
[?25l:[24C[?12l[?25h if recurse:
[?25l:[24C[?12l[?25h convertfrompyobject_test(expr % 'Mapping({"abc
[23;80HG[24;1H" : %s})', False)
[?25l:[24C[?12l[?25h # pyseq_to_tv
[?25l:[24C[?12l[?25h iter_test(expr)
[?25l:[24C[?12l[?25h return subexpr_test(expr, 'ConvertFromPyObject', (
[?25l:[24C[?12l[?25h 'None', # Not conversible
[?25l:[24C[?12l[?25h '{b"": 1}', # Empty key not allowe
[23;80Hd[24;1H
[?25l:[24C[?12l[?25h '{"": 1}', # Same, but with unico
[23;80Hd[24;1He object
[?25l:[24C[?12l[?25h 'FailingMapping()', #
[?25l:[24C[?12l[?25h 'FailingMappingKey()', #
[?25l:[24C[?12l[?25h 'FailingNumber()', #
[?25l:[24C[?12l[?25h ))
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hdef convertfrompymapping_test(expr):
[?25l:[24C[?12l[?25h convertfrompyobject_test(expr)
[?25l:[24C[?12l[?25h return subexpr_test(expr, 'ConvertFromPyMapping',
[23;80H([24;1H
[?25l:[24C[?12l[?25h '[]',
[?25l:[24C[?12l[?25h ))
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hdef iter_test(expr):
[?25l:[24C[?12l[?25h return subexpr_test(expr, '*Iter*', (
[?25l:[24C[?12l[?25h 'FailingIter()',
[?25l:[24C[?12l[?25h 'FailingIterNext()',
[?25l:[24C[?12l[?25h ))
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hdef number_test(expr, natural=False, unsigned=False):
[?25l:[24C[?12l[?25h if natural:
[?25l:[24C[?12l[?25h unsigned = True
[?25l:[24C[?12l[?25h return subexpr_test(expr, 'NumberToLong', (
[?25l:[24C[?12l[?25h '[]',
[?25l:[24C[?12l[?25h 'None',
[?25l:[24C[?12l[?25h ) + (('-1',) if unsigned else ())
[?25l:[24C[?12l[?25h + (('0',) if natural else ()))
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingTrue(object):
[?25l:[24C[?12l[?25h def __bool__(self):
[?25l:[24C[?12l[?25h raise NotImplementedError('bool')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingIter(object):
[?25l:[24C[?12l[?25h def __iter__(self):
[?25l:[24C[?12l[?25h raise NotImplementedError('iter')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingIterNext(object):
[?25l:[24C[?12l[?25h def __iter__(self):
[?25l:[24C[?12l[?25h return self
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def __next__(self):
[?25l:[24C[?12l[?25h raise NotImplementedError('next')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingIterNextN(object):
[?25l:[24C[?12l[?25h def __init__(self, n):
[?25l:[24C[?12l[?25h self.n = n
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def __iter__(self):
[?25l:[24C[?12l[?25h return self
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def __next__(self):
[?25l:[24C[?12l[?25h if self.n:
[?25l:[24C[?12l[?25h self.n -= 1
[?25l:[24C[?12l[?25h return 1
[?25l:[24C[?12l[?25h else:
[?25l:[24C[?12l[?25h raise NotImplementedError('next N')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingMappingKey(object):
[?25l:[24C[?12l[?25h def __getitem__(self, item):
[?25l:[24C[?12l[?25h raise NotImplementedError('getitem:mappingkey'
[23;80H)[24;1H
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def keys(self):
[?25l:[24C[?12l[?25h return list("abcH")
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingMapping(object):
[?25l:[24C[?12l[?25h def __getitem__(self):
[?25l:[24C[?12l[?25h raise NotImplementedError('getitem:mapping')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def keys(self):
[?25l:[24C[?12l[?25h raise NotImplementedError('keys')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingList(list):
[?25l:[24C[?12l[?25h def __getitem__(self, idx):
[?25l:[24C[?12l[?25h if i == 2:
[?25l:[24C[?12l[?25h raise NotImplementedError('getitem:list')
[?25l:[24C[?12l[?25h else:
[?25l:[24C[?12l[?25h return super(FailingList, self).__getitem_
[23;80H_[24;1H(idx)
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass NoArgsCall(object):
[?25l:[24C[?12l[?25h def __call__(self):
[?25l:[24C[?12l[?25h pass
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingCall(object):
[?25l:[24C[?12l[?25h def __call__(self, path):
[?25l:[24C[?12l[?25h raise NotImplementedError('call')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingNumber(object):
[?25l:[24C[?12l[?25h def __int__(self):
[?25l:[24C[?12l[?25h raise NotImplementedError('int')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hcb.append("> Output")
[?25l:[24C[?12l[?25hcb.append(">> OutputSetattr")
[?25l:[24C[?12l[?25hee('del sys.stdout.softspace')
[?25l:[24C[?12l[?25hnumber_test('sys.stdout.softspace = %s', unsigned=True
[23;80H)[24;1H
[?25l:[24C[?12l[?25hnumber_test('sys.stderr.softspace = %s', unsigned=True
[23;80H)[24;1H
[?25l:[24C[?12l[?25hee('assert sys.stdout.isatty()==False')
[?25l:[24C[?12l[?25hee('assert sys.stdout.seekable()==False')
[?25l:[24C[?12l[?25hee('sys.stdout.close()')
[?25l:[24C[?12l[?25hee('sys.stdout.flush()')
[?25l:[24C[?12l[?25hee('assert sys.stderr.isatty()==False')
[?25l:[24C[?12l[?25hee('assert sys.stderr.seekable()==False')
[?25l:[24C[?12l[?25hee('sys.stderr.close()')
[?25l:[24C[?12l[?25hee('sys.stderr.flush()')
[?25l:[24C[?12l[?25hee('sys.stdout.attr = None')
[?25l:[24C[?12l[?25hcb.append(">> OutputWrite")
[?25l:[24C[?12l[?25hee('assert sys.stdout.writable()==True')
[?25l:[24C[?12l[?25hee('assert sys.stdout.readable()==False')
[?25l:[24C[?12l[?25hee('assert sys.stderr.writable()==True')
[?25l:[24C[?12l[?25hee('assert sys.stderr.readable()==False')
[?25l:[24C[?12l[?25hee('assert sys.stdout.closed()==False')
[?25l:[24C[?12l[?25hee('assert sys.stderr.closed()==False')
[?25l:[24C[?12l[?25hee('assert sys.stdout.errors=="strict"')
[?25l:[24C[?12l[?25hee('assert sys.stderr.errors=="strict"')
[?25l:[24C[?12l[?25hee('assert sys.stdout.encoding==sys.stderr.encoding')
[?25l:[24C[?12l[?25hee('sys.stdout.write(None)')
[?25l:[24C[?12l[?25hcb.append(">> OutputWriteLines")
[?25l:[24C[?12l[?25hee('sys.stdout.writelines(None)')
[?25l:[24C[?12l[?25hee('sys.stdout.writelines([1])')
[?25l:[24C[?12l[?25hiter_test('sys.stdout.writelines(%s)')
[?25l:[24C[?12l[?25hcb.append("> VimCommand")
[?25l:[24C[?12l[?25hstringtochars_test('vim.command(%s)')
[?25l:[24C[?12l[?25hee('vim.command("", 2)')
[?25l:[24C[?12l[?25h#! Not checked: vim->python exceptions translating: ch
[23;80He[24;1Hcked later
[?25l:[24C[?12l[?25hcb.append("> VimToPython")
[?25l:[24C[?12l[?25h#! Not checked: everything: needs errors in internal p
[23;80Hy[24;1Hthon functions
[?25l:[24C[?12l[?25hcb.append("> VimEval")
[?25l:[24C[?12l[?25hstringtochars_test('vim.eval(%s)')
[?25l:[24C[?12l[?25hee('vim.eval("", FailingTrue())')
[?25l:[24C[?12l[?25h#! Not checked: everything: needs errors in internal p
[23;80Hy[24;1Hthon functions
[?25l:[24C[?12l[?25hcb.append("> VimEvalPy")
[?25l:[24C[?12l[?25hstringtochars_test('vim.bindeval(%s)')
[?25l:[24C[?12l[?25hee('vim.eval("", 2)')
[?25l:[24C[?12l[?25h#! Not checked: vim->python exceptions translating: ch
[23;80He[24;1Hcked later
[?25l:[24C[?12l[?25hcb.append("> VimStrwidth")
[?25l:[24C[?12l[?25hstringtochars_test('vim.strwidth(%s)')
[?25l:[24C[?12l[?25hcb.append("> VimForeachRTP")
[?25l:[24C[?12l[?25hee('vim.foreach_rtp(None)')
[?25l:[24C[?12l[?25hee('vim.foreach_rtp(NoArgsCall())')
[?25l:[24C[?12l[?25hee('vim.foreach_rtp(FailingCall())')
[?25l:[24C[?12l[?25hee('vim.foreach_rtp(int, 2)')
[?25l:[24C[?12l[?25hcb.append('> import')
[?25l:[24C[?12l[?25hold_rtp = vim.options['rtp']
[?25l:[24C[?12l[?25hvim.options['rtp'] = os.getcwd().replace('\\', '\\\\')
[23;80H.[24;1Hreplace(',', '\\,')
[?25l:[24C[?12l[?25hee('import xxx_no_such_module_xxx')
[?25l:[24C[?12l[?25hee('import failing_import')
[?25l:[24C[?12l[?25hee('import failing')
[?25l:[24C[?12l[?25hvim.options['rtp'] = old_rtp
[?25l:[24C[?12l[?25hdel old_rtp
[?25l:[24C[?12l[?25hcb.append("> Options")
[?25l:[24C[?12l[?25hcb.append(">> OptionsItem")
[?25l:[24C[?12l[?25hee('vim.options["abcQ"]')
[?25l:[24C[?12l[?25hee('vim.options[""]')
[?25l:[24C[?12l[?25hstringtochars_test('vim.options[%s]')
[?25l:[24C[?12l[?25hcb.append(">> OptionsContains")
[?25l:[24C[?12l[?25hstringtochars_test('%s in vim.options')
[?25l:[24C[?12l[?25hcb.append("> Dictionary")
[?25l:[24C[?12l[?25hcb.append(">> DictionaryConstructor")
[?25l:[24C[?12l[?25hee('vim.Dictionary("abcI")')
[?25l:[24C[?12l[?25h##! Not checked: py_dict_alloc failure
[?25l:[24C[?12l[?25hcb.append(">> DictionarySetattr")
[?25l:[24C[?12l[?25hee('del d.locked')
[?25l:[24C[?12l[?25hee('d.locked = FailingTrue()')
[?25l:[24C[?12l[?25hee('vim.vvars.locked = False')
[?25l:[24C[?12l[?25hee('d.scope = True')
[?25l:[24C[?12l[?25hee('d.xxx = True')
[?25l:[24C[?12l[?25hcb.append(">> _DictionaryItem")
[?25l:[24C[?12l[?25hee('d.get("a", 2, 3)')
[?25l:[24C[?12l[?25hstringtochars_test('d.get(%s)')
[?25l:[24C[?12l[?25hee('d.pop("a")')
[?25l:[24C[?12l[?25hee('dl.pop("a")')
[?25l:[24C[?12l[?25hcb.append(">> DictionaryContains")
[?25l:[24C[?12l[?25hee('"" in d')
[?25l:[24C[?12l[?25hee('0 in d')
[?25l:[24C[?12l[?25hcb.append(">> DictionaryIterNext")
[?25l:[24C[?12l[?25hee('for i in ned: ned["a"] = 1')
[?25l:[24C[?12l[?25hdel i
[?25l:[24C[?12l[?25hcb.append(">> DictionaryAssItem")
[?25l:[24C[?12l[?25hee('dl["b"] = 1')
[?25l:[24C[?12l[?25hstringtochars_test('d[%s] = 1')
[?25l:[24C[?12l[?25hconvertfrompyobject_test('d["a"] = %s')
[?25l:[24C[?12l[?25hcb.append(">> DictionaryUpdate")
[?25l:[24C[?12l[?25hcb.append(">>> kwargs")
[?25l:[24C[?12l[?25hcb.append(">>> iter")
[?25l:[24C[?12l[?25hee('d.update(FailingMapping())')
[?25l:[24C[?12l[?25hee('d.update([FailingIterNext()])')
[?25l:[24C[?12l[?25hee('d.update([FailingIterNextN(1)])')
[?25l:[24C[?12l[?25hiter_test('d.update(%s)')
[?25l:[24C[?12l[?25hconvertfrompyobject_test('d.update(%s)')
[?25l:[24C[?12l[?25hstringtochars_test('d.update(((%s, 0),))')
[?25l:[24C[?12l[?25hconvertfrompyobject_test('d.update((("a", %s),))')
[?25l:[24C[?12l[?25hcb.append(">> DictionaryPopItem")
[?25l:[24C[?12l[?25hee('d.popitem(1, 2)')
[?25l:[24C[?12l[?25hcb.append(">> DictionaryHasKey")
[?25l:[24C[?12l[?25hee('d.has_key()')
[?25l:[24C[?12l[?25hcb.append("> List")
[?25l:[24C[?12l[?25hcb.append(">> ListConstructor")
[?25l:[24C[?12l[?25hee('vim.List(1, 2)')
[?25l:[24C[?12l[?25hee('vim.List(a=1)')
[?25l:[24C[?12l[?25hiter_test('vim.List(%s)')
[?25l:[24C[?12l[?25hconvertfrompyobject_test('vim.List([%s])')
[?25l:[24C[?12l[?25hcb.append(">> ListItem")
[?25l:[24C[?12l[?25hee('l[1000]')
[?25l:[24C[?12l[?25hcb.append(">> ListAssItem")
[?25l:[24C[?12l[?25hee('ll[1] = 2')
[?25l:[24C[?12l[?25hee('l[1000] = 3')
[?25l:[24C[?12l[?25hcb.append(">> ListAssSlice")
[?25l:[24C[?12l[?25hee('ll[1:100] = "abcJ"')
[?25l:[24C[?12l[?25hiter_test('l[:] = %s')
[?25l:[24C[?12l[?25hee('nel[1:10:2] = "abcK"')
[?25l:[24C[?12l[?25hcb.append(repr(tuple(nel)))
[?25l:[24C[?12l[?25hee('nel[1:10:2] = "a"')
[?25l:[24C[?12l[?25hcb.append(repr(tuple(nel)))
[?25l:[24C[?12l[?25hee('nel[1:1:-1] = "a"')
[?25l:[24C[?12l[?25hcb.append(repr(tuple(nel)))
[?25l:[24C[?12l[?25hee('nel[:] = FailingIterNextN(2)')
[?25l:[24C[?12l[?25hcb.append(repr(tuple(nel)))
[?25l:[24C[?12l[?25hconvertfrompyobject_test('l[:] = [%s]')
[?25l:[24C[?12l[?25hcb.append(">> ListConcatInPlace")
[?25l:[24C[?12l[?25hiter_test('l.extend(%s)')
[?25l:[24C[?12l[?25hconvertfrompyobject_test('l.extend([%s])')
[?25l:[24C[?12l[?25hcb.append(">> ListSetattr")
[?25l:[24C[?12l[?25hee('del l.locked')
[?25l:[24C[?12l[?25hee('l.locked = FailingTrue()')
[?25l:[24C[?12l[?25hee('l.xxx = True')
[?25l:[24C[?12l[?25hcb.append("> Function")
[?25l:[24C[?12l[?25hcb.append(">> FunctionConstructor")
[?25l:[24C[?12l[?25hcb.append(">>> FunctionConstructor")
[?25l:[24C[?12l[?25hee('vim.Function("123")')
[?25l:[24C[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx")')
[?25l:[24C[?12l[?25hee('vim.Function("xxx#non#existent#function#xxx")')
[?25l:[24C[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx2", arg
[23;80Hs[24;1H=[])')
[?25l:[24C[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx3", sel
[23;80Hf[24;1H={})')
[?25l:[24C[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx4", arg
[23;80Hs[24;1H=[], self={})')
[?25l:[24C[?12l[?25hcb.append(">>> FunctionNew")
[?25l:[24C[?12l[?25hee('vim.Function("tr", self="abcFuncSelf")')
[?25l:[24C[?12l[?25hee('vim.Function("tr", args=427423)')
[?25l:[24C[?12l[?25hee('vim.Function("tr", self="abcFuncSelf2", args="abcF
[23;80Hu[24;1HncArgs2")')
[?25l:[24C[?12l[?25hee('vim.Function(self="abcFuncSelf2", args="abcFuncArg
[23;80Hs[24;1H2")')
[?25l:[24C[?12l[?25hee('vim.Function("tr", "", self="abcFuncSelf2", args="
[23;80Ha[24;1HbcFuncArgs2")')
[?25l:[24C[?12l[?25hee('vim.Function("tr", "")')
[?25l:[24C[?12l[?25hcb.append(">> FunctionCall")
[?25l:[24C[?12l[?25hconvertfrompyobject_test('f(%s)')
[?25l:[24C[?12l[?25hconvertfrompymapping_test('fd(self=%s)')
[?25l:[24C[?12l[?25hcb.append("> TabPage")
[?25l:[24C[?12l[?25hcb.append(">> TabPageAttr")
[?25l:[24C[?12l[?25hee('vim.current.tabpage.xxx')
[?25l:[24C[?12l[?25hcb.append("> TabList")
[?25l:[24C[?12l[?25hcb.append(">> TabListItem")
[?25l:[24C[?12l[?25hee('vim.tabpages[1000]')
[?25l:[24C[?12l[?25hcb.append("> Window")
[?25l:[24C[?12l[?25hcb.append(">> WindowAttr")
[?25l:[24C[?12l[?25hee('vim.current.window.xxx')
[?25l:[24C[?12l[?25hcb.append(">> WindowSetattr")
[?25l:[24C[?12l[?25hee('vim.current.window.buffer = 0')
[?25l:[24C[?12l[?25hee('vim.current.window.cursor = (100000000, 100000000)
[23;80H'[24;1H)
[?25l:[24C[?12l[?25hee('vim.current.window.cursor = True')
[?25l:[24C[?12l[?25hnumber_test('vim.current.window.height = %s', unsigned
[23;80H=[24;1HTrue)
[?25l:[24C[?12l[?25hnumber_test('vim.current.window.width = %s', unsigned=
[23;80HT[24;1Hrue)
[?25l:[24C[?12l[?25hee('vim.current.window.xxxxxx = True')
[?25l:[24C[?12l[?25hcb.append("> WinList")
[?25l:[24C[?12l[?25hcb.append(">> WinListItem")
[?25l:[24C[?12l[?25hee('vim.windows[1000]')
[?25l:[24C[?12l[?25hcb.append("> Buffer")
[?25l:[24C[?12l[?25hcb.append(">> StringToLine (indirect)")
[?25l:[24C[?12l[?25hee('vim.current.buffer[0] = "\\na"')
[?25l:[24C[?12l[?25hee('vim.current.buffer[0] = b"\\na"')
[?25l:[24C[?12l[?25hcb.append(">> SetBufferLine (indirect)")
[?25l:[24C[?12l[?25hee('vim.current.buffer[0] = True')
[?25l:[24C[?12l[?25hcb.append(">> SetBufferLineList (indirect)")
[?25l:[24C[?12l[?25hee('vim.current.buffer[:] = True')
[?25l:[24C[?12l[?25hee('vim.current.buffer[:] = ["\\na", "bc"]')
[?25l:[24C[?12l[?25hcb.append(">> InsertBufferLines (indirect)")
[?25l:[24C[?12l[?25hee('vim.current.buffer.append(None)')
[?25l:[24C[?12l[?25hee('vim.current.buffer.append(["\\na", "bc"])')
[?25l:[24C[?12l[?25hee('vim.current.buffer.append("\\nbc")')
[?25l:[24C[?12l[?25hcb.append(">> RBItem")
[?25l:[24C[?12l[?25hee('vim.current.buffer[100000000]')
[?25l:[24C[?12l[?25hcb.append(">> RBAsItem")
[?25l:[24C[?12l[?25hee('vim.current.buffer[100000000] = ""')
[?25l:[24C[?12l[?25hcb.append(">> BufferAttr")
[?25l:[24C[?12l[?25hee('vim.current.buffer.xxx')
[?25l:[24C[?12l[?25hcb.append(">> BufferSetattr")
[?25l:[24C[?12l[?25hee('vim.current.buffer.name = True')
[?25l:[24C[?12l[?25hee('vim.current.buffer.xxx = True')
[?25l:[24C[?12l[?25hcb.append(">> BufferMark")
[?25l:[24C[?12l[?25hee('vim.current.buffer.mark(0)')
[?25l:[24C[?12l[?25hee('vim.current.buffer.mark("abcM")')
[?25l:[24C[?12l[?25hee('vim.current.buffer.mark("!")')
[?25l:[24C[?12l[?25hcb.append(">> BufferRange")
[?25l:[24C[?12l[?25hee('vim.current.buffer.range(1, 2, 3)')
[?25l:[24C[?12l[?25hcb.append("> BufMap")
[?25l:[24C[?12l[?25hcb.append(">> BufMapItem")
[?25l:[24C[?12l[?25hee('vim.buffers[100000000]')
[?25l:[24C[?12l[?25hnumber_test('vim.buffers[%s]', natural=True)
[?25l:[24C[?12l[?25hcb.append("> Current")
[?25l:[24C[?12l[?25hcb.append(">> CurrentGetattr")
[?25l:[24C[?12l[?25hee('vim.current.xxx')
[?25l:[24C[?12l[?25hcb.append(">> CurrentSetattr")
[?25l:[24C[?12l[?25hee('vim.current.line = True')
[?25l:[24C[?12l[?25hee('vim.current.buffer = True')
[?25l:[24C[?12l[?25hee('vim.current.window = True')
[?25l:[24C[?12l[?25hee('vim.current.tabpage = True')
[?25l:[24C[?12l[?25hee('vim.current.xxx = True')
[?25l:[24C[?12l[?25hdel d
[?25l:[24C[?12l[?25hdel ned
[?25l:[24C[?12l[?25hdel dl
[?25l:[24C[?12l[?25hdel l
[?25l:[24C[?12l[?25hdel ll
[?25l:[24C[?12l[?25hdel nel
[?25l:[24C[?12l[?25hdel f
[?25l:[24C[?12l[?25hdel fd
[?25l:[24C[?12l[?25hdel fdel
[?25l:[24C[?12l[?25hdel subexpr_test
[?25l:[24C[?12l[?25hdel stringtochars_test
[?25l:[24C[?12l[?25hdel Mapping
[?25l:[24C[?12l[?25hdel convertfrompyobject_test
[?25l:[24C[?12l[?25hdel convertfrompymapping_test
[?25l:[24C[?12l[?25hdel iter_test
[?25l:[24C[?12l[?25hdel number_test
[?25l:[24C[?12l[?25hdel FailingTrue
[?25l:[24C[?12l[?25hdel FailingIter
[?25l:[24C[?12l[?25hdel FailingIterNext
[?25l:[24C[?12l[?25hdel FailingIterNextN
[?25l:[24C[?12l[?25hdel FailingMapping
[?25l:[24C[?12l[?25hdel FailingMappingKey
[?25l:[24C[?12l[?25hdel FailingList
[?25l:[24C[?12l[?25hdel NoArgsCall
[?25l:[24C[?12l[?25hdel FailingCall
[?25l:[24C[?12l[?25hdel FailingNumber
[?25l:[24C[?12l[?25hEOF
[?25l:[24C[?12l[?25h:delfunction F
[?25l:[24C[?12l[?25h:"
[?25l:[24C[?12l[?25h:" Test import
[?25l:[24C[?12l[?25hpy3 << EOF
[?25l:[24C[?12l[?25hsys.path.insert(0, os.path.join(os.getcwd(), 'python_b
[23;80He[24;1Hfore'))
[?25l:[24C[?12l[?25hsys.path.append(os.path.join(os.getcwd(), 'python_afte
[23;80Hr[24;1H'))
[?25l:[24C[?12l[?25hvim.options['rtp'] = os.getcwd().replace(',', '\\,').r
[23;80He[24;1Hplace('\\', '\\\\')
[?25l:[24C[?12l[?25hl = []
[?25l:[24C[?12l[?25hdef callback(path):
[?25l:[24C[?12l[?25h l.append(os.path.relpath(path))
[?25l:[24C[?12l[?25hvim.foreach_rtp(callback)
[?25l:[24C[?12l[?25hcb.append(repr(l))
[?25l:[24C[?12l[?25hdel l
[?25l:[24C[?12l[?25hdef callback(path):
[?25l:[24C[?12l[?25h return os.path.relpath(path)
[?25l:[24C[?12l[?25hcb.append(repr(vim.foreach_rtp(callback)))
[?25l:[24C[?12l[?25hdel callback
[?25l:[24C[?12l[?25hfrom module import dir as d
[?25l:[24C[?12l[?25hfrom modulex import ddir
[?25l:[24C[?12l[?25hcb.append(d + ',' + ddir)
[?25l:[24C[?12l[?25himport before
[?25l:[24C[?12l[?25hcb.append(before.dir)
[?25l:[24C[?12l[?25himport after
[?25l:[24C[?12l[?25hcb.append(after.dir)
[?25l:[24C[?12l[?25himport topmodule as tm
[?25l:[24C[?12l[?25himport topmodule.submodule as tms
[?25l:[24C[?12l[?25himport topmodule.submodule.subsubmodule.subsubsubmodul
[23;80He[24;1H as tmsss
[?25l:[24C[?12l[?25hcb.append(tm.__file__.replace(os.path.sep, '/')[-len('
[23;80Hm[24;1Hodulex/topmodule/__init__.py'):])
[?25l:[24C[?12l[?25hcb.append(tms.__file__.replace(os.path.sep, '/')[-len(
[23;80H'[24;1Hmodulex/topmodule/submodule/__init__.py'):])
[?25l:[24C[?12l[?25hcb.append(tmsss.__file__.replace(os.path.sep, '/')[-le
[23;80Hn[24;1H('modulex/topmodule/submodule/subsubmodule/subsubsubmodule.py'):])
[?25l:[24C[?12l[?25hdel before
[?25l:[24C[?12l[?25hdel after
[?25l:[24C[?12l[?25hdel d
[?25l:[24C[?12l[?25hdel ddir
[?25l:[24C[?12l[?25hdel tm
[?25l:[24C[?12l[?25hdel tms
[?25l:[24C[?12l[?25hdel tmsss
[?25l:[24C[?12l[?25hEOF
[?25l:[24C[?12l[?25h:"
[?25l:[24C[?12l[?25h:" Test exceptions
[?25l:[24C[?12l[?25h:fun Exe(e)
[?25l:[26C[?12l[?25h: execute a:e
[?25l:[26C[?12l[?25h:endfun
[?25l:[26C[?12l[?25hpy3 << EOF
[?25l:[26C[?12l[?25hExe = vim.bindeval('function("Exe")')
[?25l:[26C[?12l[?25hee('vim.command("throw \'abcN\'")')
[?25l:[26C[?12l[?25hee('Exe("throw \'def\'")')
[?25l:[26C[?12l[?25hee('vim.eval("Exe(\'throw \'\'ghi\'\'\')")')
[?25l:[26C[?12l[?25hee('vim.eval("Exe(\'echoerr \'\'jkl\'\'\')")')
[?25l:[26C[?12l[?25hee('vim.eval("Exe(\'xxx_non_existent_command_xxx\')"
[23;80H)[24;1H')
[?25l:[26C[?12l[?25hee('vim.eval("xxx_unknown_function_xxx()")')
[?25l:[26C[?12l[?25hee('vim.bindeval("Exe(\'xxx_non_existent_command_xxx
[23;80H\[24;1H')")')
[?25l:[26C[?12l[?25hdel Exe
[?25l:[26C[?12l[?25hEOF
[?25l:[26C[?12l[?25h:delfunction Exe
[?25l:[26C[?12l[?25h:"
[?25l:[26C[?12l[?25h:" Regression: interrupting vim.command propagates t
[23;80Ho[24;1H next vim.command
[?25l:[26C[?12l[?25hpy3 << EOF
[?25l:[26C[?12l[?25hdef test_keyboard_interrupt():
[?25l:[26C[?12l[?25h try:
[?25l:[26C[?12l[?25h vim.command('while 1 | endwhile')
[?25l:[26C[?12l[?25h except KeyboardInterrupt:
[?25l:[26C[?12l[?25h cb.append('Caught KeyboardInterrupt')
[?25l:[26C[?12l[?25h except Exception:
[?25l:[26C[?12l[?25h cb.append('!!!!!!!! Caught exception: ' + em
[23;80Hs[24;1Hg(sys.exc_info()))
[?25l:[26C[?12l[?25h else:
[?25l:[26C[?12l[?25h cb.append('!!!!!!!! No exception')
[?25l:[26C[?12l[?25h try:
[?25l:[26C[?12l[?25h vim.command('$ put =\'Running :put\'')
[?25l:[26C[?12l[?25h except KeyboardInterrupt:
[?25l:[26C[?12l[?25h cb.append('!!!!!!!! Caught KeyboardInterrupt
[23;80H'[24;1H)
[?25l:[26C[?12l[?25h except Exception:
[?25l:[26C[?12l[?25h cb.append('!!!!!!!! Caught exception: ' + em
[23;80Hs[24;1Hg(sys.exc_info()))
[?25l:[26C[?12l[?25h else:
[?25l:[26C[?12l[?25h cb.append('No exception')
[?25l:[26C[?12l[?25hEOF
[?25l:[26C[?12l[?25h:debuggreedy
[?25l:[26C[?12l[?25h:call inputsave()
[?25l:[26C[?12l[?25h:call feedkeys("s\ns\ns\ns\nq\n")
[?25l:[26C[?12l[?25h:redir => output
[?25l:[26C[?12l[?25h:debug silent! py3 test_keyboard_interrupt()
[?25l:[26C[?12l[?25h:redir END
[?25l:[26C[?12l[?25h:0 debuggreedy
[?25l:[26C[?12l[?25h:call inputrestore()
[?25l:[26C[?12l[?25h:silent $put =output
[?25l:[26C[?12l[?25h:unlet output
[?25l:[26C[?12l[?25h:py3 del test_keyboard_interrupt
[?25l:[26C[?12l[?25h:"
[?25l:[26C[?12l[?25h:" Cleanup
[?25l:[26C[?12l[?25hpy3 << EOF
[?25l:[26C[?12l[?25hdel cb
[?25l:[26C[?12l[?25hdel ee
[?25l:[26C[?12l[?25hdel emsg
[?25l:[26C[?12l[?25hdel sys
[?25l:[26C[?12l[?25hdel os
[?25l:[26C[?12l[?25hdel vim
[?25l:[26C[?12l[?25hEOF
[?25l:[26C[?12l[?25h:endfun
[27m[23m[m[H[2J[?25l[1;1H: call Test()
: if i == 0
:[7Clet 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:[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[17L[?25l[1;1H: call Test()
: if i == 0
:[7Clet 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[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall RunTest()
[?25l8 more lin[24;13H[K[24;1H
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
[1m[37m[41mError detected while processing function RunTest[8]..Test:[m
[33mline 1106:[m
[1m[37m[41mabc9def[m
abcA
[33mline 1108:[m
[1m[37m[41mabcB[m
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
[27m[23m[m[H[2J[1;1H['.']
'.'
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[13;1H',))
vim.eval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error('Vimm[15;1H:E492: Not an editor command: xxx_non_existent_command_xxx',))
vim.eval("xxx_unknown_function_xxx()"):(<class 'vim.error'>, error('Vim:E117: Unn[17;1Hknown function: xxx_unknown_function_xxx',))
vim.bindeval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error(([19;1H'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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction RunTest
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction Test
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test12.in" 52 lines, 1199 characters[1;1HTests 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/[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for 'directory' option.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 40 lines, 965 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:!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[18;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset dir=.,~
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/start of testfile/,/end of testfile/w! Xtest1
[?25l"Xtest1" [24;10H[K[24;10H[New] 4L, 70C written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" do an ls of the current dir to find the swap file (should not be there)
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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=[24;1H
[?25l: :[?12l[?25helse
[?25l: [?12l[?25h: r !ls X*.swp >test.out
[?25l: [?12l[?25h:endif
[?25l[24;1H[K[24;1H:[?12l[?25h!echo first line >>test.out
[?25l[28C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25he Xtest1
[?25l"Xtest1" 4L, 70C[27m[23m[m[H[2J[1;1Hstart of testfile
line 2 Abcdefghij
line 3 Abcdefghij
end of testfile
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H"Xtest1" 4L, 70C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[m
[?25l: [?12l[?25h: s/\.*X/X/
[?25l: [?12l[?25h: .w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 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
[27m[23m[m[H[2J[?25l[1;1Hstart of testfile
line 2 Abcdefghij
line 3 Abcdefghij
end of testfile
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h!echo under Xtest1.swp >>test.out
[?25l[34C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir Xtest2
[?25l[14C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25hset dir=./Xtest2,.,~
[?25l[27m[23m[m[H[2J[1;1Hstart of testfile
line 2 Abcdefghij
line 3 Abcdefghij
end of testfile
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25he Xtest1
[?25l"Xtest1" 4L, 70C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!ls X*.swp >>test.out
[?25l[22C[?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[24;1H[K[24;1H:[?12l[?25h!echo under under >>test.out
[?25l[29C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!ls Xtest2 >>test.out
[?25l[22C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!echo under Xtest1.swp >>test.out
[?25l[34C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir Xtest.je
[?25l[16C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h/start of testfile/,/end of testfile/w! Xtest2/Xtest3
[?25l[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[24;1H"Xtest2/Xtest3" [24;17H[K[24;17H[New] 4L, 70C written[27m[23m[m[H[2J[1;1Hstart of testfile
line 2 Abcdefghij
line 3 Abcdefghij
end of testfile
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H"Xtest2/Xtest3" [New] 4L, 70C written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset dir=Xtest.je,~
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtest2/Xtest3
[?25l"Xtest2/Xtest3" 4L, 70C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hswap
[?25lXtest.je/Xtest3.swp[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!ls Xtest2 >>test.out
[?25l[22C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!echo under Xtest3 >>test.out
[?25l[30C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!ls Xtest.je >>test.out
[?25l[24C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!echo under Xtest3.swp >>test.out
[?25l[34C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test25.in" 31 lines, 840 characters[1;1HTest 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[34m^][m x:.w! test.out
:!rm -f test25.dir tags.test
:qa!
ENDTEST[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 540 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Create a link from test25.dir to the current directory.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!rm -f test25.dir
[?25l[18C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!ln -s . test25.dir
[?25l[20C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h" Create tags.text, with the current directory name inserted.
[?25l[27m[23m[m[H[2J[1;1HTest 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[34m^][m x:.w! test.out
:!rm -f test25.dir tags.test
:qa!
ENDTEST
[?12l[?25h[?25l
/[?12l[?25htags line
[?25l[1;2Hhis only works for Unix, because of the symbolic link.[1;56H[K[2;1H[K[3;1HSTARTTEST
:so small.vim
:set hidden[5;12H[K[6;2H" Create a link from test25.dir to the current directory.
:!rm -f test25.dir[7;19H[K[8;3Hln -s . test25.dir
:" Create tags.text, with the current directory name inserted.
/tags line[10;11H[K[11;1H:r !pwd[11;8H[K[12;1Hd$/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[17;20H[K[18;1HG[34m^][m x:.w! test.out[18;19H[K[19;1H:!rm -f test25.dir tags.test
:qa![20;6H[K[21;1HENDTEST[22;1H[K[23;1Htags line:
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hr !pwd
[?25l[?12l[?25h[27m[23m[m[H[2J[?25l[2;1HSTARTTEST
: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[34m^][m x:.w! test.out
:!rm -f test25.dir tags.test
:qa!
ENDTEST
tags line:
/<<PKGBUILDDIR>>/src/vim-gtk/testdir
[?12l[?25h[?25l[23;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25htest
[?25l[1;23r[23;1H
[1;24r[23;1HSECTION_OFF /test25.dir/test25.in /^#define SECTION_OFF 3$/[24;1H[K[23;18H[?12l[?25h[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test25.dir/te[23;1H[1m[34m@ [1;23r[m[23;1H
[1;24r[22;1HSECTION_OFF /<<PKGBUILDDIR>>/src/vim-gtk/testdir/test25.dir/tee[23;1Hst25.in /^#define SECTION_OFF 3$/[22;66H[?12l[?25h[?25l
:[?12l[?25h.w! tags.test
[?25l"tags.test" [24;13H[K[24;13H[New File] 1 line, 112 characters written[22;66H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Try jumping to a tag in the current file, but with a path that contains a
[?25l[22;66H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" symbolic link. When wrong, this will give the ATTENTION message. The next
[?25l[22;66H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" space will then be eaten by hit-return, instead of moving the cursor to 'd'.
[?25l[22;66H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tags=tags.test
[?25l[22;66H[?12l[?25h[?25l[1;23r[1;1H[6M[1;24r[19;1H/*tx.c*/
#define SECTION_OFF 3
#define NUM_SECTIONS 3
SECTION_OFF[24;1H[K[23;1H[?12l[?25h[20;1H#[?25lefine SECTION_OFF 3[20;23H[K[20;2H[?12l[?25h[?25l[24;1H:[?12l[?25h.w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 23 characters written[20;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!rm -f test25.dir tags.test
[?25l[28C[?1l>[?12l[?25h[?1049l
[No write since last change]
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test49.in" 32 lines, 705 characters[1;1HThis 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HThis is a test of the script language.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 23 lines, 475 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[7M[1;24r[17;1H:endfor
:for v in keys(g:)
: silent! exe "unlet " . v
:endfor
:unlet v
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hse nocp nomore viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang mess C
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso test49.vim
[?25l[1m[37m[41mError detected while processing function F:[m
[33mline 5:[m
[1m[37m[41mE583: multiple :else: else^I^I[m
[1m[37m[41mError detected while processing function G:[m
[33mline 5:[m
[1m[37m[41mE584: :elseif after :else: elseif 1^I^I" aborts function[m
[1m[37m[41mError detected while processing function H:[m
[33mline 7:[m
[1m[37m[41mE583: multiple :else: else^I^I[m
[1m[37m[41mError detected while processing function I:[m
[33mline 7:[m
[1m[37m[41mE584: :elseif after :else: elseif 1^I^I" aborts function[m
*** Test 16: OK (8722)
[1m[37m[41mError detected while processing function F:[m
[33mline 18:[m
[1m[37m[41mE171: Missing :endif: endwhile^I[m
[1m[37m[41mE171: Missing :endif: endwhile^I[m
[33mline 34:[m
[1m[37m[41mE171: Missing :endif: endwhile^I[m
[1m[37m[41mE171: Missing :endif: endwhile^I[m
[1m[37m[41mE171: Missing :endif: endwhile^I[m
[33mline 47:[m
[1m[37m[41mE580: :endif without :if: ^Iendif^I[m
[1m[37m[41mE580: :endif without :if: ^Iendif^I[m
[1m[37m[41mE580: :endif without :if: ^Iendif^I[m
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-gtk/test[m
[23;80H[1m[37m[41md[24;1Hir/test49.vim:[m
[33mline 784:[m
[1m[37m[41mE171: Missing :endif: endwhile [m
*** Test 17: OK (285127993)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"/tmp/vlQhEQd/0" [24;18H[K[24;18H[New] 53L, 1582C written[24;18H[K[24;18H14L, 358C appended[24;18H[K[24;18H26L, 824C appended[24;18H[K[24;18H34L, 986C appended
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/1[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/1" [24;18H[K[24;18H16L, 304C appended[24;18H[K[24;18H17L, 326C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/2[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/2"' -c 'breakad
[23;80Hd[24;2Hfile 8 /tmp/vlQhEQd/1' -S /tmp/vlQhEQd/1[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/2" [24;18H[K[24;18H3L, 6C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/3[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/3" [24;18H[K[24;18H6L, 127C appended[24;18H[K[24;18H7L, 149C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/4[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/4"' -c 'breakad
[23;80Hd[24;2Hfile 4 /tmp/vlQhEQd/3' -S /tmp/vlQhEQd/3[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/4" [24;18H[K[24;18H1L, 5C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/5[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/5" [24;18H[K[24;18H21L, 486C appended[24;18H[K[24;18H22L, 508C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/6[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/6"' -c 'breakad
[23;80Hd[24;2Hfunc 7 F' -S /tmp/vlQhEQd/5[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/6" [24;18H[K[24;18H3L, 18C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/7[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/7" [24;18H[K[24;18H13L, 364C appended[24;18H[K[24;18H14L, 386C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/8[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/8"' -c 'breakad
[23;80Hd[24;2Hfunc 3 G' -S /tmp/vlQhEQd/7[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/8" [24;18H[K[24;18H1L, 9C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 18: OK (67224583)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/9[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/9" [24;18H[K[24;18H12L, 201C appended[24;18H[K[24;18H13L, 223C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/10[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/10"' -S /tmp/vlQhE
[23;80HQ[24;1Hd/9[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/10" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/11[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/11" [24;19H[K[24;19H12L, 205C appended[24;19H[K[24;19H13L, 227C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/12[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/12"' -S /tmp/vlQhE
[23;80HQ[24;1Hd/11[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/12" 2L, 7C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/13[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/13" [24;19H[K[24;19H6L, 122C appended[24;19H[K[24;19H7L, 144C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/14[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/14"' -S /tmp/vlQhE
[23;80HQ[24;1Hd/13[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/14" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/15[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/15" [24;19H[K[24;19H8L, 176C appended[24;19H[K[24;19H9L, 198C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/16[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/16"' -S /tmp/vlQhE
[23;80HQ[24;1Hd/15[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/16" 1L, 6C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/17[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/17" [24;19H[K[24;19H10L, 215C appended[24;19H[K[24;19H11L, 237C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/18[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/18"' -S /tmp/vlQhE
[23;80HQ[24;1Hd/17[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/18" 1L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/19[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/19" [24;19H[K[24;19H7L, 149C appended[24;19H[K[24;19H8L, 171C[24;19H[K[24;19H8L, 170C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/20[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/20"' -S /tmp/vlQhE
[23;80HQ[24;1Hd/19[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/20" 1L, 9C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 19: OK (69275973)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/21[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/21" [24;19H[K[24;19H9L, 135C appended[24;19H[K[24;19H10L, 157C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/22[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/22"' -S /tmp/vlQhE
[23;80HQ[24;1Hd/21[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/22" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/23[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/23" [24;19H[K[24;19H10L, 155C appended[24;19H[K[24;19H11L, 177C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/24[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/24"' -S /tmp/vlQhE
[23;80HQ[24;1Hd/23[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/24" 3L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/25[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/25" [24;19H[K[24;19H12L, 204C appended[24;19H[K[24;19H13L, 226C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/26[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/26"' -S /tmp/vlQhE
[23;80HQ[24;1Hd/25[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/26" 4L, 18C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/27[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/27" [24;19H[K[24;19H12L, 214C appended[24;19H[K[24;19H13L, 236C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/28[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/28"' -S /tmp/vlQhE
[23;80HQ[24;1Hd/27[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/28" 4L, 22C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/29[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/29" [24;19H[K[24;19H12L, 211C appended[24;19H[K[24;19H13L, 233C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/30[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/30"' -S /tmp/vlQhE
[23;80HQ[24;1Hd/29[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/30" 3L, 22C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/31[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/31" [24;19H[K[24;19H14L, 263C appended[24;19H[K[24;19H15L, 285C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/32[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/32"' -S /tmp/vlQhE
[23;80HQ[24;1Hd/31[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/32" 4L, 34C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/33[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/33" [24;19H[K[24;19H14L, 277C appended[24;19H[K[24;19H15L, 299C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/34[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/34"' -S /tmp/vlQhE
[23;80HQ[24;1Hd/33[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/34" 4L, 40C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 20: OK (1874575085)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/35[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/35" [24;19H[K[24;19H58L, 1022C appended[24;19H[K[24;19H59L, 1044C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/36[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/36"' -S /tmp/vlQhE
[23;80HQ[24;1Hd/35[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/36" 9L, 56C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 21: OK (147932225)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/37[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/37" [24;19H[K[24;19H23L, 418C appended[24;19H[K[24;19H24L, 440C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/38[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/38"' -S /tmp/vlQhE
[23;80HQ[24;1Hd/37[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/38" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/39[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/39" [24;19H[K[24;19H23L, 437C appended[24;19H[K[24;19H24L, 459C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/40[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/40"' -c 'breaka
[23;80Hd[24;1Hd func 2 Interrupt' -S /tmp/vlQhEQd/39[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/40" [24;19H[K[24;19H1L, 3C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/41[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/41" [24;19H[K[24;19H21L, 386C appended[24;19H[K[24;19H22L, 408C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/42[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/42"' -S /tmp/vlQhE
[23;80HQ[24;1Hd/41[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/42" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 22: OK (4161)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/43[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/43" [24;19H[K[24;19H25L, 432C appended[24;19H[K[24;19H26L, 454C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/44[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/44"' -S /tmp/vlQhE
[23;80HQ[24;1Hd/43[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/44" 3L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 23: OK (49)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/45[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/45" [24;19H[K[24;19H16L, 392C appended[24;19H[K[24;19H17L, 414C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/46[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/46"' -S /tmp/vlQhE
[23;80HQ[24;1Hd/45[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/46" 3L, 7C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 24: OK (41)
*** Test 25: OK (260177811)
*** Test 26: OK (1681500476)
*** Test 27: OK (1996459)
function F()
1 try
2[10CXpath 1[33C" X: 1
3[10Ctry
4[14CXpath 2[29C" X: 2
5[14Creturn
6[14CXpath 4[29C" X: 0
7[10Cfinally
8[14CXpath 8[29C" X: 8
9[10Cendtry
10[9CXpath 16[32C" X: 0
11 finally
12[9CXpath 32[32C" X: 32
13 endtry
14 Xpath 64[36C" X: 0
endfunction[9;1H"/tmp/vlQhEQd/47"[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[9;19H[noeol] 17L, 552C
14 substitutions on 14 lines
Pattern not found: ^\s*$
"/tmp/vlQhEQd/47" [11;20H[K[11;19H14L, 502C written
"test49.in" [11;13H[K[11;13H32L, 705C
function G()
1 try
2[10CXpath 128[31C" X: 128
3[10Creturn
4[10CXpath 256[31C" X: 0
5 finally
6[10CXpath 512[31C" X: 512
7[10Ccall F()
8[10CXpath 1024[30C" X: 1024
9 endtry
10 Xpath 2048[34C" X: 0
endfunction[12;1H"/tmp/vlQhEQd/48"[13;1H[K[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;4H[K[12;19H[noeol] 13L, 406C
10 substitutions on 10 lines
Pattern not found: ^\s*$
"/tmp/vlQhEQd/48" [14;20H[K[14;19H10L, 378C written
"test49.in" [14;13H[K[14;13H32L, 705C
function H()
1 try
2[10CXpath 4096[30C" X: 4096
3[10Ccall G()
4[10CXpath 8192[30C" X: 8192
5 finally
6[10CXpath 16384[29C" X: 16384
7[10Creturn
8[10CXpath 32768[29C" X: 0
9 endtry
10 Xpath 65536[33C" X: 0
endfunction[13;1H"/tmp/vlQhEQd/49"[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[13;19H[noeol] 13L, 409C
10 substitutions on 10 lines
Pattern not found: ^\s*$
"/tmp/vlQhEQd/49" [15;20H[K[15;19H10L, 381C written
"test49.in" [15;13H[K[15;13H32L, 705C
*** Test 28: OK (1996459)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim" [readonly] 9008L[17;1H, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/50[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[18;1H[K[18;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/50" [18;19H[K[18;19H39L, 721C appended[18;19H[K[18;19H40L, 743C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim" [readonly] 9008L[19;1H, 206669C
:!>/tmp/vlQhEQd/51[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[21;1H:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'l[22;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/51"' -S /tmp/vlQhEQ[23;1Hd/50[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[23;1H"/tmp/vlQhEQd/51" 6L, 21C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim" [readonly] 9008L[24;1H, 206669C[23;2Htest49.in" [23;13H[K[24;1H[K[23;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim" [readonly] 9008L[24;1H, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/52[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/52" [24;19H[K[24;19H23L, 509C appended[24;19H[K[24;19H24L, 531C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/53[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/53"' -S /tmp/vlQhE
[23;80HQ[24;1Hd/52[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/53" 4L, 34C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 29: OK (170428555)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/54[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/54" [24;19H[K[24;19H60L, 1101C appended[24;19H[K[24;19H61L, 1123C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/55[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nv
[23;80Hi[24;1Hminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/55"' -
[23;80Hc[24;2H'breakadd func 3 F' -c 'breakadd file 19 /tmp/vlQhEQd/54' -c 'breakadd file 31
/tmp/vlQhEQd/54' -S /tmp/vlQhEQd/54[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/55" [24;19H[K[24;19H16L, 89C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 30: OK (190905173)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/56[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/56" [24;19H[K[24;19H60L, 1122C appended[24;19H[K[24;19H61L, 1144C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/57[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/57"' -S /tmp/vlQhE
[23;80HQ[24;1Hd/56[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/57" 16L, 89C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 31: OK (190905173)
*** Test 32: OK (354833067)
*** Test 33: OK (1216907538)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/58[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/58" [24;19H[K[24;19H63L, 1288C appended[24;19H[K[24;19H64L, 1310C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/59[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi
[23;80Hm[24;1Hinfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhE
[23;80HQ[24;1Hd/59"' -c 'breakadd func 16 C' -S /tmp/vlQhEQd/58[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/59" [24;19H[K[24;19H17L, 127C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 34: OK (2146584868)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/60[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/60" [24;19H[K[24;19H63L, 1285C appended[24;19H[K[24;19H64L, 1307C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/61[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi
[23;80Hm[24;1Hinfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhE
[23;80HQ[24;1Hd/61"' -c 'breakadd func 16 B' -S /tmp/vlQhEQd/60[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/61" [24;19H[K[24;19H17L, 127C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 35: OK (2146584868)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/62[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/62" [24;19H[K[24;19H66L, 1430C appended[24;19H[K[24;19H67L, 1452C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/63[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vimin
[23;80Hf[24;1Ho+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/
[23;80H6[24;1H3"' -c 'breakadd func 16 R' -S /tmp/vlQhEQd/62[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/63" [24;19H[K[24;19H9L, 81C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 36: OK (1071644672)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/64[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/64" [24;19H[K[24;19H73L, 1488C appended[24;19H[K[24;19H74L, 1510C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/65[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/65"' -c 'breakadd
[23;80Hf[24;1Hunc 16 F' -S /tmp/vlQhEQd/64[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/65" [24;19H[K[24;19H9L, 81C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 37: OK (1071644672)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/66[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/66" [24;19H[K[24;19H82L, 1519C appended[24;19H[K[24;19H83L, 1541C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/67[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi
[23;80Hm[24;1Hinfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhE
[23;80HQ[24;1Hd/67"' -c 'breakadd func 16 E' -S /tmp/vlQhEQd/66[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/67" [24;19H[K[24;19H8L, 63C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 38: OK (357908480)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/68[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/68" [24;19H[K[24;19H83L, 1538C appended[24;19H[K[24;19H84L, 1560C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/69[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -
[23;80Hc[24;2H'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVi
[23;80Hm[24;1HResult = "/tmp/vlQhEQd/69"' -c 'breakadd func 16 I' -c 'breakadd func 22 I' -S
[23;80H/[24;1Htmp/vlQhEQd/68[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/69" 8L, 63C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 39: OK (357908480)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/70[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/70" [24;19H[K[24;19H82L, 1519C appended[24;19H[K[24;19H83L, 1541C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/71[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi
[23;80Hm[24;1Hinfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhE
[23;80HQ[24;1Hd/71"' -c 'breakadd func 16 T' -S /tmp/vlQhEQd/70[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/71" [24;19H[K[24;19H8L, 63C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 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
2[10CXpath 1[33C" X: 1
3[10Cthrow "arrgh"
4[10CXpath 2[33C" X: 0
5 catch /arrgh/
6[10CXpath 4[33C" X: 4
7 endtry
8 Xpath 8[37C" X: 8
endfunction[15;1H"/tmp/vlQhEQd/72"[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[15;19H[noeol] 11L, 334C
8 substitutions on 8 lines
Pattern not found: ^\s*$
"/tmp/vlQhEQd/72" [17;20H[K[17;19H8L, 295C written
"test49.in" [17;13H[K[17;13H32L, 705C
function T1()
1 XloopNEXT
2 try
3[10CXloop 1[33C" X: 16 + 16*16
4[10Cthrow "arrgh"
5[10CXloop 2[33C" X: 0
6 finally
7[10CXloop 4[33C" X: 64 + 64*16
8 endtry
9 Xloop 8[37C" X: 0
endfunction[14;1H"/tmp/vlQhEQd/73"[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[14;19H[noeol] 12L, 364C
9 substitutions on 9 lines
Pattern not found: ^\s*$
"/tmp/vlQhEQd/73" [16;20H[K[16;19H9L, 323C written
"test49.in" [16;13H[K[16;13H32L, 705C
function T2()
1 try
2[10CXpath 4096[30C" X: 4096
3[10Ccall T1()
4[10CXpath 8192[30C" X: 0
5 finally
6[10CXpath 16384[29C" X: 16384
7 endtry
8 Xpath 32768[33C" X: 0
endfunction[15;1H"/tmp/vlQhEQd/74"[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[15;19H[noeol] 11L, 332C
8 substitutions on 8 lines
Pattern not found: ^\s*$
"/tmp/vlQhEQd/74" [17;20H[K[17;19H8L, 305C written
"test49.in" [17;13H[K[17;13H32L, 705C
*** Test 50: OK (363550045)
*** Test 51: OK (40744667)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim" [readonly] 9008L[20;1H, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/76[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[21;1H[K[21;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/76" [21;19H[K[21;19H2L, 41C appended[21;19H[K[21;19H3L, 63C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim" [readonly] 9008L[22;1H, 206669C
:!>/tmp/vlQhEQd/77[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/77"' -S /tmp/vlQhEQd/76[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/77" [24;19H[K[24;19H1L, 2C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/75" [24;19H[K[24;19H8L, 182C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/78[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/78" [24;19H[K[24;19H7L, 115C appended[24;19H[K[24;19H8L, 137C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/79[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/79"' -S /tmp/vlQhEQd/78[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/79" [24;19H[K[24;19H1L, 2C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/75" [24;19H[K[24;19H8L, 181C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/80[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/80" [24;19H[K[24;19H12L, 180C appended[24;19H[K[24;19H13L, 202C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/81[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/81"' -S /tmp/vlQhEQd/80[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/81" [24;19H[K[24;19H2L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/75" [24;19H[K[24;19H10L, 209C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/82[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/82" [24;19H[K[24;19H8L, 139C appended[24;19H[K[24;19H9L, 161C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/83[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/83"' -S /tmp/vlQhEQd/82[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/83" [24;19H[K[24;19H2L, 11C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/75" [24;19H[K[24;19H10L, 217C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/84[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/84" [24;19H[K[24;19H5L, 87C appended[24;19H[K[24;19H6L, 109C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/85[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir!
[23;80H>[24;1H/tmp/vlQhEQd/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/85"' -c 'breakadd file 4 /tmp/vlQhEQd
[23;80H/[24;1H84' -S /tmp/vlQhEQd/84[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/85" [24;19H[K[24;19H1L, 7C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/75" [24;19H[K[24;19H[noeol] 9L, 202C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/86[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/86" [24;19H[K[24;19H7L, 189C appended[24;19H[K[24;19H8L, 211C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/87[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/87"' -S /tmp/vlQhEQd/86[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/87" [24;19H[K[24;19H1L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/75" [24;19H[K[24;19H9L, 252C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/88[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/88" [24;19H[K[24;19H7L, 199C appended[24;19H[K[24;19H8L, 221C[24;19H[K[24;19H8L, 220C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/89[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/89"' -S /tmp/vlQhEQd/88[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/89" [24;19H[K[24;19H1L, 10C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/75" [24;19H[K[24;19H9L, 214C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 52: OK (1247112011)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/91[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/91" [24;19H[K[24;19H1L, 10C appended[24;19H[K[24;19H2L, 32C[24;19H[K[24;19H2L, 31C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/92[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/92"' -S /tmp/vlQhEQd/91[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/92" [24;19H[K[24;19H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/90" [24;19H[K[24;19H6L, 154C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/93[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/93" [24;19H[K[24;19H3L, 39C appended[24;19H[K[24;19H4L, 61C
3 substitutions on 3 lines
"/tmp/vlQhEQd/93" [24;20H[K[24;19H4L, 58C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/94[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/94"' -S /tmp/vlQhEQd/93[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/94" [24;19H[K[24;19H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/90" [24;19H[K[24;19H6L, 158C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/95[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/95" [24;19H[K[24;19H4L, 45C appended[24;19H[K[24;19H5L, 67C
4 substitutions on 4 lines
"/tmp/vlQhEQd/95" [24;20H[K[24;19H5L, 63C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/96[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/96"' -S /tmp/vlQhEQd/95[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/96" [24;19H[K[24;19H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/90" [24;19H[K[24;19H6L, 158C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/97[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/97" [24;19H[K[24;19H3L, 33C appended[24;19H[K[24;19H4L, 55C
3 substitutions on 3 lines
"/tmp/vlQhEQd/97" [24;20H[K[24;19H4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/98[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/98"' -S /tmp/vlQhEQd/97[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/98" [24;19H[K[24;19H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/90" [24;19H[K[24;19H6L, 158C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/99[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/99" [24;19H[K[24;19H5L, 65C appended[24;19H[K[24;19H6L, 87C
5 substitutions on 5 lines
"/tmp/vlQhEQd/99" [24;20H[K[24;19H6L, 82C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/100[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/100"' -S /tmp/vlQhEQd/99[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/100" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/90" [24;19H[K[24;19H6L, 158C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/101[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/101" [24;20H[K[24;20H1L, 9C appended[24;20H[K[24;20H2L, 31C[24;20H[K[24;20H2L, 30C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/102[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/102"' -S /tmp/vlQhEQd/101[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/102" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/90" [24;19H[K[24;19H6L, 153C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/103[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/103" [24;20H[K[24;20H3L, 38C appended[24;20H[K[24;20H4L, 60C
3 substitutions on 3 lines
"/tmp/vlQhEQd/103"[24;20H[K[24;20H4L, 57C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/104[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/104"' -S /tmp/vlQhEQd/103[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/104" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/90" [24;19H[K[24;19H6L, 157C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/105[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/105" [24;20H[K[24;20H4L, 44C appended[24;20H[K[24;20H5L, 66C
4 substitutions on 4 lines
"/tmp/vlQhEQd/105"[24;20H[K[24;20H5L, 62C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/106[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/106"' -S /tmp/vlQhEQd/105[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/106" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/90" [24;19H[K[24;19H6L, 157C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/107[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/107" [24;20H[K[24;20H3L, 32C appended[24;20H[K[24;20H4L, 54C
3 substitutions on 3 lines
"/tmp/vlQhEQd/107"[24;20H[K[24;20H4L, 51C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/108[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/108"' -S /tmp/vlQhEQd/107[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/108" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/90" [24;19H[K[24;19H6L, 157C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/109[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/109" [24;20H[K[24;20H5L, 64C appended[24;20H[K[24;20H6L, 86C
5 substitutions on 5 lines
"/tmp/vlQhEQd/109"[24;20H[K[24;20H6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/110[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/110"' -S /tmp/vlQhEQd/109[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/110" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/90" [24;19H[K[24;19H6L, 157C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/111[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/111" [24;20H[K[24;20H1L, 11C appended[24;20H[K[24;20H2L, 33C[24;20H[K[24;20H2L, 32C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/112[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/112"' -S /tmp/vlQhEQd/111[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/112" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/90" [24;19H[K[24;19H6L, 157C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/113[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/113" [24;20H[K[24;20H3L, 40C appended[24;20H[K[24;20H4L, 62C
3 substitutions on 3 lines
"/tmp/vlQhEQd/113"[24;20H[K[24;20H4L, 59C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/114[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/114"' -S /tmp/vlQhEQd/113[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/114" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/90" [24;19H[K[24;19H6L, 161C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/115[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/115" [24;20H[K[24;20H4L, 46C appended[24;20H[K[24;20H5L, 68C
4 substitutions on 4 lines
"/tmp/vlQhEQd/115"[24;20H[K[24;20H5L, 64C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/116[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/116"' -S /tmp/vlQhEQd/115[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/116" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/90" [24;19H[K[24;19H6L, 161C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/117[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/117" [24;20H[K[24;20H3L, 34C appended[24;20H[K[24;20H4L, 56C
3 substitutions on 3 lines
"/tmp/vlQhEQd/117"[24;20H[K[24;20H4L, 53C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/118[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/118"' -S /tmp/vlQhEQd/117[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/118" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/90" [24;19H[K[24;19H6L, 161C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/119[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/119" [24;20H[K[24;20H5L, 66C appended[24;20H[K[24;20H6L, 88C
5 substitutions on 5 lines
"/tmp/vlQhEQd/119"[24;20H[K[24;20H6L, 83C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/120[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/120"' -S /tmp/vlQhEQd/119[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/120" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/90" [24;19H[K[24;19H6L, 161C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/121[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/121" [24;20H[K[24;20H4L, 37C appended[24;20H[K[24;20H5L, 59C
4 substitutions on 4 lines
"/tmp/vlQhEQd/121"[24;20H[K[24;20H5L, 55C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/122[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/122"' -S /tmp/vlQhEQd/121[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/122" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/90" [24;19H[K[24;19H6L, 150C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/123[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/123" [24;20H[K[24;20H4L, 41C appended[24;20H[K[24;20H5L, 63C
4 substitutions on 4 lines
"/tmp/vlQhEQd/123"[24;20H[K[24;20H5L, 59C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/124[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vlQhEQd/124"' -S /tmp/vlQhEQd/123[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/124" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/90" [24;19H[K[24;19H6L, 159C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 53: OK (131071)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/126[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/126" [24;20H[K[24;20H1L, 13C appended[24;20H[K[24;20H2L, 35C[24;20H[K[24;20H2L, 34C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/127[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/127"' -S /tmp/vlQhEQd/126[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/127" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/125" [24;20H[K[24;20H6L, 164C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/128[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/128" [24;20H[K[24;20H3L, 36C appended[24;20H[K[24;20H4L, 58C
3 substitutions on 3 lines
"/tmp/vlQhEQd/128"[24;20H[K[24;20H4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/129[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/129"' -S /tmp/vlQhEQd/128[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/129" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/125" [24;20H[K[24;20H6L, 168C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/130[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/130" [24;20H[K[24;20H3L, 38C appended[24;20H[K[24;20H4L, 60C
3 substitutions on 3 lines
"/tmp/vlQhEQd/130"[24;20H[K[24;20H4L, 57C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/131[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/131"' -S /tmp/vlQhEQd/130[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/131" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/125" [24;20H[K[24;20H6L, 154C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/132[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/132" [24;20H[K[24;20H4L, 48C appended[24;20H[K[24;20H5L, 70C
4 substitutions on 4 lines
"/tmp/vlQhEQd/132"[24;20H[K[24;20H5L, 66C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/133[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/133"' -S /tmp/vlQhEQd/132[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/133" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/125" [24;20H[K[24;20H6L, 168C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/134[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/134" [24;20H[K[24;20H4L, 53C appended[24;20H[K[24;20H5L, 75C
4 substitutions on 4 lines
"/tmp/vlQhEQd/134"[24;20H[K[24;20H5L, 71C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/135[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/135"' -S /tmp/vlQhEQd/134[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/135" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/125" [24;20H[K[24;20H6L, 155C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/136[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/136" [24;20H[K[24;20H5L, 62C appended[24;20H[K[24;20H6L, 84C
5 substitutions on 5 lines
"/tmp/vlQhEQd/136"[24;20H[K[24;20H6L, 79C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/137[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/137"' -S /tmp/vlQhEQd/136[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/137" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/125" [24;20H[K[24;20H6L, 155C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/138[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/138" [24;20H[K[24;20H5L, 64C appended[24;20H[K[24;20H6L, 86C
5 substitutions on 5 lines
"/tmp/vlQhEQd/138"[24;20H[K[24;20H6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/139[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/139"' -S /tmp/vlQhEQd/138[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/139" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/125" [24;20H[K[24;20H6L, 154C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/140[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/140" [24;20H[K[24;20H3L, 36C appended[24;20H[K[24;20H4L, 58C
3 substitutions on 3 lines
"/tmp/vlQhEQd/140"[24;20H[K[24;20H4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/141[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/141"' -S /tmp/vlQhEQd/140[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/141" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/125" [24;20H[K[24;20H6L, 168C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/142[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/142" [24;20H[K[24;20H5L, 67C appended[24;20H[K[24;20H6L, 89C
5 substitutions on 5 lines
"/tmp/vlQhEQd/142"[24;20H[K[24;20H6L, 84C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/143[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/143"' -S /tmp/vlQhEQd/142[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/143" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/125" [24;20H[K[24;20H6L, 167C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/144[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/144" [24;20H[K[24;20H5L, 68C appended[24;20H[K[24;20H6L, 90C
5 substitutions on 5 lines
"/tmp/vlQhEQd/144"[24;20H[K[24;20H6L, 85C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/145[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/145"' -S /tmp/vlQhEQd/144[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/145" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/125" [24;20H[K[24;20H6L, 168C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/146[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/146" [24;20H[K[24;20H7L, 95C appended[24;20H[K[24;20H8L, 117C
7 substitutions on 7 lines
"/tmp/vlQhEQd/146"[24;20H[K[24;20H8L, 110C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/147[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/147"' -S /tmp/vlQhEQd/146[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/147" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/125" [24;20H[K[24;20H6L, 167C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 54: OK (2047)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/149[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/149" [24;20H[K[24;20H1L, 13C appended[24;20H[K[24;20H2L, 35C[24;20H[K[24;20H2L, 34C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/150[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/150"' -S /tmp/vlQhEQd/149[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/150" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/148" [24;20H[K[24;20H6L, 172C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/151[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/151" [24;20H[K[24;20H3L, 36C appended[24;20H[K[24;20H4L, 58C
3 substitutions on 3 lines
"/tmp/vlQhEQd/151"[24;20H[K[24;20H4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/152[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/152"' -S /tmp/vlQhEQd/151[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/152" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/148" [24;20H[K[24;20H6L, 176C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/153[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/153" [24;20H[K[24;20H4L, 48C appended[24;20H[K[24;20H5L, 70C
4 substitutions on 4 lines
"/tmp/vlQhEQd/153"[24;20H[K[24;20H5L, 66C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/154[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/154"' -S /tmp/vlQhEQd/153[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/154" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/148" [24;20H[K[24;20H6L, 176C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/155[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/155" [24;20H[K[24;20H3L, 36C appended[24;20H[K[24;20H4L, 58C
3 substitutions on 3 lines
"/tmp/vlQhEQd/155"[24;20H[K[24;20H4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/156[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/156"' -S /tmp/vlQhEQd/155[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/156" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/148" [24;20H[K[24;20H6L, 176C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/157[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/157" [24;20H[K[24;20H5L, 68C appended[24;20H[K[24;20H6L, 90C
5 substitutions on 5 lines
"/tmp/vlQhEQd/157"[24;20H[K[24;20H6L, 85C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/158[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/158"' -S /tmp/vlQhEQd/157[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/158" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/148" [24;20H[K[24;20H6L, 176C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/159[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/159" [24;20H[K[24;20H1L, 10C appended[24;20H[K[24;20H2L, 32C[24;20H[K[24;20H2L, 31C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/160[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/160"' -S /tmp/vlQhEQd/159[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/160" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/148" [24;20H[K[24;20H6L, 166C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/161[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/161" [24;20H[K[24;20H3L, 33C appended[24;20H[K[24;20H4L, 55C
3 substitutions on 3 lines
"/tmp/vlQhEQd/161"[24;20H[K[24;20H4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/162[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/162"' -S /tmp/vlQhEQd/161[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/162" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/148" [24;20H[K[24;20H6L, 170C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/163[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/163" [24;20H[K[24;20H4L, 45C appended[24;20H[K[24;20H5L, 67C
4 substitutions on 4 lines
"/tmp/vlQhEQd/163"[24;20H[K[24;20H5L, 63C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/164[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/164"' -S /tmp/vlQhEQd/163[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/164" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/148" [24;20H[K[24;20H6L, 170C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/165[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/165" [24;20H[K[24;20H3L, 33C appended[24;20H[K[24;20H4L, 55C
3 substitutions on 3 lines
"/tmp/vlQhEQd/165"[24;20H[K[24;20H4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/166[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/166"' -S /tmp/vlQhEQd/165[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/166" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/148" [24;20H[K[24;20H6L, 170C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/167[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/167" [24;20H[K[24;20H5L, 65C appended[24;20H[K[24;20H6L, 87C
5 substitutions on 5 lines
"/tmp/vlQhEQd/167"[24;20H[K[24;20H6L, 82C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/168[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/168"' -S /tmp/vlQhEQd/167[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/168" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/148" [24;20H[K[24;20H6L, 170C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 55: OK (1023)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/170[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/170" [24;20H[K[24;20H1L, 11C appended[24;20H[K[24;20H2L, 33C[24;20H[K[24;20H2L, 32C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/171[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/171"' -S /tmp/vlQhEQd/170[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/171" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/169" [24;20H[K[24;20H6L, 158C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/172[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/172" [24;20H[K[24;20H3L, 34C appended[24;20H[K[24;20H4L, 56C
3 substitutions on 3 lines
"/tmp/vlQhEQd/172"[24;20H[K[24;20H4L, 53C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/173[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/173"' -S /tmp/vlQhEQd/172[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/173" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/169" [24;20H[K[24;20H6L, 162C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/174[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/174" [24;20H[K[24;20H3L, 40C appended[24;20H[K[24;20H4L, 62C
3 substitutions on 3 lines
"/tmp/vlQhEQd/174"[24;20H[K[24;20H4L, 59C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/175[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/175"' -S /tmp/vlQhEQd/174[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/175" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/169" [24;20H[K[24;20H6L, 162C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/176[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/176" [24;20H[K[24;20H3L, 32C appended[24;20H[K[24;20H4L, 54C
3 substitutions on 3 lines
"/tmp/vlQhEQd/176"[24;20H[K[24;20H4L, 51C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/177[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/177"' -S /tmp/vlQhEQd/176[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/177" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/169" [24;20H[K[24;20H6L, 152C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/178[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/178" [24;20H[K[24;20H3L, 35C appended[24;20H[K[24;20H4L, 57C
3 substitutions on 3 lines
"/tmp/vlQhEQd/178"[24;20H[K[24;20H4L, 54C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/179[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/179"' -S /tmp/vlQhEQd/178[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/179" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/169" [24;20H[K[24;20H6L, 155C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/180[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/180" [24;20H[K[24;20H4L, 44C appended[24;20H[K[24;20H5L, 66C
4 substitutions on 4 lines
"/tmp/vlQhEQd/180"[24;20H[K[24;20H5L, 62C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/181[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/181"' -S /tmp/vlQhEQd/180[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/181" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/169" [24;20H[K[24;20H6L, 152C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/182[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/182" [24;20H[K[24;20H4L, 47C appended[24;20H[K[24;20H5L, 69C
4 substitutions on 4 lines
"/tmp/vlQhEQd/182"[24;20H[K[24;20H5L, 65C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/183[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/183"' -S /tmp/vlQhEQd/182[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/183" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/169" [24;20H[K[24;20H6L, 155C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/184[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/184" [24;20H[K[24;20H5L, 64C appended[24;20H[K[24;20H6L, 86C
5 substitutions on 5 lines
"/tmp/vlQhEQd/184"[24;20H[K[24;20H6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/185[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/185"' -S /tmp/vlQhEQd/184[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/185" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/169" [24;20H[K[24;20H6L, 152C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/186[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/186" [24;20H[K[24;20H5L, 67C appended[24;20H[K[24;20H6L, 89C
5 substitutions on 5 lines
"/tmp/vlQhEQd/186"[24;20H[K[24;20H6L, 84C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/187[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vlQhEQd/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vlQhEQd/187"' -S /tmp/vlQhEQd/186[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/187" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/169" [24;20H[K[24;20H6L, 155C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 56: OK (511)
function FuncException()
1 let g:exception = v:exception
endfunction[22;1H"/tmp/vlQhEQd/188" [22;20H[K[23;1H[K[24;4H[K[22;20H[noeol] 4L, 80C
Pattern not found: ^\s*$
"/tmp/vlQhEQd/188"[23;20H[K[23;20H1L, 36C written
"test49.in" [23;13H[K[23;13H32L, 705C
function FuncThrowpoint()
1 let g:throwpoint = v:throwpoint
endfunction[22;1H"/tmp/vlQhEQd/189" [22;20H[K[23;1H[K[24;4H[K[22;20H[noeol] 4L, 83C
Pattern not found: ^\s*$
"/tmp/vlQhEQd/189"[23;20H[K[23;20H1L, 38C written
"test49.in" [23;13H[K[23;13H32L, 705C
function T(arg, line)
1 if a:line == 2
2[10Cthrow a:arg[13C" in line 2
3 elseif a:line == 4
4[10Cthrow a:arg[13C" in line 4
5 elseif a:line == 6
6[10Cthrow a:arg[13C" in line 6
7 elseif a:line == 8
8[10Cthrow a:arg[13C" in line 8
9 endif
endfunction[14;1H"/tmp/vlQhEQd/190"[14;20H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[14;20H[noeol] 12L, 341C
9 substitutions on 9 lines
8 substitutions on 8 lines
Pattern not found: ^\s*$
"/tmp/vlQhEQd/190"[17;20H[K[17;20H9L, 292C written
"test49.in" [17;13H[K[17;13H32L, 705C
function G(arg, line)
1 call T(a:arg, a:line)
endfunction[18;1H"/tmp/vlQhEQd/191"[18;20H[K[19;1H[K[20;4H[K[18;20H[noeol] 4L, 69C
Pattern not found: ^\s*$
"/tmp/vlQhEQd/191"[19;20H[K[19;20H1L, 30C written
"test49.in" [19;13H[K[19;13H32L, 705C
function F(arg, line)
1 call G(a:arg, a:line)
endfunction[20;1H"/tmp/vlQhEQd/192"[20;20H[K[21;1H[K[22;4H[K[20;20H[noeol] 4L, 69C
Pattern not found: ^\s*$
"/tmp/vlQhEQd/192"[21;20H[K[21;20H1L, 30C written
"test49.in" [21;13H[K[21;13H32L, 705C
*** Test 57: OK (2147450880)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim" [readonly] 9008L[23;1H, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/193[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/193" [24;20H[K[24;20H87L, 1700C appended[24;20H[K[24;20H88L, 1722C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/194[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/194"' -c 'break
[23;80Ha[24;1Hdd func 4 T' -S /tmp/vlQhEQd/193[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/194" [24;20H[K[24;20H8L, 36C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 58: OK (624945)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/195[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/195" [24;20H[K[24;20H293L, 5789C appended[24;20H[K[24;20H294L, 5811C
3 substitutions on 3 lines
"/tmp/vlQhEQd/195"[24;20H[K[24;20H294L, 5808C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/196[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo
[23;80H'[24;2H-c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/196"' -c 'br
[23;80He[24;1Hakadd file 115 /tmp/vlQhEQd/195' -c 'breakadd file 225 /tmp/vlQhEQd/195' -S /tm
[23;80Hp[24;1H/vlQhEQd/195[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/196" 28L, 162C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 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"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/197[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/197" [24;20H[K[24;20H33L, 765C appended[24;20H[K[24;20H34L, 787C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/198[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/198"' -c 'break
[23;80Ha[24;1Hdd file 7 /tmp/vlQhEQd/197' -S /tmp/vlQhEQd/197[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/198" [24;20H[K[24;20H3L, 27C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 60: OK (311511339)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/199[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/199" [24;20H[K[24;20H115L, 2272C appended[24;20H[K[24;20H116L, 2294C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/200[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vimin
[23;80Hf[24;1Ho+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/
[23;80H2[24;1H00"' -c 'breakadd file 8 /tmp/vlQhEQd/199' -c 'breakadd file 36 /tmp/vlQhEQd/19
[23;80H9[24;1H' -c 'breakadd file 40 /tmp/vlQhEQd/199' -c 'breakadd file 69 /tmp/vlQhEQd/199'
-c 'breakadd file 95 /tmp/vlQhEQd/199' -c 'breakadd file 97 /tmp/vlQhEQd/199' -
[23;80HS[24;2H/tmp/vlQhEQd/199[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"[13C200" 14L, 81C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 61: OK (374889517)
function F()
1 while 1
2 " Missing :endwhile
endfunction[21;1H"/tmp/vlQhEQd/201"[22;1H[K[23;1H[K[24;4H[K[21;20H[noeol] 5L, 73C
Pattern not found: ^\s*$
"/tmp/vlQhEQd/201"[22;20H[K[22;20H2L, 40C written
"test49.in" [22;13H[K[22;13H32L, 705C
*** Test 62: OK (286331153)
"/i/m/p/o/s/s/i/b/l/e" [23;24H[K[24;1H[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-gtk/test[m
[23;80H[1m[37m[41md[24;1Hir/test49.vim:[m
[33mline 5500:[m
[1m[37m[41m"/i/m/p/o/s/s/i/b/l/e" E212: Can't open file for writing[m
*** Test 63: OK (236978127)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/202[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/202" [24;20H[K[24;20H149L, 2828C appended[24;20H[K[24;20H150L, 2850C
6 substitutions on 6 lines
"/tmp/vlQhEQd/202"[24;20H[K[24;20H150L, 2844C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/203[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/203"' -c 'break
[23;80Ha[24;1Hdd file 63 /tmp/vlQhEQd/202' -S /tmp/vlQhEQd/202[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/203" [24;20H[K[24;20H16L, 97C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 64: OK (1499645335)
*** Test 65: OK (70187)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/204[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/204" [24;20H[K[24;20H78L, 1520C appended[24;20H[K[24;20H79L, 1542C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/205[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/205"' -c 'break
[23;80Ha[24;1Hdd func 8 F' -S /tmp/vlQhEQd/204[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/205" [24;20H[K[24;20H6L, 22C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 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/vlQhEQd/206" [New File]
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vlQhEQd/207" [New File]
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 74: OK (224907669)
*** Test 75: OK (2000403408)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/208[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/208" [24;20H[K[24;20H253L, 6369C appended[24;20H[K[24;20H254L, 6391C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/209[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|
[23;80Hs[24;1Het viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp
[23;80H/[24;1HvlQhEQd/209"' -c 'breakadd func 2 INT' -S /tmp/vlQhEQd/208[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/209" [24;20H[K[24;20H28L, 167C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 76: OK (1610087935)
[1m[37m[41mError detected while processing function ERR:[m
[33mline 2:[m
[1m[37m[41mE492: Not an editor command: asdf[m
[1m[37m[41mE492: Not an editor command: asdf[m
[1m[37m[41mE492: Not an editor command: asdf[m
*** Test 77: OK (1388671)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/210[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/210" [24;20H[K[24;20H161L, 4543C appended[24;20H[K[24;20H162L, 4565C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/211[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/211"' -S /tmp/vlQh
[23;80HE[24;1HQd/210[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/211" 1L, 10C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 78: OK (134217728)
[1m[37m[41mError detected while processing function NEXT:[m
[33mline 1:[m
[1m[37m[41mE121: Undefined variable: novar[m
[1m[37m[41mE15: Invalid expression: novar | Xloop 1[m
[1m[37m[41mE121: Undefined variable: novar[m
[1m[37m[41mE488: Trailing characters[m
[1m[37m[41mE108: No such variable: "novar"[m
[1m[37m[41mE488: Trailing characters[m
[1m[37m[41mE121: Undefined variable: novar[m
[1m[37m[41mE15: Invalid expression: novar[m
[1m[37m[41mE475: Invalid argument: {novar} | Xloop 1[m
[1m[37m[41mE121: Undefined variable: novar[m
[1m[37m[41mE15: Invalid expression: novar[m
[1m[37m[41mE475: Invalid argument: { novar} | Xloop 1[m
*** Test 79: OK (70288929)
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-gtk/test[m
[23;80H[1m[37m[41md[24;1Hir/test49.vim:[m
[33mline 7985:[m
[1m[37m[41mE584: :elseif after :else: elseif 1 ||| 2[m
[33mline 7995:[m
[1m[37m[41mE584: :elseif after :else: elseif 1 ||| 2[m
[33mline 8003:[m
[1m[37m[41mE582: :elseif without :if: elseif 1 ||| 2[m
[33mline 8011:[m
[1m[37m[41mE582: :elseif without :if: elseif 1 ||| 2[m
*** Test 80: OK (17895765)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/212[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/212" [24;20H[K[24;20H15L, 272C appended[24;20H[K[24;20H16L, 294C[24;20H[K[24;20H16L, 293C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/213[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/213"' -S /tmp/vlQh
[23;80HE[24;1HQd/212[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/213" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/214[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/214" [24;20H[K[24;20H12L, 227C appended[24;20H[K[24;20H13L, 249C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/215[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/215"' -c 'break
[23;80Ha[24;1Hdd file 8 /tmp/vlQhEQd/214' -S /tmp/vlQhEQd/214[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/215" [24;20H[K[24;20H2L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 81: OK (387)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/216[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/216" [24;20H[K[24;20H20L, 417C appended[24;20H[K[24;20H21L, 439C[24;20H[K[24;20H21L, 438C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/217[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/217"' -S /tmp/vlQh
[23;80HE[24;1HQd/216[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/217" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/218[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/218" [24;20H[K[24;20H24L, 480C appended[24;20H[K[24;20H25L, 502C[24;20H[K[24;20H25L, 501C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/219[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/219"' -S /tmp/vlQh
[23;80HE[24;1HQd/218[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/219" 1L, 4C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/220[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/220" [24;20H[K[24;20H17L, 390C appended[24;20H[K[24;20H18L, 412C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/221[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/221"' -c 'break
[23;80Ha[24;1Hdd file 7 /tmp/vlQhEQd/220' -S /tmp/vlQhEQd/220[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/221" [24;20H[K[24;20H1L, 6C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/222[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/222" [24;20H[K[24;20H21L, 444C appended[24;20H[K[24;20H22L, 466C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/223[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/223"' -c 'break
[23;80Ha[24;1Hdd func 6 I' -S /tmp/vlQhEQd/222[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/223" [24;20H[K[24;20H1L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 82: OK (8454401)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/224[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/224" [24;20H[K[24;20H17L, 307C appended[24;20H[K[24;20H18L, 329C[24;20H[K[24;20H18L, 328C written
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/225[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/225"' -S /tmp/vlQh
[23;80HE[24;1HQd/224[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/225" 3L, 7C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/226[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/226" [24;20H[K[24;20H14L, 266C appended[24;20H[K[24;20H15L, 288C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/227[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/227"' -c 'break
[23;80Ha[24;1Hdd file 8 /tmp/vlQhEQd/226' -S /tmp/vlQhEQd/226[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/227" [24;20H[K[24;20H3L, 13C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 83: OK (2835)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/228[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/228" [24;20H[K[24;20H154L, 3580C appended[24;20H[K[24;20H155L, 3602C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/229[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo
[23;80H'[24;2H-c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/229"' -c 'br
[23;80He[24;1Hakadd func 1 INT' -S /tmp/vlQhEQd/228[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/229" [24;20H[K[24;20H18L, 118C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 84: OK (934782101)
TMP
"/tmp/vlQhEQd/230" [noeol] 2L, 6C[24;1H[K[24;1H/
"test49.in" 32L, 705C
"/n/o/n/e/x/i/s/t/e/n/t"
"/tmp/vlQhEQd/232" 1L, 1C
"test49.in" [24;13H[K[24;13H32L, 705C
:!echo XYZ >/tmp/vlQhEQd/233[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/234" [New File]
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 85: OK (198689)
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-gtk/test[m
[23;80H[1m[37m[41md[24;1Hir/test49.vim:[m
[33mline 8769:[m
[1m[37m[41mE123: Undefined function: F[m
Make_all.mak
"Make_all.mak" line 1 of 207 --0%-- col 1
[33mline 8772:[m
[1m[37m[41mE926: Current location list was changed[m
[33mline 8773:[m
[1m[37m[41mE193: :endfunction not inside a function[m
[1m[37m[41mError detected while processing function ExecAsScript[2]..MakeScript:[m
[33mline 3:[m
[1m[37m[41mE123: Undefined function: F[m
"/tmp/vlQhEQd/235" [1m[37m[41mc[m[24;20H[K[24;20H[noeol] 4L, 109C
[31msearch hit BOTTOM, continuing at TOP[m
[33mline 10:[m[24;11H[K[24;1H
[1m[37m[41mE486: Pattern not found: .*F(.*)[m
[31msearch hit BOTTOM, continuing at TOP[m
[33mline 11:[m[24;11H[K[24;1H
[1m[37m[41mE486: Pattern not found: ^\d*\s*endfunction\>[m
4 substitutions on 4 lines
"/tmp/vlQhEQd/235"[24;20H[K[24;20H3L, 109C written
"Make_all.mak" [24;16H[K[24;16H207L, 3846C
[1m[37m[41mError detected while processing /tmp/vlQhEQd/235:[m
[33mline 1:[m
[1m[37m[41mE492: Not an editor command: Error detected while processing function ExecAsScr[m
[23;80H[1m[37m[41mi[24;1Hpt[2]..MakeScript:[m
[33mline 2:[m
[1m[37m[41mE492: Not an editor command: line 3:[m
[33mline 3:[m
[1m[37m[41mE492: Not an editor command: E123: Undefined function: F[m
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-gtk/test[m
[23;80H[1m[37m[41md[24;1Hir/test49.vim:[m
[33mline 8779:[m
[1m[37m[41mE130: Unknown function: F[m
*** Test 86: OK (0)
5
*** Test 87: OK (0)
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vlQhEQd/0' >/tmp/vlQhEQd/236[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vlQhEQd/236" [24;20H[K[24;20H151L, 3929C appended[24;20H[K[24;20H152L, 3951C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vlQhEQd/237[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nvimi
[23;80Hn[24;1Hfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vlQhEQd/237"' -c
[23;80H'[24;1Hbreakadd func 5 ThrowOnInterrupt' -S /tmp/vlQhEQd/236[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vlQhEQd/237" [24;20H[K[24;20H16L, 281C
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/test49.vim"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk/testdir/test49.vim" [readonly] 9008L, 206669C
"Make_all.mak" [24;16H[K[24;16H207L, 3846C
*** Test 88: OK (50443995)
[32mPress ENTER or type command to continue[m[24;1H[K[24;1H:[?12l[?25h" Go back to this file and append the results from register r.
[?25l[27m[23m[m[H[2J[1;1H#
# 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 = \[9;9Htest1.out
# Tests that run on all systems.
SCRIPTS_ALL = \[13;9Htest3.out \[14;9Htest4.out \[15;9Htest5.out \[16;9Htest7.out \[17;9Htest8.out \[18;9Htest9.out \[19;9Htest14.out \[20;9Htest15.out \[21;9Htest19.out \[22;9Htest20.out \[23;9Htest22.out \[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hbuf test49.in
[?25l"test49.in" [24;13H[K[24;13H32L, 705C[1;1H:so test49.vim
:" Go back to this file and append the results from register r.
:buf test49.in
G"rp:/^Results/,$w! test.out
:"[5;3H[K[6;1H:" make valgrind happy
:redir => funclis[7;20H[K[8;1H:silent func[8;13H[K[9;1H:redir END[9;11H[K[10;1H:for line in split(funclist, "\n")
: let name = matchstr(line, 'function \zs[A-Z]\w*\ze(')
: if name != ''
: exe "delfunc " . name
: endif[14;9H[K[15;1H:endfor[15;9H[K[16;1H:for v in keys(g:)[16;19H[K[17;1H: silent! exe "unlet " . v
:endfor[18;9H[K[19;1H:unlet v[19;9H[K[20;1H:qa![20;9H[K[21;1HENDTEST[21;9H[K[22;9H[K[23;1HResults of test49.vim:[22;1H[?12l[?25h
[?25l
83 more lines[24;14H[K[1;23r[23;1H
[1;24r[23;1H*** Test 16: OK (8722)[24;1H[K[24;1H83 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^Results/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New] 84L, 2484C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make valgrind happy
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir => funclist
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsilent func
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[5L[?25l[1;1H:" Go back to this file and append the results from register r.
:buf test49.in
G"rp:/^Results/,$w! test.out
:"
:" make valgrind happy[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hfor v in keys(g:)
[?25l
: [?12l[?25h: silent! exe "unlet " . v
[?25l: [?12l[?25h:endfor
[1;1H[2L[?25l[1;1H:" Go back to this file and append the results from register r.
:buf test49.in[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet v
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test97.in" 23 lines, 484 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest whether glob()/globpath() return correct results with certain escaped[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 377 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make sure glob() doesn't use the shell
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset shell=doesnotexist
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" consistent sorting of file names
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nofileignorecase
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =glob('Xxx\{')
[?25l[2;1H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =glob('Xxx\$')
[?25l[3;1H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xxx{
[?25l
Cannot execute shell doesnotexist
[m
E79: Cannot expand wildcards
"Xxx{" [New File] 3 lines, 3 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! Xxx\$
[?25l"Xxx$" [24;8H[K[24;8H[New File] 3 lines, 3 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =glob('Xxx\{')
[?25l[27m[23m[m[H[2J[4;1HXxx{
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [4;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h$put =glob('Xxx\$')
[?25l[5;1HXxx$[5;5H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(globpath('sautest/autoload', '*.vim'))
[?25l[6;1H'sautest/autoload/Test104.vim[6;30H[K[7;1Hsautest/autoload/footest.vim'[7;30H[K[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(globpath('sautest/autoload', '*.vim', 0, 1))
[?25l[8;1H['sautest/autoload/Test104.vim', 'sautest/autoload/footest.vim'][8;65H[K[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" [New File] 8 lines, 138 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_listlbr_utf8.in" 134 lines, 4027 characters[1;1HTest for linebreak and list option in utf-8 mode
STARTTEST
:so small.vim
:if !exists("+linebreak") || !has("conceal") || !has("signs") | e! test.ok | w! [6;1Htest.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)
:[7Clet c=''
:[7Cfor j in range(1,a:lines)
:[11Cfor i in range(1,a:width)
:[15Clet c.=nr2char(screenchar(j, i))
:[11Cendfor
:[11Clet c.="\n"
:[7Cendfor
:[7Creturn c
:endfu[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for linebreak and list option in utf-8 mode[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 129 lines, 3948 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:set list nolinebreak cc=3
:sign define foo text=[34m^V[muff0b
: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[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !exists("+linebreak") || !has("conceal") || !has("signs") | e! test.ok | w!
test.out | qa! | endif
[?25l[1;1H[L[1;1H:set list nolinebreak cc=3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hso mbyte.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf8
[?25l[27m[23m[m[H[2J[1;1H:set list nolinebreak cc=3
:sign define foo text=[34m^V[muff0b
: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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h10new|:vsp|:vert resize 20
[?25l[1;1H [7m|[2;21H|[3;21H|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [m[1;23H[K[2;22H[1m[34m~ [3;22H~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [m[12;2Hcall DoRecordScreen()[12;23H[K[13;2H" 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!")[15;57H[K[16;2Helse[16;6H[K[17;2H call append('$', "Screen attributes are the same!")
:endif[18;7H[K[19;2H%w! test.out
:qa[20;6H[K[21;1HENDTEST
dummy text
[7mtest_listlbr_utf8.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"
[?25l[2;1H abcdef hijkl
mn pqrstuvwxyz 1060
ABCDEFGHIJKLMNOP [11;11H[1m[7m[+][m[2;22H abcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP [2;79H[K[11;32H[7m[+][2;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H abcdef hijkl
mn pqrstuvwxyz 1060
ABCDEFGHIJKLMNOP
[1m[34m~
~
~
~
~
~ [m
[1m[34m~ [m[24;1H[K[1;9H[?12l[?25h[?25l[24;1H:[?12l[?25hset ts=4 sw=4 sts=4 linebreak sbr=+ wrap
[?25l[1;5Habcdef
[1m[34m+[mhijklmn
[1m[34m+[mpqrstuvwxyz 1060ABC
[1m[34m+[mDEFGHIJKLMNOP [2;26Habcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP [2;75H[K[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfu! ScreenChar(width, lines)
[?25l
: [?12l[?25h:[34m^I[mlet c=''
[?25l: [?12l[?25h:[34m^I[mfor j in range(1,a:lines)
[?25l: [?12l[?25h:[34m^I[m for i in range(1,a:width)
[?25l: [?12l[?25h:[34m^I[m [34m^I[mlet c.=nr2char(screenchar(j, i))
[?25l: [?12l[?25h:[34m^I[m endfor
[?25l: [?12l[?25h: let c.="\n"
[?25l: [?12l[?25h:[34m^I[mendfor
[?25l: [?12l[?25h:[34m^I[mreturn c
[?25l: [?12l[?25h:endfu
[1;1H[9L[?25l[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz 1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[m[5;1H[1m[34m~
~
~
~
~ [m[2;26Habcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hfu! DoRecordScreen()
[?25l
: [?12l[?25h:[34m^I[mwincmd l
[?25l: [?12l[?25h:[34m^I[m$put =printf(\"\n%s\", g:test)
[?25l: [?12l[?25h:[34m^I[m$put =g:line
[?25l: [?12l[?25h:[34m^I[mwincmd p
[?25l: [?12l[?25h:endfu
[1;1H[5L[?25l[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz 1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[m
[1m[34m~ [m[2;26Habcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 1: set linebreak + set list + fancy listchars"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eo
[23;80Hl[24;1H:\ub6"
[?25l[1;1H[L[1;1H[34m▕[1;2H—[1;3H—[1;4H—[m[1;5Habcdef[10C[7m|[m[2;9H[34m▕[2;10H—[2;11H—[2;12H—[3;13H␣[4;15Hˑ[m[1m[34m¶[m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H[34m▕[1;2H—[1;3H—[1;4H—[m[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[34m▕[2;10H—[2;11H—[2;12H—[m[2;21H[7m|[m
[1m[34m+[mpqrstuvwxyz[34m␣[m1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP[34mˑ[m[1m[34m¶[m[4;21H[7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26Habcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [1;5H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[5;1H[1m[34m¶[m[5;2H
Test 1: set
[1m[34m+[mlinebreak + set
[1m[34m+[mlist + fancy
[1m[34m+[mlistchars[1m[34m¶[m[9;12H
▕[10;2H—[10;3H—[10;4H—[10;5Habcdef[34mˑˑˑˑˑˑˑˑˑˑ[m
[1m[34m@ [m[3;22H[K[4;22HTest 1: set linebreak + set list + fancy listchars[4;72H[K[5;22H▕[5;23H—[5;24H—[5;25H—[5;26Habcdef [5;42H[K[6;22H+hijklmn▕[6;31H—[6;32H—[6;33H—[6;34H [6;42H[K[7;22H+pqrstuvwxyz␣1060ABC[7;42H[K[8;22H+DEFGHIJKLMNOPˑ¶[8;38H [8;42H[K[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 2: set nolinebreak list"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset list nolinebreak
[?25l[1;12Hhijklmn[34m▕[1;20H—[m[2;2Hpqrstuvwxyz[34m␣[m1060ABC[3;2HDEFGHIJKLMNOP[34mˑ[m[1m[34m¶[m[3;17H
[1m[34m¶[m[4;2H
Test 1: set linebrea
[1m[34m+[mk + set list + fanc[7;2Hy listchars[1m[34m¶[m[7;14H
▕[8;2H—[8;3H—[8;4H—[8;5Habcdef[34mˑˑˑˑˑˑˑˑˑˑ[m[9;2H[1m[34m¶[m[9;3H
+hijklmn▕[10;10H—[10;11H—[10;12H—[10;13H[34mˑˑˑˑˑˑˑˑ[m
[1m[34m@ [1;5H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H[34m▕[1;2H—[1;3H—[1;4H—[m[1;5Habcdef hijklmn[34m▕[1;20H—[m[1;21H[7m|[m
[1m[34m+[mpqrstuvwxyz[34m␣[m1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP[34mˑ[m[1m[34m¶[m[3;21H[7m|[m
[1m[34m¶[m[4;21H[7m|[m
Test 1: set linebrea[7m|[m
[1m[34m+[mk + set list + fanc[7m|[m
[1m[34m+[my listchars[1m[34m¶[m[7;21H[7m|[m
▕[8;2H—[8;3H—[8;4H—[8;5Habcdef[34mˑˑˑˑˑˑˑˑˑˑ[m[7m|[m
[1m[34m+¶[m[9;21H[7m|[m
+hijklmn▕[10;10H—[10;11H—[10;12H—[10;13H[34mˑˑˑˑˑˑˑˑ[m[7m|[m
[1m[34m@ [m
[1m[7m[No Name] [+] [m[2;26Habcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP[4;22HTest 1: set linebreak + set list + fancy listchars[5;22H▕[5;23H—[5;24H—[5;25H—[5;26Habcdef[6;22H+hijklmn▕[6;31H—[6;32H—[6;33H—[7;22H+pqrstuvwxyz␣1060ABC[8;22H+DEFGHIJKLMNOPˑ¶[9;22H[1m[34m~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [m[10;1H+hijklmn▕[10;10H—[10;11H—[10;12H—[10;13H[34mˑˑˑˑˑˑˑˑ[m
[1m[34m@ [1;5H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[1;22H▕[1;23H—[1;24H—[1;25H—[1;26Habcdef [2;22H+hijklmn▕[2;31H—[2;32H—[2;33H—[2;34H [3;22H+pqrstuvwxyz␣1060ABC [4;22H+DEFGHIJKLMNOPˑ¶[4;38H [5;22H[1m[34m~ [6;22H~ [m[7;22H [8;22H [9;22H [10;22H [5;22H[K[6;22HTest 2: set nolinebreak list[6;50H[K[7;22H▕[7;23H—[7;24H—[7;25H—[7;26Habcdef hijklmn▕[7;41H—[8;22H+pqrstuvwxyz␣1060ABC[9;22H+DEFGHIJKLMNOPˑ¶[10;22H¶[24;1H[K[24;1H4 more lines[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 3: set linebreak nolist"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\t*mask = nil;\"
[?25l[1;1H▕[1;2H—[1;3H—[1;4H—[1;19H▕[1;20H—[2;2H[1m[34m¶[m[2;3H
+pqrstuvwxyz␣1060ABC
[1m[34m+¶[m[5;1H+DEFGHIJKLMNOPˑ¶[5;17H[34mˑˑˑˑ[m[6;2H[1m[34m¶[m[6;4H
¶[7;2H[34mˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[m
[1m[34m+¶[m[8;3H
[34m▕[9;2H—[9;3H—[9;4H—[m[9;5H*mask = nil;[1m[34m¶[10;1H~ [9;5H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$
[?25l[9;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H[34m▕[1;2H—[1;3H—[1;4H—[m[1;5H*mask = nil;[1m[34m¶[m[1;18H
[1m[34m~ [m
[3;1H[1m[34m~
~
~
~
~
~
~
~ [m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hset nolist linebreak
[?25l[1;1H [12C
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;5H*mask = nil; [7m|[2;21H|[3;21H|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[1;22H▕[1;23H—[1;24H—[1;25H—[1;26Habcdef[2;22H+hijklmn▕[2;31H—[2;32H—[2;33H—[3;22H+pqrstuvwxyz␣1060ABC[4;22H+DEFGHIJKLMNOPˑ¶[6;22HTest 2: set nolinebreak list[7;22H▕[7;23H—[7;24H—[7;25H—[7;26Habcdef hijklmn▕[7;41H—[8;22H+pqrstuvwxyz␣1060ABC[9;22H+DEFGHIJKLMNOPˑ¶[10;22H¶[11;22H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [1;5H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[2;1H
Test 3: set
[1m[34m+[mlinebreak nolist
*mask = nil;
~
~
~ [1;22H+pqrstuvwxyz␣1060ABC [2;22H+DEFGHIJKLMNOPˑ¶[2;38H [3;22H¶[3;23H [4;22H [5;22H [6;22H [7;22H [8;22H [9;22H [10;22H [4;26H*mask = nil;[6;22HTest 3: set linebreak nolist[7;26H*mask = nil;[8;22H~[9;22H~[10;22H~[24;1H[K[24;1H4 more lines[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 4: set linebreak list listchars and concealing"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet c_defines=['#define ABCDE[34m^I^I[m1','#define ABCDEF[34m^I^I[m1','#define ABCDEFG[34m^I^I[m
[23;80H1[24;1H','#define ABCDEFGH[34m^I[m1', '#define MSG_MODE_FILE[34m^I^I^I[m1','#define MSG_MODE_CONSO
[23;80HL[24;1HE[34m^I^I[m2','#define MSG_MODE_FILE_AND_CONSOLE[34m^I[m3','#define MSG_MODE_FILE_THEN_CONS
[23;80HO[24;1HLE[34m^I[m4']
[?25l[1;1H[3L[1;5H*mask = nil; [7m|[2;21H|[m
Test 3: set[9C[7m|[m[1;22H+pqrstuvwxyz␣1060ABC[2;22H+DEFGHIJKLMNOPˑ¶[3;22H¶[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hcall append('$', c_defines)
[?25l[9;1H#define
[1m[34m+[mABCDE 1 [1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hvert resize 40
[?25l[1;21H [7m|[m[2;21H [7m|[m[3;13Hlinebreak nolist[12C[7m|[m
*mask = nil; [7m|[m
~ [19C[7m|[m[6;21H [7m|[m[7;21H [7m|[m
#define ABCDE[7C1 [18C[7m|[m[9;9HABCDEF 1 [18C[7m|[m
#define ABCDEFG 1 [18C[7m|[m[11;22H[1m[7m [m[1;42H+pqrstuvwxyz␣1060ABC[2;42H+DEFGHIJKLMNOPˑ¶[3;42H¶[4;46H*mask = nil;[6;42HTest 3: set linebreak nolist[7;46H*mask = nil;[8;42H~[9;42H~[10;42H~[11;42H[7m[No Name] [+][1;5H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$-7
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H#define ABCDE 1
#define ABCDEF 1
#define ABCDEFG 1
[4;1H#define ABCDEFGH 1
#define MSG_MODE_FILE[11C1
#define MSG_MODE_CONSOLE[8C2
#define MSG_MODE_FILE_AND_CONSOLE 3
#define MSG_MODE_FILE_THEN_CONSOLE 4
[1m[34m~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset list linebreak listchars=tab:>- cole=1
[?25l[1;14H[34m>-->---[2;15H>->---[3;16H>>---[4;17H>---[5;22H>-->--->---[6;25H>--->---[7;34H>--[8;35H>-[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsyn match Conceal conceal cchar=>'AB\|MSG_MODE'
[?25l[1;9H[37m[40mAB[2;9H>[mCDEF[34m>-[m[3;9H[37m[40m>[mCDEFG[34m>-[m[4;9H[37m[40m>[mCDEFGH[34m>-[m[5;9H[37m[40m>[m_FILE[34m>-------[m[6;9H[37m[40m>[m_CONSOLE[34m>-------[m[7;9H[37m[40m>[m_FILE_AND_CONSOLE[34m>-------[m[8;9H[37m[40m>[m_FILE_THEN_CONSOLE[34m>-------[m[1;59H[37m[40mAB[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H#define [37m[40mAB[mCDE[34m>-->---[m1[19C[7m|[m
#define [37m[40m>[mCDEF[34m>-->---[m1[19C[7m|[m
#define [37m[40m>[mCDEFG[34m>->---[m1[19C[7m|[m
#define [37m[40m>[mCDEFGH[34m>----[m1[19C[7m|[m
#define [37m[40m>[m_FILE[34m>--------->--->---[m1[7C[7m|[m
#define [37m[40m>[m_CONSOLE[34m>---------->---[m2[7C[7m|[m
#define [37m[40m>[m_FILE_AND_CONSOLE[34m>---------[m3 [7m|[m
#define [37m[40m>[m_FILE_THEN_CONSOLE[34m>--------[m4 [7m|[9;41H|[10;41H|[m[9;1H[1m[34m~
~ [m
[1m[7m[No Name] [+] [m[1;42H+pqrstuvwxyz␣1060[37m[40mAB[mC[2;42H+DEFGHIJKLMNOPˑ¶[3;42H¶[4;46H*mask = nil;[6;42HTest 3: set linebreak nolist[7;46H*mask = nil;[8;42H~[9;42H~[10;42H~[11;42H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),7)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l[1;9H[37m[40m>[mCDE[34m>-[m[24;1H7 more lines[24;13H[K[9;1H
Test 4: set linebreak list listchars
[1m[34m@ [m[1;42H#define >CDEFG>->---1[2;42H[1m[34m+[m [2;44H[K[3;42H#define >CDEFGH>----1[4;42H[1m[34m+[m[4;46H[K[5;42H#define >_FILE>--------->--->---1[6;42H[1m[34m+[m [6;44H[K[7;42H#define >_CONSOLE>---------->---2[8;42H[1m[34m+[m[9;42H#define >_FILE_AND_CONSOLE>---------3[10;42H[1m[34m+[m[1;9H[37m[40mAB[mCDE[34m>
[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 5: set linebreak list listchars and concealing part2"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet c_defines=['bbeeeeee[34m^I^I[m;[34m^I[msome text']
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', c_defines)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$
[?25l[1;1H[1m[34m@ [m
[1;1HTest 4: set linebreak list listchars
[1m[34m+[mand concealing
#define [37m[40m>[mCDE>-->---1
#define >CDEF>-->---1
#define >CDEFG>->---1
#define >CDEFGH>----1
#define >_FILE>--------->--->---1
#define >_CONSOLE>---------->---2
#define >_FILE_AND_CONSOLE>---------3
bbeeeeee[34m>--->---[m;[34m>--[msome text[24;1H[K[10;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnorm! zt
[?25l[1;1Hbbeeeeee[34m>--->---[m;[34m>--[msome text
[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset nowrap ts=2 list linebreak listchars=tab:>- cole=2 concealcursor=n
[?25l[1;11H[34m>[m[1C;[34m>[msome text [1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn clear
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn match meaning /;\s*\zs.*/
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn match hasword /^\x\{8}/ contains=word
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn match word /\<\x\{8}\>/ contains=beginword,endword contained
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn match beginword /\<\x\x/ contained conceal
[?25l[1;1Heeeeee[34m>--[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsyn match endword /\x\{6}\>/ contained
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi meaning guibg=blue
[?25l[1;15Hsome text[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi beginword guibg=green
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi endword guibg=red
[?25l[1;1Heeeeee[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1Heeeeee[34m>--->-[m;[34m>[msome text[17C[7m|[2;41H|[3;41H|[4;41H|[5;41H|[6;41H|[7;41H|[8;41H|[9;41H|[10;41H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[1;42H#define >CDEFG>->---1[2;42H[1m[34m+[m[3;42H#define >CDEFGH>----1[4;42H[1m[34m+[m[5;42H#define >_FILE>--------->--->---1[6;42H[1m[34m+[m[7;42H#define >_CONSOLE>---------->---2[8;42H[1m[34m+[m[9;42H#define >_FILE_AND_CONSOLE>---------3[10;42H[1m[34m+[m[11;42H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),1)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l[2;1H
Test 5: set linebreak list listchars and
eeeeee>--->-;>some text [1;42H#define >_CONSOLE>---------->---2 [2;42H[1m[34m+[m [3;42H#define >_FILE_AND_CONSOLE>---------3 [4;42H[1m[34m+[m [5;42H [6;42H [7;42H [8;42H [9;42H [10;42H [5;42Hbbeeeeee ; some text[7;42HTest 5: set linebreak list listchars an[8;42H[1m[34m+[md concealing part2[9;42Heeeeee>--->-;>some text [10;42H[1m[34m+[m [24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 6: Screenattributes for comment"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[5;1HTest 6: Screenattributes for comment [5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', ' /*[34m^I^I[m and some more */')
[?25l[6;1H /*[34m>>-[m and some more */ [5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe "set ft=c ts=7 linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail
[23;80H:[24;1H\u02d1,eol:\ub6"
[?25l[1;1H[L[1;1Heeeeee[34m▕[1;8H—[1;9H—[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[1;15H▕[1;16H—[1;17H—[1;18H—[1;19H—[1;20H—[1;21H—[m[1;22H;[34m▕[1;24H—[1;25H—[1;26H—[1;27H—[1;28H—[m[1;29Hsome text[1m[34m¶[m[1;41H[7m|[m
[1m[34m¶[m[4;24H[34mˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[m[5;37H[1m[34m¶[m[6;4H[34m▕[6;5H—[6;6H—[6;7H—[6;8H▕[6;9H—[6;10H—[6;11H—[6;12H—[6;13H—[6;14H—[m[6;15H and some more */[1m[34m¶[m[1;42H#define >_CONSOLE>---------->---2[5;54H ; some text[24;1H[K[5;1H[?12l[?25h[?25l[24;1H:[?12l[?25hsyntax on
[?25l[1;1Hbbeeeeee[34m▕[m[1;29Hsome text[3;6H[31m5[m[4;14H>some text[5;6H[31m6[m[19C[33mfor[m
[34m/*[11C and some more */[m[1;42H[35m#define >_CONSOLE>---------->---[m[31m2[m[35m [2;43H [3;42H#define >_FILE_AND_CONSOLE>---------[m[31m3[m[35m [4;43H [m[5;42Hbbeeeeee[20Csome text[7;47H[31m5[m[9;55H>some text [10;43H [5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi SpecialKey term=underline ctermfg=red guifg=red
[?25l[1;9H[1m[31m▕[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[1;15H▕[1;16H—[1;17H—[1;18H—[1;19H—[1;20H—[1;21H—[1;23H▕[1;24H—[1;25H—[1;26H—[1;27H—[1;28H—[4;24Hˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[6;4H▕[6;5H—[6;6H—[6;7H—[6;8H▕[6;9H—[6;10H—[6;11H—[6;12H—[6;13H—[6;14H—[5;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet attr=[]
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnnoremap <expr> GG ":let attr += ['".screenattr(screenrow(),screencol())."']\n
[23;80H"[24;1H[?25l[1;1H[L[1;1Hbbeeeeee[1m[31m▕[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[1;15H▕[1;16H—[1;17H—[1;18H—[1;19H—[1;20H—[1;21H—[m[1;22H;[1m[31m▕[1;24H—[1;25H—[1;26H—[1;27H—[1;28H—[m[1;29Hsome text[1m[34m¶[m[1;41H[7m|[m[35m#define >_CONSOLE>---------->---[m[31m2[m[35m [m[24;1H[K[5;1H[?12l[?25h[?25l[24;1H:[?12l[?25h$
[?25l[6;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt0
[?25l[1;1H [34m/*[m[1m[31m▕[1;5H—[1;6H—[1;7H—[1;8H▕[1;9H—[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[m[1;15H[34m and some more */[m[1m[34m¶[m[1;33H
[1m[34m~
~
~
~ [m
[6;1H[1m[34m~
~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:let attr += ['0']
[1;1H[?12l[?25h[1;2H[?25l[24;1H[K[24;1H:let attr += ['69']
[1;2H[?12l[?25h[1;3H[?25l[24;1H[K[24;1H:let attr += ['69']
[1;3H[?12l[?25h[1;4H[?25l[24;1H[K[24;1H:let attr += ['107']
[1;4H[?12l[?25h[1;8H[?25l[24;1H[K[24;1H:let attr += ['107']
[1;8H[?12l[?25h[1;15H[?25l[24;1H[K[24;1H:let attr += ['69']
[1;15H[?12l[?25h[1;16H[?25l[24;1H[K[24;1H:let attr += ['69']
[1;16H[?12l[?25h[1;17H[?25l[24;1H[K[24;1H:let attr += ['69']
[1;17H[?12l[?25h[1;18H[?25l[24;1H[K[24;1H:let attr += ['69']
[1;18H[?12l[?25h[1;19H[?25l[24;1H[K[24;1H:let attr += ['69']
[1;19H[?12l[?25h[1;20H[1;20H[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', ['ScreenAttributes for test6:'])
[?25l[2;1HScreenAttributes [33mfor[m test6:[1m[34m¶[m[2;29H [1;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;2H[34m/*[m[1m[31m▕[1;5H—[1;6H—[1;7H—[1;8H▕[1;9H—[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[m[1;15H[34m and some more */[m[1m[34m¶[m[1;41H[7m|[m
ScreenAttributes [33mfor[m test6:[1m[34m¶[m[2;41H[7m|[m
Attribut [31m0[m and [31m1[m and [31m3[m and [31m5[m are differe[7m|[4;41H|[m
[1m[34m~ [m[1;42H[35m#define >_CONSOLE>---------->---[m[31m2[m[35m [m[2;42H[1m[34m+[m[35m [3;42H#define >_FILE_AND_CONSOLE>---------[m[31m3[m[35m [m[4;42H[1m[34m+[m[35m [m[24;1H[K[1;20H[?12l[?25h[?25l[24;1H:[?12l[?25hset cpo&vim linebreak selection=exclusive
[?25l[1;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 8: set linebreak with visual block mode and v_b_A and select
[23;80Hi[24;1Hon=exclusive and multibyte char"
[?25l[1;1H[L[1;2H[34m/*[m[1m[31m▕[1;5H—[1;6H—[1;7H—[1;8H▕[1;9H—[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[m[1;15H[34m and some more */[m[1m[34m¶[m[1;41H[7m|[m[35m#define >_CONSOLE>---------->---[m[31m2[m[35m [m[24;1H[K[1;20H[?12l[?25h[?25l[24;1H:[?12l[?25h$put =g:test
[?25l[4;1HTest [31m8[m: set linebreak with visual block [4;1H[?12l[?25h[4;1H[?25l[5;1H[32mlong[m line:[1m[31mˑ[m[1m[34m¶[m[5;13H [5;11H[?12l[?25h[?25l[1;1H[1m[34m¶[m[1;2H
[1m[34m¶[m[2;2H
[1m[34m¶[m[3;2H
[1m[34m¶[m[4;2H
oobar foobar foobar foobar foobar[1m[31mˑ[m[1m[34m¶[5;34H[?12l[?25h[?25l[m
foobar foobar TARGET[1m[34m¶[m[5;22H [5;21H[?12l[?25h[?25lÃ' at end[1m[34m¶[5;29H[?12l[?25h[5;29H[?25l[m[24;1H[K[24;1H:[?12l[?25hexe "norm! $3B\<C-v>eAx\<Esc>"
[?25l[5;22Hx' at end[1m[34m¶[5;15H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[5;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 9: a multibyte sign and colorcolumn"
[?25l[5;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet attr=[]
[?25l[5;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet attr2=[]
[?25l[5;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;1H [34m/*[m[1m[31m▕[1;5H—[1;6H—[1;7H—[1;8H▕[1;9H—[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[m[1;15H[34m and some more */[m[1m[34m¶[m[2;1HScreenAttributes [33mfor[m test6:[1m[34m¶[m[3;1HAttribut [31m0[m and [31m1[m and [31m3[m and [31m5[m are differe
Test [31m8[m: set linebreak with visual block
[32mlong[m line: foobar foobar foobar foobar f
[1m[34m¶[m[6;2H [6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='a b c'
[?25l[7;1Ha b c[1m[34m¶[m[7;7H [7;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='a b c'
[?25l[8;1Ha b c[1m[34m¶[m[8;7H [8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset list nolinebreak cc=3
[?25l[1;3H[34m[41m*[m
Sc[41mr
[mAt[41mt
[mTe[41ms[m[5;3H[32m[41mn[m[6;3H[41m
[ma [41mb
[ma [41mb[8;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsign define foo text=^+
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsign place 1 name=foo line=50 buffer=2
[?25l[1;1H[34m[47m [m [34m/[m[34m[41m*[m[1m[31m▕[1;7H—[1;8H—[1;9H—[1;10H▕[1;11H—[1;12H—[1;13H—[1;14H—[1;15H—[1;16H—[m[1;17H[34m and some more */[m[1m[34m¶[m[2;1H[34m[47m [mSc[41mr[meenAttributes [33mfor[m test6:[1m[34m¶[m[3;1H[34m[47m [mAt[41mt[mribut [31m0[m and [31m1[m and [31m3[m and [31m5[m are diff
[34m[47m [mTe[41ms[mt [31m8[m: set linebreak with visual bloc
[34m[47m [m[32mlo[m[32m[41mn[m[32mg[m line: foobar foobar foobar foobar
[34m[47m [m[1m[34m¶[m[6;5H[41m [m
+a [41mb[m c[1m[34m¶[m[8;1H[34m[47m [ma [41mb[m c[1m[34m¶[m[9;1H[34m[47m
[m[9;3H[1m[34m~[10;3H~[m[1;42H[34m[47m [m[35m#define >_CONSOLE>[8C-->---[m[31m2[m[2;42H[34m[47m [m[1m[34m+[m[35m [m[3;42H[34m[47m [m[35m#define >_FILE_AND_CONSOLE>[7C--[m[31m3[m[4;42H[34m[47m [m[1m[34m+[m[35m [m[5;42H[34m[47m [mbbeeeeee[11C ; some text[6;42H[34m[47m [7;42H [mTest [31m5[m: set linebreak list listchars [8;42H[34m[47m [m[1m[34m+[mand concealing part2[9;42H[34m[47m [meeeeee>--->-;>some text[10;42H[34m[47m [m[1m[34m+[8;3H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnorm! 2kztj
[?25l[1;1H[34m[47m [m[1m[34m¶[m[1;4H [41m [m
+a [41mb[m c[1m[34m¶[m[2;9H
[34m[47m [ma [41mb[m c[1m[34m¶[m[3;9H
[34m[47m [m[1m[34m~ [m
[34m[47m [m[1m[34m~ [m
[6;1H[34m[47m
[m[6;3H[1m[34m~ [7;3H~ [8;3H~ [9;3H~ [10;3H~ [m[24;1H[K[2;3H[?12l[?25h[?25l[24;1H:[?12l[?25hlet line1=line('.')
[?25l[2;3H[?12l[?25h[2;3H[?25l[24;1H[K[24;1H:let attr += ['0']
[2;3H[?12l[?25h[2;4H[?25l[24;1H[K[24;1H:let attr += ['0']
[2;4H[?12l[?25h[2;5H[?25l[24;1H[K[24;1H:let attr += ['92']
[2;5H[?12l[?25h[2;6H[?25l[24;1H[K[24;1H:let attr += ['0']
[2;6H[?12l[?25h[2;7H[3;7H[?25l[24;1H[K[24;1H:[?12l[?25hlet line2=line('.')
[?25l[3;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet attr2=attr
[?25l[3;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet attr=[]
[?25l[3;7H[?12l[?25h[3;3H[?25l[24;1H[K[24;1H:let attr += ['0']
[3;3H[?12l[?25h[3;4H[?25l[24;1H[K[24;1H:let attr += ['0']
[3;4H[?12l[?25h[3;5H[?25l[24;1H[K[24;1H:let attr += ['92']
[3;5H[?12l[?25h[3;6H[?25l[24;1H[K[24;1H:let attr += ['0']
[3;6H[?12l[?25h[3;7H[3;7H[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H[34m[47m [m[1m[34m¶[m[1;5H[41m [m[35C[7m|[m
+a [41mb[m c[1m[34m¶[m[2;41H[7m|[m
[34m[47m [ma [41mb[m c[1m[34m¶[m[3;41H[7m|[4;41H|[5;41H|[6;41H|[7;41H|[8;41H|[9;41H|[10;41H|[m[4;1H[34m[47m
[m[4;3H[1m[34m~ [5;3H~ [6;3H~ [7;3H~ [8;3H~ [9;3H~ [10;3H~ [m
[1m[7m[No Name] [+] [m[1;42H[34m[47m [m[35m#define >_CONSOLE>---------->---[m[31m2[m[35m [m[2;42H[34m[47m [m[1m[34m+[m[35m [m[3;42H[34m[47m [m[35m#define >_FILE_AND_CONSOLE>---------[m[31m3[m[4;42H[34m[47m [m[1m[34m+[m[35m [m[5;42H[34m[47m [mbbeeeeee[13C; some text[6;42H[34m[47m [7;42H [mTest [31m5[m: set linebreak list listchars[8;42H[34m[47m [m[1m[34m+[mand concealing part2[9;42H[34m[47m [meeeeee>--->-;>some text[10;42H[34m[47m [m[1m[34m+[m[11;42H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [3;7H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),3)
[?25l[3;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l[24;1H3 more lines[24;13H[K[4;3H[1m[34m¶[m[4;4H [41m [m [5;3HTe[41ms[mt [31m9[m: a multibyte sign and colorcolu[6;3H [41m¶[m[6;6H[1m[31mˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[m[7;3H+[41ma[m b c¶[7;11H[1m[31mˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[m[8;3H [41ma[m b c¶[8;11H[1m[31mˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[m[1;44Ha b c[1;49H[K[2;44H[K[3;44HTest [31m9[m: a multibyte sign and colorcol[4;45Humn[5;44H ¶[5;47H [13C [6;44H[1m[34m+[m[7;44H+a b c¶[7;52H [8;45H [8;49H[K[9;44H a b c¶[9;52H [3;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected: attr[2] is different because of colorcolumn
[?25l[3;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1H[34m[47m [m[1m[34m¶[m[1;5H[41m [m[35C[7m|[m
+a [41mb[m c[1m[34m¶[m[2;41H[7m|[m
[34m[47m [ma [41mb[m c[1m[34m¶[m[3;41H[7m|[m
[34m[47m [m[1m[34m¶[m[4;5H[41m [m[35C[7m|[m[9;3HSc[41mr[meen attributes are the same![1m[34m¶[m[9;35H [1;42H[34m[47m [ma b c[2;42H[34m[47m [3;42H [mTest [31m9[m: a multibyte sign and colorcol[4;42H[34m[47m [m[1m[34m+[mumn[24;1H[K[3;7H[?12l[?25h[?25l[24;1H:[?12l[?25h%w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 57 lines, 1882 characters written[11;1H[1m[7mtest.out] [m[27C[7mtest.out [3;7H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test54.in" 22 lines, 658 characters[1;1HSome 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.oo[9;1Hut
:else
: !rm -f test.out
: au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out
:endif
:e somefile[11C" here, autocommand for xx shall write test.out
:[21C" but autocommand shall not apply to buffer named <buffer>[16;1H:bwipe xx[13C" here, autocommand shall be auto-deleted
:e xx[17C" nothing shall be written
:e somefile[11C" nothing shall be written
:qa!
ENDTEST
start of test file xx
end of test file xx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HSome tests for buffer-local autocommands[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 15 lines, 555 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[20;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he xx
[?25l"xx" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hif has("vms")
[?25l
: [?12l[?25h: !del test.out.*
[?25l: [?12l[?25h: au BufLeave <buffer> :!write sys$output "buffer-local autommand in %" > te
[23;80Hs[24;1Ht.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=[24;1H
[?25l: :[?12l[?25h au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out
[?25l: [?12l[?25h:endif
[?25l[24;1H[K[24;1H:[?12l[?25he somefile " here, autocommand for xx shall write test.out
[?25l:!echo buffer-local autommand in xx>> test.out[24;47H[K[24;47H
[?12l[?25h[?25l[m"somefile" [New File]
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h " but autocommand shall not apply to buffer named <buffer
[23;80H>[24;1H[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hbwipe xx " here, autocommand shall be auto-deleted
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he xx " nothing shall be written
[?25l"xx" [New File][24;23H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he somefile " nothing shall be written
[?25l"somefile" [New File][24;23H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test17.in" 135 lines, 2431 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for:[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 27 lines, 564 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[10M[1;24r[14;1H:" 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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1H:"
:if has("unix")
:let $CDIR = "."
/CDIR[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[10L[?25l[1;1H: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':[14;56H[K[15;4H > nmake -f Make_dos.mak test17.out[15;39H[K[16;2Hw! test.out[16;13H[K[17;1Hgf[17;3H[K[18;1H:set ff=unix
:w! test.out
:brewind[20;9H[K[21;1HENDTEST[21;8H[K[22;1H[K[23;9H${CDIR}/test17a.in[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25h" Dummy writing for making that sure gf doesn't fail even if the current
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" file is modified. It can be occurred when executing the following command
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" directly on Windows without fixing the 'fileformat':
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" > nmake -f Make_dos.mak test17.out
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 135 lines, 2431 characters written[23;9H[?12l[?25h[?25l
"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/./test17a.in" 3 lines, 88 c
[23;80Hh[24;1Haracters
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[2L[?25l[1;1HThis file is just to test "gf" in test 17.
The contents is not important.
Just testing!
[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ff=unix
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H3 lines, 88 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters[1;1H:" 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[4;39H[K[5;1H:w! test.out[5;13H[K[6;1Hgf[6;3H[K[7;1H:set ff=unix[7;13H[K[8;1H:w! test.out[8;13H[K[9;1H:brewind[9;9H[K[10;1HENDTEST[10;8H[K[11;1H[K[12;1H ${CDIR}/test17a.in[12;27H[K[13;1H $TDIR/test17a.in[13;25H[K[14;1H[K[15;1HSTARTTEST[15;10H[K[16;1H:" check for 'include' without \zs or \ze[16;42H[K[17;1H:lang C[17;8H[K[18;1H:call delete("./Xbase.a")[18;26H[K[19;1H:call delete("Xdir1", "rf")[19;28H[K[20;1H:!mkdir Xdir1[20;14H[K[21;1H:!mkdir "Xdir1/dir2"[21;21H[K[22;1H:e! Xdir1/dir2/foo.a[22;21H[K[23;1Hi#include "bar.a"[34m^[[m:[23;23H[K[12;8H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H23 lines, 396 characters written[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[16;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:e Xdir1/dir2/baz.a
i#include[12C"foo.a"[34m^[[m:
:w
:e Xbase.a
:set path=Xdir1/dir2
i#include <foo.a>[34m^[[m:
: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" check for 'include' without \zs or \ze
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang C
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("./Xbase.a")
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir Xdir1
[?25l[13C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[20C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25he! Xdir1/dir2/foo.a
[?25l"Xdir1/dir2/foo.a" [New File][27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m#include "bar.a"[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;18H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/foo.a" [New File] 1 line, 19 characters written[1;18H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/bar.a
[?25l"Xdir1/dir2/bar.a" [New File][1;1H[K[1;1H[?12l[?25h[?25l#include "baz.a"[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/bar.a" [New File] 1 line, 22 characters written[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/baz.a
[?25l"Xdir1/dir2/baz.a" [New File][1;1H[K[1;1H[?12l[?25h[?25l#include[12C"foo.a"[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;27H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/baz.a" [New File] 1 line, 28 characters written[1;27H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xbase.a
[?25l"Xbase.a" [New File][1;1H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset path=Xdir1/dir2
[?25l[1;1H[?12l[?25h[?25l#include <foo.a>[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xbase.a" [New File] 1 line, 20 characters written[1;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir! >>test.out
[?25l[1;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcheckpath!
[?25l[24;1H[K[24;1H[35m--- Included files in path ---[m
[34mXdir1/dir2/foo.a[m
Xdir1/dir2/foo.a -->
[34mXdir1/dir2/bar.a[m
Xdir1/dir2/bar.a -->
[34mXdir1/dir2/baz.a[m
Xdir1/dir2/baz.a -->
[34m"foo.a"[m (Already listed)
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[8L[1;1H#include <foo.a>
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[24;1H[K[1;19H[?12l[?25h[?25l[24;1H:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters[1;1Hi#include "foo.a"[34m^[[m:
:w[2;3H[K[3;1H:e Xbase.a[3;11H[K[4;1H:set path=Xdir1/dir2[4;21H[K[5;1Hi#include <foo.a>[34m^[[m:[5;24H[K[6;1H:w[6;3H[K[7;1H:redir! >>test.out[7;19H[K[8;1H:checkpath![8;12H[K[9;1H:redir END[9;11H[K[10;1H:brewind[10;9H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1HSTARTTEST[13;10H[K[14;1H:" check for 'include' with \zs and \ze[14;40H[K[15;1H:call delete("./Xbase.b")[15;26H[K[16;1H:call delete("Xdir1", "rf")[16;28H[K[17;1H:!mkdir Xdir1[17;14H[K[18;1H:!mkdir "Xdir1/dir2"[18;21H[K[19;1H:let &include='^\s*%inc\s*/\zs[^/]\+\ze'[19;41H[K[20;1H:function! DotsToSlashes()[20;27H[K[21;1H: return substitute(v:fname, '\.', '/', 'g') . '.b'[21;53H[K[22;1H:endfunction[22;13H[K[23;1H:let &includeexpr='DotsToSlashes()'[23;36H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H27 lines, 532 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:e Xdir1/dir2/baz.b
i%inc[12C/foo/[34m^[[m:
:w
:e Xbase.b
:set path=Xdir1/dir2
i%inc /foo/[34m^[[m:
: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][12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" check for 'include' with \zs and \ze
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("./Xbase.b")
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir Xdir1
[?25l[13C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[20C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25hlet &include='^\s*%inc\s*/\zs[^/]\+\ze'
[?25l[27m[23m[m[H[2J[1;1H:e Xdir1/dir2/baz.b
i%inc[12C/foo/[34m^[[m:
:w
:e Xbase.b
:set path=Xdir1/dir2
i%inc /foo/[34m^[[m:
: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][13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfunction! DotsToSlashes()
[?25l
: [?12l[?25h: return substitute(v:fname, '\.', '/', 'g') . '.b'
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1H:e Xdir1/dir2/baz.b
i%inc[12C/foo/[34m^[[m:[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet &includeexpr='DotsToSlashes()'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xdir1/dir2/foo.b
[?25l"Xdir1/dir2/foo.b" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m%inc /bar/[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/foo.b" [New File] 1 line, 13 characters written[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/bar.b
[?25l"Xdir1/dir2/bar.b" [New File][1;1H[K[1;1H[?12l[?25h[?25l%inc /baz/[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/bar.b" [New File] 1 line, 16 characters written[1;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/baz.b
[?25l"Xdir1/dir2/baz.b" [New File][1;1H[K[1;1H[?12l[?25h[?25l%inc[12C/foo/[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/baz.b" [New File] 1 line, 22 characters written[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xbase.b
[?25l"Xbase.b" [New File][1;1H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset path=Xdir1/dir2
[?25l[1;1H[?12l[?25h[?25l%inc /foo/[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xbase.b" [New File] 1 line, 14 characters written[1;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir! >>test.out
[?25l[1;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcheckpath!
[?25l[24;1H[K[24;1H[35m--- Included files in path ---[m
[34mXdir1/dir2/foo.b[m
Xdir1/dir2/foo.b -->
[34mXdir1/dir2/bar.b[m
Xdir1/dir2/bar.b -->
[34mXdir1/dir2/baz.b[m
Xdir1/dir2/baz.b -->
[34mfoo[m (Already listed)
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[8L[1;1H%inc /foo/
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[24;1H[K[1;13H[?12l[?25h[?25l[24;1H:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters[1;1Hi%inc /foo/[34m^[[m:
:w[2;3H[K[3;1H:e Xbase.b[3;11H[K[4;1H:set path=Xdir1/dir2[4;21H[K[5;1Hi%inc /foo/[34m^[[m:[5;18H[K[6;1H:w[6;3H[K[7;1H:redir! >>test.out[7;19H[K[8;1H:checkpath![8;12H[K[9;1H:redir END[9;11H[K[10;1H:brewind[10;9H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1HSTARTTEST[13;10H[K[14;1H:" check for 'include' with \zs and no \ze[14;43H[K[15;1H:call delete("./Xbase.c")[15;26H[K[16;1H:call delete("Xdir1", "rf")[16;28H[K[17;1H:!mkdir Xdir1[17;14H[K[18;1H:!mkdir "Xdir1/dir2"[18;21H[K[19;1H:let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'[19;73H[K[20;1H:function! StripNewlineChar()[20;30H[K[21;1H: if v:fname =~ '\n$'[21;23H[K[22;1H: return v:fname[:-2][22;25H[K[23;1H: endif[23;9H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H39 lines, 745 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:w
:e Xdir1/dir2/baz.c
i%inc[12Cfoo.c[34m^[[m:
:w
:e Xdir1/dir2/FALSE.c
i%inc[12Cfoo.c[34m^[[m:
:w
:e Xbase.c
:set path=Xdir1/dir2
i%inc FALSE.c foo.c[34m^[[m:
: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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" check for 'include' with \zs and no \ze
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("./Xbase.c")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir Xdir1
[?25l[13C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[20C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25hlet &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'
[?25l[27m[23m[m[H[2J[1;1H:w
:e Xdir1/dir2/baz.c
i%inc[12Cfoo.c[34m^[[m:
:w
:e Xdir1/dir2/FALSE.c
i%inc[12Cfoo.c[34m^[[m:
:w
:e Xbase.c
:set path=Xdir1/dir2
i%inc FALSE.c foo.c[34m^[[m:
: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
[1;1H[5L[?25l[1;1H:w
:e Xdir1/dir2/baz.c
i%inc[12Cfoo.c[34m^[[m:
:w
:e Xdir1/dir2/FALSE.c[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet &includeexpr='StripNewlineChar()'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xdir1/dir2/foo.c
[?25l"Xdir1/dir2/foo.c" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m%inc bar.c[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/foo.c" [New File] 1 line, 13 characters written[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/bar.c
[?25l"Xdir1/dir2/bar.c" [New File][1;1H[K[1;1H[?12l[?25h[?25l%inc baz.c[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/bar.c" [New File] 1 line, 16 characters written[1;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/baz.c
[?25l"Xdir1/dir2/baz.c" [New File][1;1H[K[1;1H[?12l[?25h[?25l%inc[12Cfoo.c[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/baz.c" [New File] 1 line, 22 characters written[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/FALSE.c
[?25l"Xdir1/dir2/FALSE.c" [New File][1;1H[K[1;1H[?12l[?25h[?25l%inc[12Cfoo.c[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/FALSE.c" [New File] 1 line, 22 characters written[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xbase.c
[?25l"Xbase.c" [New File][1;1H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset path=Xdir1/dir2
[?25l[1;1H[?12l[?25h[?25l%inc FALSE.c foo.c[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xbase.c" [New File] 1 line, 22 characters written[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir! >>test.out
[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcheckpath!
[?25l[24;1H[K[24;1H[35m--- Included files in path ---[m
[34mXdir1/dir2/foo.c[m
Xdir1/dir2/foo.c -->
[34mXdir1/dir2/bar.c[m
Xdir1/dir2/bar.c -->
[34mXdir1/dir2/baz.c[m
Xdir1/dir2/baz.c -->
[34mfoo.c[m (Already listed)
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[8L[1;1H%inc FALSE.c foo.c
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[24;1H[K[1;21H[?12l[?25h[?25l[24;1H:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters[1;1H:w[1;3H[K[2;1H:e Xdir1/dir2/baz.c[2;20H[K[3;1Hi%inc foo.c[34m^[[m:[3;26H[K[4;1H:w[4;3H[K[5;1H:e Xdir1/dir2/FALSE.c[5;22H[K[6;1Hi%inc foo.c[34m^[[m:[6;26H[K[7;1H:w[7;3H[K[8;1H:e Xbase.c[8;11H[K[9;1H:set path=Xdir1/dir2[9;21H[K[10;1Hi%inc FALSE.c foo.c[34m^[[m:[10;26H[K[11;1H:w[11;3H[K[12;1H:redir! >>test.out[12;19H[K[13;1H:checkpath![13;12H[K[14;1H:redir END[14;11H[K[15;1H:brewind[15;9H[K[16;1H:" change "\" to "/" for Windows and fix 'fileformat'[16;54H[K[17;1H:e test.out[17;12H[K[18;1H:%s#\\#/#g[18;11H[K[19;1H:set ff&[19;9H[K[20;1H:w[20;3H[K[21;1H:q[21;3H[K[22;1HENDTEST[22;8H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" change "\" to "/" for Windows and fix 'fileformat'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he test.out
[?25l"test.out" 33 lines, 655 characters[1;1HThis file is just to test "gf" in test 17.
The contents is not important.
Just testing![3;18H[K[4;1H[K[5;1H[K[6;1H--- Included files in path ---
Xdir1/dir2/foo.a
Xdir1/dir2/foo.a -->
Xdir1/dir2/bar.a[9;19H[K[10;1H Xdir1/dir2/bar.a -->[10;23H[K[11;1H Xdir1/dir2/baz.a
Xdir1/dir2/baz.a -->
"foo.a" (Already listed)[14;1H[K[15;1H[K[16;1H--- Included files in path ---[16;31H[K[17;1HXdir1/dir2/foo.b
Xdir1/dir2/foo.b -->
Xdir1/dir2/bar.b
Xdir1/dir2/bar.b -->
Xdir1/dir2/baz.b
Xdir1/dir2/baz.b -->[23;7Hfoo (Already listed)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%s#\\#/#g
[?25l[1m[37m[41mE486: Pattern not found: \\[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ff&
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" 33 lines, 655 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test30.in" 237 lines, 3762 characters[1;1HTest 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[34m^[[m
:$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.[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for a lot of variations of the 'fileformats' option[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 221 lines, 3592 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$r XXtt64
Go7[34m^[[m:$r XXtt71
:$r XXtt72
Go8[34m^[[m:$r XXtt81
:$r XXtt82
Go9[34m^[[m:$r XXtt91
:$r XXtt92
:$r XXtt93
Go10[34m^[[m:$r XXUnix
:set nobinary ff&
:w
:qa!
ENDTEST
unix
unix
eof
dos[34m^M[m
dos[34m^M[m
eof
mac[34m^M[mmac[34m^M[13;1H[?12l[?25h
[?25l[24;1H[m:so! Xdotest
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" first write three test files, one in each format
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformat=unix
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^unix/;/eof/-1w! XXUnix
[?25l"XXUnix" [24;10H[K[24;10H[New File] 2 lines, 10 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^dos/;/eof/-1w! XXDos
[?25l"XXDos" [24;9H[K[24;9H[New File] 2 lines, 10 characters written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin noeol
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! XXMac
[?25l"XXMac" [24;9H[K[24;9H[New File][Incomplete last line] 1 line, 8 characters written[19;1H[?12l[?25h[23;1H[?25l[1;23r[23;1H
[1;24r[23;1Hnoeol[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$w! XXEol
[?25l"XXEol" [24;9H[K[24;9H[New File][Incomplete last line] 1 line, 5 characters written[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nobin eol
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25henew!
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l3 buffers wiped out[24;21H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" create mixed format files
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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=[24;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=[24;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=[24;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=[24;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=[24;1H
[?25l: :[?12l[?25hendif
[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h" try reading and writing with 'fileformats' empty
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformat=unix
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUnix
[?25l"XXUnix" [24;10H[K[24;10H2 lines, 10 characters[1;1Hunix
unix[2;5H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 2 lines, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXDos
[?25l"XXDos" [24;9H[K[24;9H2 lines, 10 characters[1;1Hdos[34m^M[m
dos[34m^M[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt01
[?25l"XXtt01" [24;10H[K[24;10H[New File] 2 lines, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXMac
[?25l"XXMac" [24;9H[K[24;9H[Incomplete last line] 1 line, 8 characters[1;1Hmac[2Cmac[34m^M[m
[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt02
[?25l"XXtt02" [24;10H[K[24;10H[New File] 1 line, 9 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters
3 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fileformat=dos
[?25l[1;1H[2L[1;1H:$r XXtt64
Go7[34m^[[m:$r XXtt71
:$r XXtt72[3;11H[K[4;1HGo8[34m^[[m:$r XXtt81[4;16H[K[5;1H:$r XXtt82[5;11H[K[6;1HGo9[34m^[[m:$r XXtt91[6;16H[K[7;1H:$r XXtt92[7;11H[K[8;1H:$r XXtt93[8;11H[K[9;1HGo10[34m^[[m:$r XXUnix[9;17H[K[10;1H:set nobinary ff&[10;18H[K[11;1H:w[11;3H[K[12;1H:qa![12;5H[K[13;1HENDTEST[13;8H[K[14;1H[K[15;1Hunix[15;5H[K[16;1Hunix[16;5H[K[17;1Heof[17;4H[K[18;1H[K[19;1Hdos[34m^M[m[19;6H[K[20;1Hdos[34m^M[m[20;6H[K[21;1Heof[21;4H[K[22;1H[K[23;1Hmac[34m^M[mmac[34m^M[m[23;11H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25he! XXUnix
[?25l"XXUnix" [24;10H[K[24;10H[CR missing][dos format] 2 lines, 10 characters[1;1Hunix[1;5H[K[2;1Hunix[2;5H[K[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt11
[?25l"XXtt11" [24;10H[K[24;10H[New File][dos format] 2 lines, 12 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXDos
[?25l"XXDos" [24;9H[K[24;9H[dos format] 2 lines, 10 characters[1;1Hdos[1;4H[K[2;1Hdos[2;4H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXtt12
[?25l"XXtt12" [24;10H[K[24;10H[New File][dos format] 2 lines, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXMac
[?25l"XXMac" [24;9H[K[24;9H[Incomplete last line][dos format] 1 line, 8 characters[1;1Hmac[34m^M[mmac[34m^M[m
[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt13
[?25l"XXtt13" [24;10H[K[24;10H[New File][dos format] 1 line, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters
3 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fileformat=mac
[?25l[1;1H[2L[1;1H:$r XXtt64
Go7[34m^[[m:$r XXtt71
:$r XXtt72[3;11H[K[4;1HGo8[34m^[[m:$r XXtt81[4;16H[K[5;1H:$r XXtt82[5;11H[K[6;1HGo9[34m^[[m:$r XXtt91[6;16H[K[7;1H:$r XXtt92[7;11H[K[8;1H:$r XXtt93[8;11H[K[9;1HGo10[34m^[[m:$r XXUnix[9;17H[K[10;1H:set nobinary ff&[10;18H[K[11;1H:w[11;3H[K[12;1H:qa![12;5H[K[13;1HENDTEST[13;8H[K[14;1H[K[15;1Hunix[15;5H[K[16;1Hunix[16;5H[K[17;1Heof[17;4H[K[18;1H[K[19;1Hdos[19;4H[K[20;1Hdos[20;4H[K[21;1Heof[21;4H[K[22;1H[K[23;1Hmac[34m^J[mmac[23;9H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25he! XXUnix
[?25l"XXUnix" [24;10H[K[24;10H[Incomplete last line][mac format] 1 line, 10 characters[1;1Hunix[34m^J[munix[34m^J[m
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt21
[?25l"XXtt21" [24;10H[K[24;10H[New File][mac format] 1 line, 11 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXDos
[?25l"XXDos" [24;9H[K[24;9H[Incomplete last line][mac format] 3 lines, 10 characters[1;1Hdos[1;4H[K[2;1H[34m^J[mdos[2;6H[K[3;1H[34m^J[m[3;3H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXtt22
[?25l"XXtt22" [24;10H[K[24;10H[New File][mac format] 3 lines, 11 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXMac
[?25l"XXMac" [24;9H[K[24;9H[mac format] 2 lines, 8 characters[1;1Hmac
mac[2;4H[K[3;1H[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt23
[?25l"XXtt23" [24;10H[K[24;10H[New File][mac format] 2 lines, 8 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" [24;13H[K[24;13H[Incomplete last line][mac format] 5 lines, 3762 characters
3 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[2L[1;1H[34m^J[mdos
[34m^J[meof[34m^J^J[mmac
mac[3;4H[K[4;1H[34m^J[m[4;3H[K[24;1H[K[4;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" try reading and writing with 'fileformats' set to one format
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=unix
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;5H[K[2;1Hunix[2;5H[K[3;1Hdos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m[5;11H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXtt31
[?25l"XXtt31" [24;10H[K[24;10H[New File] 5 lines, 29 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=dos
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line][CR missing][dos format] 5 lines, 28 character
[23;80Hs[24;1H
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt32
[?25l"XXtt32" [24;10H[K[24;10H[New File][dos format] 5 lines, 32 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters[1;1H[3L[1;1HTest for a lot of variations of the 'fileformats' option
Note: This test will fail if "cat" is not available.[24;1H[K[24;1H"test30.in" [CR missing][dos format] 237 lines, 3762 characters[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=mac
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[mac format] 4 lines, 28 characters[1;1Hunix[34m^J[munix[34m^J[mdos[1;16H[K[2;1H[34m^J[mdos
[34m^J[mmac[3;7H[K[4;1Hmac
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt33
[?25l"XXtt33" [24;10H[K[24;10H[New File][mac format] 4 lines, 28 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H[Incomplete last line][mac format] 5 lines, 3762 characters[1;1H[34m^J[mdos[1;6H[K[2;3Heof[34m^J^J[mmac
mac[3;4H[K[4;1H[34m^J[m[4;3H[K[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" try reading and writing with 'fileformats' set to two formats
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=unix,dos
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;5H[K[2;1Hunix[2;5H[K[3;1Hdos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m[5;11H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXtt41
[?25l"XXtt41" [24;10H[K[24;10H[New File] 5 lines, 29 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxMac
[?25l"XXUxMac" [24;11H[K[24;11H[Incomplete last line] 3 lines, 18 characters[1;1Hunix[1;6H[K[2;1Hunix
mac[34m^M[mmac[34m^M[m[3;12H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt42
[?25l"XXtt42" [24;10H[K[24;10H[New File] 3 lines, 19 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxMac
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXDosMac
[?25l"XXDosMac" [24;12H[K[24;12H[Incomplete last line][dos format] 3 lines, 18 characters[1;1Hdo[1;4H[K[2;1Hdos
mac[34m^M[mmac[34m^M[m[3;12H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt43
[?25l"XXtt43" [24;10H[K[24;10H[New File][dos format] 3 lines, 20 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXDosMac
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=unix,mac
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDs
[?25l"XXUxDs" [24;10H[K[24;10H4 lines, 20 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt51
[?25l"XXtt51" [24;10H[K[24;10H[New File] 4 lines, 20 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDs
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt52
[?25l"XXtt52" [24;10H[K[24;10H[New File] 5 lines, 29 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXDosMac
[?25l"XXDosMac" [24;12H[K[24;12H[mac format] 4 lines, 18 characters[1;1Hdo[1;4H[K[2;1H[34m^J[mdos
[34m^J[mmac[3;7H[K[4;1Hmac
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt53
[?25l"XXtt53" [24;10H[K[24;10H[New File][mac format] 4 lines, 18 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXDosMac
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXEol
[?25l"XXEol" [24;9H[K[24;9H[Incomplete last line] 1 line, 5 characters[1;1Hnoeol[1;6H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H=[?12l[?25h&ffs
[?25l[24;1H[K[24;1H=[?12l[?25h&ff
[?25l[1;23r[1;1H[L[1;24r[1;1Hunix,mac:unix[24;1H[K[1;13H[?12l[?25h[?25l[24;1H:[?12l[?25hw! XXtt54
[?25l"XXtt54" [24;10H[K[24;10H[New File] 2 lines, 20 characters written[1;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[3;53H[K[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=dos,mac
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDs
[?25l"XXUxDs" [24;10H[K[24;10H[CR missing][dos format] 4 lines, 20 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[3;4H[K[4;1Hdos
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt61
[?25l"XXtt61" [24;10H[K[24;10H[New File][dos format] 4 lines, 22 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDs
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxMac
[?25l"XXUxMac" [24;11H[K[24;11H[Incomplete last line][CR missing][dos format] 3 lines, 18 characters[1;1Hunix[1;6H[K[2;1Hunix
mac[34m^M[mmac[34m^M[m[3;12H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H=[?12l[?25h&ffs
[?25l[24;1H[K[24;1H=[?12l[?25h&ff
[?25l[1;23r[1;1H[L[1;24r[1;1Hdos,mac:dos[24;1H[K[1;11H[?12l[?25h[?25l[24;1H:[?12l[?25hw! XXtt62
[?25l"XXtt62" [24;10H[K[24;10H[New File][dos format] 4 lines, 35 characters written[1;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxMac
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line][CR missing][dos format] 5 lines, 28 character
[23;80Hs[24;1H
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt63
[?25l"XXtt63" [24;10H[K[24;10H[New File][dos format] 5 lines, 32 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters[1;1H[3L[1;1HTest for a lot of variations of the 'fileformats' option
Note: This test will fail if "cat" is not available.[24;1H[K[24;1H"test30.in" [CR missing][dos format] 237 lines, 3762 characters[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXMacEol
[?25l"XXMacEol" [24;12H[K[24;12H[Incomplete last line][mac format] 3 lines, 13 characters[1;1Hmac[1;4H[K[2;1Hmac
noeol[3;7H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H=[?12l[?25h&ffs
[?25l[24;1H[K[24;1H=[?12l[?25h&ff
[?25l[1;23r[1;1H[L[1;24r[1;1Hdos,mac:mac[24;1H[K[1;11H[?12l[?25h[?25l[24;1H:[?12l[?25hw! XXtt64
[?25l"XXtt64" [24;10H[K[24;10H[New File][mac format] 4 lines, 26 characters written[1;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXMacEol
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" try reading and writing with 'fileformats' set to three formats
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=unix,dos,mac
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt71
[?25l"XXtt71" [24;10H[K[24;10H[New File] 5 lines, 29 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXEol
[?25l"XXEol" [24;9H[K[24;9H[Incomplete last line] 1 line, 5 characters[1;1Hnoeol[1;6H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H=[?12l[?25h&ffs
[?25l[24;1H[K[24;1H=[?12l[?25h&ff
[?25l[1;23r[1;1H[L[1;24r[1;1Hunix,dos,mac:unix[24;1H[K[1;17H[?12l[?25h[?25l[24;1H:[?12l[?25hw! XXtt72
[?25l"XXtt72" [24;10H[K[24;10H[New File] 2 lines, 24 characters written[1;17H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[3;53H[K[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=mac,dos,unix
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt81
[?25l"XXtt81" [24;10H[K[24;10H[New File] 5 lines, 29 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXEol
[?25l"XXEol" [24;9H[K[24;9H[Incomplete last line][mac format] 1 line, 5 characters[1;1Hnoeol[1;6H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H=[?12l[?25h&ffs
[?25l[24;1H[K[24;1H=[?12l[?25h&ff
[?25l[1;23r[1;1H[L[1;24r[1;1Hmac,dos,unix:mac[24;1H[K[1;16H[?12l[?25h[?25l[24;1H:[?12l[?25hw! XXtt82
[?25l"XXtt82" [24;10H[K[24;10H[New File][mac format] 2 lines, 23 characters written[1;16H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[3;53H[K[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" try with 'binary' set
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=mac,unix,dos
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset binary
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt91
[?25l"XXtt91" [24;10H[K[24;10H[New File][Incomplete last line] 5 lines, 28 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=mac
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt92
[?25l"XXtt92" [24;10H[K[24;10H[New File][Incomplete last line] 5 lines, 28 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=dos
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt93
[?25l"XXtt93" [24;10H[K[24;10H[New File][Incomplete last line] 5 lines, 28 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Append "END" to each file so that we can see what the last written char was.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformat=unix nobin
[?25l[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[24;1H--No lines in buffer--[24;23H[K[1;1H[?12l[?25h[?25lEND[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt01
[?25l"XXtt01" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt02
[?25l"XXtt02" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt11
[?25l"XXtt11" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt12
[?25l"XXtt12" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt13
[?25l"XXtt13" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt21
[?25l"XXtt21" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt22
[?25l"XXtt22" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt23
[?25l"XXtt23" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt31
[?25l"XXtt31" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt32
[?25l"XXtt32" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt33
[?25l"XXtt33" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt41
[?25l"XXtt41" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt42
[?25l"XXtt42" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt43
[?25l"XXtt43" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt51
[?25l"XXtt51" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt52
[?25l"XXtt52" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt53
[?25l"XXtt53" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt54
[?25l"XXtt54" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt61
[?25l"XXtt61" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt62
[?25l"XXtt62" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt63
[?25l"XXtt63" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt64
[?25l"XXtt64" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt71
[?25l"XXtt71" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt72
[?25l"XXtt72" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt81
[?25l"XXtt81" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt82
[?25l"XXtt82" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt91
[?25l"XXtt91" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt92
[?25l"XXtt92" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt93
[?25l"XXtt93" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Concatenate the results.
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make fileformat of test.out the native fileformat.
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Add a newline at the end.
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset binary
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H2 lines, 10 characters[1;1Hunix
unix[2;5H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt01
[?25l"XXtt01" [24;10H[K[24;10H3 lines, 14 characters[3;1Hdos[34m^M[m[3;6H[K[4;1Hdos[34m^M[m[4;6H[K[5;1HEND[5;4H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt02
[?25l"XXtt02" [24;10H[K[24;10H2 lines, 13 characters[6;1Hmac[34m^M[mmac[34m^M[m[6;11H[K[7;1HEND[7;4H[K[6;1H[?12l[?25h
[?25l
1[8;2H[K[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt11
[?25l"XXtt11" [24;10H[K[24;10H3 lines, 16 characters[9;1Hunix[34m^M[m[9;7H[K[10;1Hunix[34m^M[m[10;7H[K[11;1HEND[11;4H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt12
[?25l"XXtt12" [24;10H[K[24;10H3 lines, 14 characters[12;1Hdos[34m^M[m[12;6H[K[13;1Hdos[34m^M[m[13;6H[K[14;1HEND[14;4H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt13
[?25l"XXtt13" [24;10H[K[24;10H2 lines, 14 characters[15;1Hmac[34m^M[mmac[34m^M^M[m[15;13H[K[16;1HEND[16;4H[K[15;1H[?12l[?25h
[?25l
2[17;2H[K[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt21
[?25l"XXtt21" [24;10H[K[24;10H3 lines, 15 characters[18;1Hunix[18;5H[K[19;1Hunix[19;5H[K[20;1H[34m^M[mEND[20;6H[K[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt22
[?25l"XXtt22" [24;10H[K[24;10H3 lines, 15 characters[21;1Hdos[34m^M[m[21;6H[K[22;1Hdos[34m^M[m[22;6H[K[23;1H[34m^M[mEND[23;6H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt23
[?25l"XXtt23" [24;10H[K[24;10H1 line, 12 characters[1;23r[23;1H
[1;24r[23;1Hmac[34m^M[mmac[34m^M[mEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H3[?12l[?25h[?25l
:[?12l[?25h$r XXtt31
[?25l"XXtt31" [24;10H[K[24;10H6 lines, 33 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt32
[?25l"XXtt32" [24;10H[K[24;10H6 lines, 36 characters[1;23r[1;1H[6M[1;24r[18;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m
END
unix[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt33
[?25l"XXtt33" [24;10H[K[24;10H5 lines, 32 characters[1;23r[1;1H[6M[1;24r[18;1Hunix[34m^M[m
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M^M[m
END
unix[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[20;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[mEND
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H4[?12l[?25h[?25l
:[?12l[?25h$r XXtt41
[?25l"XXtt41" [24;10H[K[24;10H6 lines, 33 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt42
[?25l"XXtt42" [24;10H[K[24;10H4 lines, 23 characters[1;23r[1;1H[6M[1;24r[18;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m
END
unix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt43
[?25l"XXtt43" [24;10H[K[24;10H4 lines, 24 characters[1;23r[1;1H[4M[1;24r[20;1Hunix
mac[34m^M[mmac[34m^M[m
END
dos[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M^M[m
END
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H5[?12l[?25h[?25l
:[?12l[?25h$r XXtt51
[?25l"XXtt51" [24;10H[K[24;10H5 lines, 24 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt52
[?25l"XXtt52" [24;10H[K[24;10H6 lines, 33 characters[1;23r[1;1H[5M[1;24r[19;1Hunix
dos[34m^M[m
dos[34m^M[m
END
unix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt53
[?25l"XXtt53" [24;10H[K[24;10H3 lines, 22 characters[1;23r[1;1H[6M[1;24r[18;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m
END
dos[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt54
[?25l"XXtt54" [24;10H[K[24;10H3 lines, 24 characters[1;23r[1;1H[3M[1;24r[21;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[mEND
unix,mac:unix[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hnoeol
END
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H6[?12l[?25h[?25l
:[?12l[?25h$r XXtt61
[?25l"XXtt61" [24;10H[K[24;10H5 lines, 26 characters[1;23r[23;1H
[1;24r[23;1Hunix[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt62
[?25l"XXtt62" [24;10H[K[24;10H5 lines, 39 characters[1;23r[1;1H[5M[1;24r[19;1Hunix[34m^M[m
dos[34m^M[m
dos[34m^M[m
END
dos,mac:dos[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt63
[?25l"XXtt63" [24;10H[K[24;10H6 lines, 36 characters[1;23r[1;1H[5M[1;24r[19;1Hunix[34m^M[m
unix[34m^M[m
mac[34m^M[mmac[34m^M^M[m
END
unix[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt64
[?25l"XXtt64" [24;10H[K[24;10H1 line, 30 characters[1;23r[1;1H[6M[1;24r[18;1Hunix[34m^M[m
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M^M[m
END
dos,mac:mac[34m^M[mmac[34m^M[mmac[34m^M[mnoeol[34m^M[mEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H7[?12l[?25h[?25l
:[?12l[?25h$r XXtt71
[?25l"XXtt71" [24;10H[K[24;10H6 lines, 33 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt72
[?25l"XXtt72" [24;10H[K[24;10H3 lines, 28 characters[1;23r[1;1H[6M[1;24r[18;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m
END
unix,dos,mac:unix[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hnoeol
END
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H8[?12l[?25h[?25l
:[?12l[?25h$r XXtt81
[?25l"XXtt81" [24;10H[K[24;10H6 lines, 33 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt82
[?25l"XXtt82" [24;10H[K[24;10H1 line, 27 characters[1;23r[1;1H[6M[1;24r[18;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m
END
mac,dos,unix:mac[34m^M[mnoeol[34m^M[mEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H9[?12l[?25h[?25l
:[?12l[?25h$r XXtt91
[?25l"XXtt91" [24;10H[K[24;10H5 lines, 32 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt92
[?25l"XXtt92" [24;10H[K[24;10H5 lines, 32 characters[1;23r[1;1H[5M[1;24r[19;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[mEND
unix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt93
[?25l"XXtt93" [24;10H[K[24;10H5 lines, 32 characters[1;23r[1;1H[5M[1;24r[19;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[mEND
unix[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[20;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[mEND
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H10[?12l[?25h[?25l
:[?12l[?25h$r XXUnix
[?25l"XXUnix" [24;10H[K[24;10H2 lines, 10 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset nobinary ff&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" 130 lines, 786 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test32.in" 60 lines, 1391 characters[1;1HTest 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)[11;1H: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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for insert expansion[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:so small.vim[24;1H[K[23;1H[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 27 lines, 533 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1HO[34m^N^[[mIX[34m^[[mA[34m^X^F^N^[[m
:" 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[34m^X^F^H^H^H^H^H^H^H^H^X^F^[[mddk
:se cpt=w
OST[34m^N^P^P^P^P^[[m
:se cpt=u nohid
[34m^W[moOEN[34m^N[m
unl[34m^N^X^X^P^[[m
:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch
O[34m^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D[m
a[34m^N^[[m
:wq! test.out
ENDTEST
start of testfile
run1
run2
end of testfile
test11 36Gepeto[8C/Tag/
asd test11file 36G
Makefile[8Cto run[14;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hse nocp viminfo+=nviminfo cpt=.,w ff=unix | $-2,$w!Xtestfile | set ff&
[?25l"Xtestfile" [24;13H[K[24;13H[New] 3L, 57C written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hse cot=
[?25l[15;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1Hunl[34m^N^X^X^P^[[m
:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch
O[34m^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D[m
a[34m^N^[[m[16;7H[K[17;1H:wq! test.out
ENDTEST[19;1H[K[20;1Hstart of testfile
run1[21;5H[K[22;1Hrun2[22;9H[K[23;1H[7mtest32.in [1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --
-- Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Keyword completion (^N^P) [m[32mmatch 1 of 4[2;3H[m[24;29H[K[24;1Hmatch in file test32.in[1m^[m[24;24H[K[24;1H[1m-- Keyword completion (^N^P) [m[32mmatch 2 of 4[2;5H[m[24;29H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mAdding Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Adding Keyword completion (^N^P) Word from other line[2;10H[1;11r[m[1;1H[2L[1;24r[1;1H#include "Xtestfile"
run1 run2[12;11H[1m[7m[+][2;10H[?12l[?25h[m[24;1H[K[?25l[24;1H[1m-- Adding Keyword completion (^N^P) Word from other line[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[2;9H[?12l[?25h[?25l3[?12l[?25h
[?25l[24;1H[1m-- INSERT --
-- Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1H[1m-- Keyword completion (^N^P) [m[32mmatch 1 of 115[3;5H[m[24;29H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mAdding Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1H[1m-- Adding Keyword completion (^N^P) Word from other line[3;10H[m[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mKeyword Local completion (^N^P) -- Searching...[m[24;36H[32mmatch 1 of 4[m[1m.[m[24;48H[K[4;5H[24;35H[K[24;35H[1m [m[32mmatch 2 of 4[4;5H[m[24;35H[K[24;35H[1m [m[32mmatch 3 of 4[4;10H[m[24;35H[K[24;35H[1m [m[32mmatch 4 of 4[4;8H[m[24;35H[K[24;35H[1m [m[31mBack at original[4;1H[m[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mKeyword Local completion (^N^P) -- Searching...[m[24;36H[32mmatch 1 of 4[m[1m.[m[24;48H[K[5;5H[24;35H[K[24;35H[1m [m[32mmatch 2 of 4[5;5H[m[24;35H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mKeyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1H[1m-- Keyword completion (^N^P) The only match[5;5H[m[24;29H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mAdding Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1H[1m-- Adding Keyword completion (^N^P) [m[32mmatch 1 of 2[5;10H[m[24;36H[K[24;1Hmatch in file test32.in[1me[m[24;24H[K[24;1H[1m-- Adding Keyword completion (^N^P) Word from other line[5;10H[3;11r[m[3;1H[3L[1;24r[3;1Hrun3 run3
run1 run2[?12l[?25h[24;1H[K[?25l[24;1H[1m-- Adding Keyword completion (^N^P) Word from other line[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[5;9H[?12l[?25h
[?25l[24;1H:[?12l[?25hse cpt=.,w,i
[?25l[6;1H[?12l[?25h[5;9H[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;4H[1mKeyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;9H[32m included file: Xtestfile[m
match in file test32.in[24;24H[K[24;1H[1m-- Keyword completion (^N^P) The only match[5;9H[m[24;29H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mAdding Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;9H[32m included file: Xtestfile[m
match in file test32.in[24;24H[K[24;1H[1m-- Adding Keyword completion (^N^P) The only match[5;19H[m[24;36H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mAdding Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;9H[32m included file: Xtestfile[m
match in file test32.in[24;24H[K[24;1H[1m-- Adding Keyword completion (^N^P) The only match[5;28H[m[24;36H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mKeyword Local completion (^N^P) -- Searching...[m[24;36H[32mmatch 1 of 3[m[1m.[m[24;48H[K[5;29H[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Whole line completion (^L^N^P)^ U-- Searching...[m
[32mScanning: test32.in[m[1me[m[24;20H[K[24;1H[1m-- Whole line completion (^L^N^P) [m[32mmatch 1 of 57[6;29H[m[24;4H[1mINSERT --e[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) [m[32mmatch 1 of 57[m[24;4H[1mAddinge Whole line completion (^L^N^P) -- Searching...[m
[32mScanning: test32.in[m[1me[m[24;20H[K[24;1H[1m-- Adding Whole line completion (^L^N^P) The only match[7;29H[m[24;41H[K[24;41H[1m [m[31mBack at original[7;1H[m[24;41H[K[24;41H[1m The only match[7;29H[5;11r[m[5;1H[3L[1;24r[5;1HMakefile[8Cto run3
Makefile[8Cto run3
Makefile[8Cto run3[?12l[?25h[24;1H[K[?25l[24;1H[1m-- INSERT --[m[24;1H[K[7;28H[?12l[?25h[8;9H[?25l[24;1H:[?12l[?25hse cpt=kXtestfile
[?25l[8;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw Xtest11.one
[?25l"Xtest11.one" [New] 9L, 104C written[12;1H[1m[7mXtest11.one+ [8;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw Xtest11.two
[?25l"Xtest11.two" [New] 9L, 104C written[8;9H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;4H[1mKeyword completion (^N^P) -- Searching...[m
[32mScanning dictionary: Xtestfile[m[1m-[m[24;31H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Keyword completion (^N^P) [m[32mmatch 1 of 9[8;7H[8;11r[m[8;1H[L[1;24r[8;1Htest11[12;13H[1m[7m[+][8;7H[mI[?12l[?25h [24;1H[K[?25l[24;1H[1m-- Keyword completion (^N^P) [m[32mmatch 1 of 9[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[8;6H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;1H[K[8;1HXtest11
[?12l[?25h[?25l[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...[m[24;34H[32mmatch 1 of 2[m[1m.[m[24;46H[K[8;12H[24;33H[K[24;33H[1m [m[32mmatch 2 of 2[8;12H[m.two[?12l[?25h[24;1H[K[?25l[24;1H[1m-- INSERT --[m[24;1H[K[8;11H[?12l[?25h[9;9H[?25l[24;1H:[?12l[?25h" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use
[?25l[9;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" CTRL-X CTRL-F again to verify this doesn't cause trouble.
[?25l[9;9H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...[m[24;34H[32mmatch 1 of 4[m[1m.[m[24;46H[K[9;8H[24;4H[1mINSERTa -- [m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...[m[24;34H[32mmatch 1 of 445[m[1m.[m[24;48H[K[9;13H
Make_all.mak
run1 run2[11;1H[K[9;13Hd[?12l[?25h [24;1H[K[?25l[24;1H[1m-- INSERT --[m[24;1H[K[9;12H[?12l[?25h[?25l
run1 run2[9;10H[K[10;1H[K[11;1H[1m[34m~ [9;1H[?12l[?25h[8;1H
[?25l[24;1H[m:[?12l[?25hse cpt=w
[?25l[9;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --
-- Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Keyword completion (^N^P) The only match[9;10H[m[24;29H[K[24;29H[1m [m[31mBack at original[9;3H[m[24;29H[K[24;1Hmatch in file test32.in[1m^[m[24;24H[K[24;1H[1m-- Keyword completion (^N^P) The only match[9;10H[m[24;29H[K[24;29H[1m [m[31mBack at original[9;3H[m[24;29H[K[24;1Hmatch in file test32.in[1m^[m[24;24H[K[24;1H[1m-- Keyword completion (^N^P) The only match[9;10H[m
STARTTEST
run1 run2[11;1H[K[9;10H[?12l[?25h[24;1H[K[?25l[24;1H[1m-- Keyword completion (^N^P) The only match[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[9;9H[?12l[?25h[10;9H[?25l[24;1H:[?12l[?25hse cpt=u nohid
[?25l[10;9H[?12l[?25h[?25l
[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [10;9H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;4H[1mKeyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Keyword completion (^N^P) The only match[10;8H[m[24;1H[K[24;1H[1m-- INSERT --
-- Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Keyword completion (^N^P) [m[32mmatch 1 of 3[11;7H[m[24;29H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mKeyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Keyword completion (^N^P) The only match[11;7H[10;23r[m[10;1H[2L[1;24r[10;1HENDTEST
unless[?12l[?25h[24;1H[K[?25l[24;1H[1m-- Keyword completion (^N^P) The only match[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[11;6H[?12l[?25h[12;6H[?25l[24;1H:[?12l[?25hse cpt=t,d def=^\\k* tags=Xtestfile notagbsearch
[?25l[12;6H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Tag completion (^]^N^P)^ N-- Searching...[m[24;28H[32mmatch 1 of 3[m[1m.[m[24;40H[K[12;7H[24;4H[1mINSERTm --e[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) [m[32mmatch 1 of 3[m[24;4H[1mDefinition completion (^D^N^P)^ U-- Searching...[m[24;50H[K[24;1H[32mScanning included file: Xtestfile[m[1m [m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Definition completion (^D^N^P) The only match[12;11H[24;4HINSERTt --n[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...[m
[32mScanning included file: Xtestfile[m[1m^[m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Adding Definition completion (^D^N^P) The only match[12;20H[24;4HINSERT --f[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- INSERTe --^[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Definition completion (^D^N^P)^ U-- Searching...[m
[32mScanning included file: Xtestfile[m[1m [m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Definition completion (^D^N^P) The only match[12;25H[24;4HINSERTt --n[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...[m
[32mScanning included file: Xtestfile[m[1m^[m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Adding Definition completion (^D^N^P) The only match[12;37H[24;4HINSERT --f[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...[m
[32mScanning included file: Xtestfile[m[1m^[m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Adding Definition completion (^D^N^P) The only match[12;38H[24;4HINSERT --f[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...[m
[32mScanning included file: Xtestfile[m[1m^[m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Adding Definition completion (^D^N^P) Word from other line[12;42H[24;4HINSERT --f[m[24;13H[K[24;1H[K[24;1H[1m-- Keyword completion (^N^P) -- Searching...[m
[32mScanning tags.[m[1mp[m[24;15H[K[24;10H[32mincluded file: Xtestfile[m
[1m-- Keyword completion (^N^P) The only match[13;4H[12;23r[m[12;1H[2L[1;24r[12;1Htest11file 36Gepeto[8C/Tag/ asd
asd[?12l[?25h[24;1H[K[?25l[24;1H[1m-- Keyword completion (^N^P) The only match[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[13;3H[?12l[?25h
ru[?25l[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test58.in" 656 lines, 11024 characters[1;1HTests 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[34m^[[mz=:"
:"
:" 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for spell checking. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 111 lines, 2591 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:"
:" 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[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Don't want to depend on the locale from the environment
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=latin1
[?25l[27m[23m[m[H[2J[1;1H:"
:" 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
:"[5;3H[K[6;4HDon't want to depend on the locale from the environment
:set enc=latin1[7;17H[K[8;2He![8;4H[K[9;2H"[9;3H[K[10;4HCheck using z= in new buffer (crash fixed by patch 7.4a.028).
:set maxmem=512 spell[11;22H[K[12;1Hiasd[34m^[[mz=:"
:"
:" Function to test .aff/.dic with list of good and bad words.
:func TestOne(aff, dic)
set spellfile=[16;17H[K[17;3H$put =''
$put ='test '. a:aff . '-' . a:dic[18;37H[K[19;1H " 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[22;23H[K[23;1H " use that spell file[23;24H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check using z= in new buffer (crash fixed by patch 7.4a.028).
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset maxmem=512 spell
[?25l[1;31H[44mvim[m
[41mSTARTTEST[7;10Hlatin1[11;6Hmaxmem
iasd[14;22Haff[m/.[41mdic
[m:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[16;7Hspellfile[m[18;18H[44ma[m:[41maff[m[9C[44ma[m:[41mdic[19;17Hspl[14Cdic[m and .[41maff
[m [41mexe[m[10C[44ma[m:[41maff[m . '[41maffstart[m[10C[44ma[m:[41maff[m . '[41maffend[m/-1w! [41mXtest[m.[41maff
[m [41mexe[m[10C[44ma[m:[41mdic[m . '[41mdicstart[m[10C[44ma[m:[41mdic[m . '[41mdicend[m/-1w! [41mXtest[m.[41mdic
[m [41mmkspell[m! [41mXtest[m [41mXtest[1;1H[?12l[?25h[?25lasdTests[m for spell checking. [44mvim[m: set ft=vim :[1;3H[?12l[?25h[?25l[24;1HChange "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[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[1;1H[41masdTests[m for spell checking. [44mvim[m: set ft=vim :
[41mSTARTTEST[m
:so small.vim
:"
:" Don't want to depend on the locale from the environment
:set enc=[41mlatin1[m
:e!
:"
:" Check using z= in new buffer (crash fixed by patch 7.4a.028).
:set [41mmaxmem[m=512 spell
[41miasd[m[34m^[[mz=:"
:"
:" Function to test .[41maff[m/.[41mdic[m with list of good and bad words.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
set [41mspellfile[m=
$put =''
$put ='test '. [44ma[m:[41maff[m . '-' . [44ma[m:[41mdic[m
" Generate a .[41mspl[m file from a .[41mdic[m and .[41maff[m file.
[41mexe[m '1;/^' . [44ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [44ma[m:[41maff[m . '[41maffend[m/-1w! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [44ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [44ma[m:[41mdic[m . '[41mdicend[m/-1w! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" use that spell file[1;3H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Function to test .aff/.dic with list of good and bad words.
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[27m[23m[m[H[2J[?25l[1;1H[41masdTests[m for spell checking. [44mvim[m: set ft=vim :
[41mSTARTTEST[m
:so small.vim
:"
:" Don't want to depend on the locale from the environment
:set enc=[41mlatin1[m
:e!
:"
:" Check using z= in new buffer (crash fixed by patch 7.4a.028).
:set [41mmaxmem[m=512 spell
[41miasd[m[34m^[[mz=:"
:"
:" Function to test .[41maff[m/.[41mdic[m with list of good and bad words.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
set [41mspellfile[m=
$put =''
$put ='test '. [44ma[m:[41maff[m . '-' . [44ma[m:[41mdic[m
" Generate a .[41mspl[m file from a .[41mdic[m and .[41maff[m file.
[41mexe[m '1;/^' . [44ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [44ma[m:[41maff[m . '[41maffend[m/-1w! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [44ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [44ma[m:[41mdic[m . '[41mdicend[m/-1w! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" use that spell file[1;3H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('1', '1')
[?25l"Xtest.aff" [24;13H[K[24;13H[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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =soundfold('goobledygoook')
[?25l[1;1H[19L[1;1Hthe end
uk
wrong
-------
[41mbad[m
['put', 'uk', 'OK']
[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test'][20;22H[K[21;1H[41mth[m[21;4H[K[22;1H['put', 'uk', 'test'][22;22H[K[23;1H[41mgebletegek[m[23;11H[K[24;1H[K[23;1H[?12l[?25h[?25l
[1;24r[23;1H[41mkepereneven[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l[1;23r[23;1H
[1;24r[23;1H[41meverles[m [41mgesvets[m [41metele[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" and now with SAL instead of SOFO items; test automatic reloading
[?25l[23;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H[41masdTests[m [41mfor[m [41mspell[m [41mchecking[m. [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:"
:" [41mDon't[m [41mwant[m [41mto[m [41mdepend[m [41mon[m [41mthe[m [41mlocale[m [41mfrom[m [41mthe[m [41menvironment[m
:[41mset[m [41menc[m=[41mlatin1[m
:[41me[m!
:"
:" [41mCheck[m [41musing[m [41mz[m= [41min[m [41mnew[m [41mbuffer[m ([41mcrash[m [41mfixed[m [41mby[m [41mpatch[m 7.4[41ma[m.028).
:[41mset[m [41mmaxmem[m=512 [41mspell
iasd[m[34m^[[m[41mz[m=:"
:"
:" [41mFunction[m [41mto[m test .[41maff[m/.[41mdic[m [41mwith[m [41mlist[m [41mof[m [41mgood[m [41mand[m [41mbad[m [41mwords[m.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
[41mset[m [41mspellfile[m=
$put =''
$put ='test '. [41ma[m:[41maff[m . '-' . [41ma[m:[41mdic[m
" [41mGenerate[m [41ma[m .[41mspl[m [41mfile[m [41mfrom[m [41ma[m .[41mdic[m [41mand[m .[41maff[m [41mfile[m.
[41mexe[m '1;/^' . [41ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [41ma[m:[41maff[m . '[41maffend[m/-1[41mw[m! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [41ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [41ma[m:[41mdic[m . '[41mdicend[m/-1[41mw[m! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" [41muse[m [41mthat[m [41mspell[m [41mfile[1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff
[?25l"Xtest.aff" [24;13H[K[24;13H151 lines, 3412 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmkspell! Xtest Xtest
[?25lReading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line 2, word 0 - test
Compressing word tree...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =soundfold('goobledygoook')
[?25l[1;1H[14L[1;1H-------
[41mbad[m
['put', 'uk', 'OK']
[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m[16;4H[K[17;1H['put', 'uk', 'test']
[41mthe[m[18;4H[K[19;1H['put', 'uk', 'test'][19;22H[K[20;1H[41mgebletegek[m[20;11H[K[21;1H[41mkepereneven[m[21;12H[K[22;1H[41meverles[m [41mgesvet[m[1C [41metele[m[22;22H[K[23;1H[41mkbltykk[m[23;9H[K[24;1H[K[23;1H[?12l[?25h[?25l
[1;24r[23;1H[41mkprnfn[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l[1;23r[23;1H
[1;24r[23;1H*[41mfls[m [41mkswts[m [41mtl[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" also use an addition file
[?25l[23;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H[41masdTests[m [41mfor[m [41mspell[m [41mchecking[m. [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:"
:" [41mDon't[m [41mwant[m [41mto[m [41mdepend[m [41mon[m [41mthe[m [41mlocale[m [41mfrom[m [41mthe[m [41menvironment[m
:[41mset[m [41menc[m=[41mlatin1[m
:[41me[m!
:"
:" [41mCheck[m [41musing[m [41mz[m= [41min[m [41mnew[m [41mbuffer[m ([41mcrash[m [41mfixed[m [41mby[m [41mpatch[m 7.4[41ma[m.028).
:[41mset[m [41mmaxmem[m=512 [41mspell
iasd[m[34m^[[m[41mz[m=:"
:"
:" [41mFunction[m [41mto[m test .[41maff[m/.[41mdic[m [41mwith[m [41mlist[m [41mof[m [41mgood[m [41mand[m [41mbad[m [41mwords[m.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
[41mset[m [41mspellfile[m=
$put =''
$put ='test '. [41ma[m:[41maff[m . '-' . [41ma[m:[41mdic[m
" [41mGenerate[m [41ma[m .[41mspl[m [41mfile[m [41mfrom[m [41ma[m .[41mdic[m [41mand[m .[41maff[m [41mfile[m.
[41mexe[m '1;/^' . [41ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [41ma[m:[41maff[m . '[41maffend[m/-1[41mw[m! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [41ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [41ma[m:[41mdic[m . '[41mdicend[m/-1[41mw[m! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" [41muse[m [41mthat[m [41mspell[m [41mfile[1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h/^addstart/+1,/^addend/-1w! Xtest.latin1.add
[?25l"Xtest.latin1.add" [24;20H[K[24;20H[New File] 3 lines, 38 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmkspell! Xtest.latin1.add.spl Xtest.latin1.add
[?25lReading word file Xtest.latin1.add ...[24;39H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset spellfile=Xtest.latin1.add
[?25l[1;1H[6L[1;1H[41masdTests[m [41mfor[m [41mspell[m [41mchecking[m. [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:"
:" [41mDon't[m [41mwant[m [41mto[m [41mdepend[m [41mon[m [41mthe[m [41mlocale[m [41mfrom[m [41mthe[m [41menvironment[m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/[?12l[?25h^test2:
[?25l[27m[23m[m[H[2J[2;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
elequint/2
elekwint/3
[41maddend
test2[m:
elequint test elekwint test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[12;1H[?12l[?25h[13;29H[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_us.latin1.spl
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[2;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
[46melequint[m/2
[46melekwint[m/3
[41maddend
test2[m:
[46melequint[m test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[m
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
[46melequint[m/2
[46melekwint[m/3
[41maddend
test2[m:
[46melequint[m test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[12;1H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint
elekwint
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_gb.latin1.spl
[?25l[22;1Helequint
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[2;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
elequint/2
[46melekwint[m/3
[41maddend
test2[m:
elequint test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[m
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[13;15H[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
elequint
[46melekwint
elekwint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
elequint/2
[46melekwint[m/3
[41maddend
test2[m:
elequint test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[12;15H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
elequint
[46melekwint
elekwint[m
[41melekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_nz.latin1.spl
[?25l[20;1H[46melequint[m
elekwint
elekwint
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[2;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
[46melequint[m/2
elekwint/3
[41maddend
test2[m:
[46melequint[m test elekwint test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[m
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint[m
elekwint
elekwint
[41melekwent[m
[46melequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
[46melequint[m/2
elekwint/3
[41maddend
test2[m:
[46melequint[m test elekwint test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[12;1H[?12l[?25h[28C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint[m
elekwint
elekwint
[41melekwent[m
[46melequint[m
[41melekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_ca.latin1.spl
[?25l[18;1H[41melequint
elekwint
elekwint
elequint
[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[2;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz
elequint[m/2
[41melekwint[m/3
[41maddend
test2[m:
[41melequint[m test [41melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[m
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
elequint
elekwint
elekwint
elekwent
elequint
elekwent
elequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz
elequint[m/2
[41melekwint[m/3
[41maddend
test2[m:
[41melequint[m test [41melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[12;1H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1Htest
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
elequint
elekwint
elekwint
elekwent
elequint
elekwent
elequint
elekwint
[?12l[?25h[?25l
[m:[?12l[?25hunlet str a
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Postponed prefixes
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('2', '1')
[?25l"Xtest.aff" [24;13H[K[24;13H44 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...[24;26H[K[24;1H
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
2[41maffend[m
2[41mgood[m: puts
badend[m[14;1H[K[15;1H[41maddstar[m
/[41mregions[m=[41musgbnz
elequ[m[3C/2[18;9H/3
[41maddend[m[19;7H[K[20;1H[K[21;1H[41mtest2[m:[21;7H[K[22;10Htest [41melekwint[m test [41melekwent[m [41masdf[m[23;1H[K[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" Compound words
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('3', '3')
[?25l"Xtest.aff" [24;13H[K[24;13H5 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('4', '4')
[?25l"Xtest.aff" [24;13H[K[24;13H45 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('5', '5')
[?25l"Xtest.aff" [24;13H[K[24;13H25 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('6', '6')
[?25l"Xtest.aff" [24;13H[K[24;13H23 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('7', '7')
[?25l"Xtest.aff" [24;13H[K[24;13H22 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[1;1H1234
[41mmee[m/391,111,9999
bar/17,61003,123
lead/2
tail/123
[41mmiddle[m/77,1
7[41mdicend[m
[41mbad[m: [41mmee[m [41mmeea2[m [41mprabar[m [41mprobarmaat[m [41mmiddle[m [41mleadmiddle[m [41mmiddletail[m [41mtaillead[12;9Hleadprobar
badend
Test[m [41mNOSLITSUGS[m
8[41maffstart
SET[m [41mISO8859[m-1
[41mNOSPLITSUGS[m
8[41maffend[m
8[41mdicstart[13;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h" NOSLITSUGS
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('8', '8')
[?25l"Xtest.aff" [24;13H[K[24;13H3 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" Numbers
[?25l[1;1H[11L[1;1H[41mNOSPLITSUGS[m
8[41maffend[m
8[41mdicstart[m
1234
foo
bar
faabar
8[41mdicend[m
8[41mgood[m: foo bar faabar
[41mbad[m: [41mfoobar[m [41mbarfoo[m[15;1H[K[16;1H[41mTest[m [41mNumbers[m[17;1H[K[18;1H9[41maffstart[m[18;10H[K[19;1H9[41maffend[m[20;1H[K[21;1H9[41mdicstart[m
1234
foo[23;4H[K[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall TestOne('9', '9')
[?25l[1m[37m[41mError detected while processing function TestOne:[m
[33mline 5:[m
[1m[37m[41mE493: Backwards range given: 1;/^9affstart/+1,/^9affend/-1w! Xtest.aff[m
"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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[13L[1;1H[41mTest[m [41mNumbers[m
9[41maffstart[m
9[41maffend[m
9[41mdicstart[m
1234
foo
bar
9[41mdicend[m
9[41mgood[m: 0b1011 0777 1234 0x01ff
[41mbadend
test[m [41moutput[m:
[41mtest[m 1-1[18;9H[K[19;1H# [1C[41mile[m: [41mXtest[m.[41mlatin1[m.[41mspl
Comment
input[m[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" clean up for valgrind
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc TestOne
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset spl= enc=latin1
[?25l[27m[23m[m[H[2J[1;1HTest 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[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HasdTests 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[34m^[[mz=:"
:"
:" 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[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^test output:/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test59.in" 626 lines, 10897 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for spell checking with 'encoding' set to "utf-8". vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 106 lines, 2520 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Don't want to depend on the locale from the environment. The .aff and .dic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" text is in latin1, the test text is utf-8.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=latin1
[?25l[27m[23m[m[H[2J[1;1H: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
:" text is in latin1, the test text is utf-8.[9;6Henc=latin1[9;16H[K[10;2He!
:set enc=utf-8[11;15H[K[12;1H:set fenc=
:"
:" Function to test .aff/.dic with list of good and bad words.
:func TestOne(aff, dic)
set spellfile=[16;17H[K[17;3H$put =''
$put ='test '. a:aff . '-' . a:dic[18;37H[K[19;1H " 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[22;23H[K[23;1H " use that spell file[23;24H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=utf-8
[?25l[27m[23m[m[H[2J[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Function to test .aff/.dic with list of good and bad words.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[27m[23m[m[H[2J[?25l[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('1', '1')
[?25l"Xtest.aff" [24;13H[K[24;13H[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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =soundfold('goobledygoook')
[?25l[1;1H[19L[1;1Hthe end
uk
wrong
-------
[41mbad[m
['put', 'uk', 'OK']
[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[17;3Hôl[m
['deol', 'dé[18;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test'][20;22H[K[21;1H[41mthe[m[21;4H[K[22;1H['put', 'uk', 'test'][22;22H[K[23;1H[41mgebletegek[m[23;11H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('kó[24;21Hopërÿnôven')
[?25l[1;23r[23;1H
[1;24r[23;1H[41mkepereneven[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l[1;23r[23;1H
[1;24r[23;1H[41meverles[m [41mgesvets[m [41metele[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" and now with SAL instead of SOFO items; test automatic reloading
[?25l[23;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H[41mTests[m [41mfor[m [41mspell[m [41mchecking[m [41mwith[m '[41mencoding[m' [41mset[m [41mto[m "[41mutf-8[m". [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:[41mso[m [41mmbyte[m.[41mvim[m
:"
:" [41mDon't[m [41mwant[m [41mto[m [41mdepend[m [41mon[m [41mthe[m [41mlocale[m [41mfrom[m [41mthe[m [41menvironment[m. [41mThe[m .[41maff[m [41mand[m .[41mdic[m
:" [41mtext[m [41mis[m [41min[m [41mlatin1[m, [41mthe[m test [41mtext[m [41mis[m [41mutf-8[m.
:[41mset[m [41menc[m=[41mlatin1[m
:[41me[m!
:[41mset[m [41menc[m=[41mutf-8[m
:[41mset[m [41mfenc[m=
:"
:" [41mFunction[m [41mto[m test .[41maff[m/.[41mdic[m [41mwith[m [41mlist[m [41mof[m [41mgood[m [41mand[m [41mbad[m [41mwords[m.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
[41mset[m [41mspellfile[m=
$put =''
$put ='test '. [41ma[m:[41maff[m . '-' . [41ma[m:[41mdic[m
" [41mGenerate[m [41ma[m .[41mspl[m [41mfile[m [41mfrom[m [41ma[m .[41mdic[m [41mand[m .[41maff[m [41mfile[m.
[41mexe[m '1;/^' . [41ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [41ma[m:[41maff[m . '[41maffend[m/-1[41mw[m! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [41ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [41ma[m:[41mdic[m . '[41mdicend[m/-1[41mw[m! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" [41muse[m [41mthat[m [41mspell[m [41mfile[1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff
[?25l"Xtest.aff" [24;13H[K[24;13H153 lines, 3426 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmkspell! Xtest Xtest
[?25lReading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line 2, word 0 - test
Compressing word tree...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =soundfold('goobledygoook')
[?25l[1;1H[14L[1;1H-------
[41mbad[m
['put', 'uk', 'OK']
[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[14;3Hôl[m
['deol', 'dé[15;13Hôr', 'test']
[41mend[m[16;4H[K[17;1H['put', 'uk', 'test']
[41mthe[m[18;4H[K[19;1H['put', 'uk', 'test'][19;22H[K[20;1H[41mgebletegek[m[20;11H[K[21;1H[41mkepereneven[m[21;12H[K[22;1H[41meverles[m [41mgesvet[m[1C [41metele[m[22;22H[K[23;1H[41mkbltykk[m[23;9H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('kó[24;21Hopërÿnôven')
[?25l[1;23r[23;1H
[1;24r[23;1H[41mkprnfn[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l[1;23r[23;1H
[1;24r[23;1H*[41mfls[m [41mkswts[m [41mtl[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" also use an addition file
[?25l[23;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H[41mTests[m [41mfor[m [41mspell[m [41mchecking[m [41mwith[m '[41mencoding[m' [41mset[m [41mto[m "[41mutf-8[m". [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:[41mso[m [41mmbyte[m.[41mvim[m
:"
:" [41mDon't[m [41mwant[m [41mto[m [41mdepend[m [41mon[m [41mthe[m [41mlocale[m [41mfrom[m [41mthe[m [41menvironment[m. [41mThe[m .[41maff[m [41mand[m .[41mdic[m
:" [41mtext[m [41mis[m [41min[m [41mlatin1[m, [41mthe[m test [41mtext[m [41mis[m [41mutf-8[m.
:[41mset[m [41menc[m=[41mlatin1[m
:[41me[m!
:[41mset[m [41menc[m=[41mutf-8[m
:[41mset[m [41mfenc[m=
:"
:" [41mFunction[m [41mto[m test .[41maff[m/.[41mdic[m [41mwith[m [41mlist[m [41mof[m [41mgood[m [41mand[m [41mbad[m [41mwords[m.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
[41mset[m [41mspellfile[m=
$put =''
$put ='test '. [41ma[m:[41maff[m . '-' . [41ma[m:[41mdic[m
" [41mGenerate[m [41ma[m .[41mspl[m [41mfile[m [41mfrom[m [41ma[m .[41mdic[m [41mand[m .[41maff[m [41mfile[m.
[41mexe[m '1;/^' . [41ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [41ma[m:[41maff[m . '[41maffend[m/-1[41mw[m! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [41ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [41ma[m:[41mdic[m . '[41mdicend[m/-1[41mw[m! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" [41muse[m [41mthat[m [41mspell[m [41mfile[1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h/^addstart/+1,/^addend/-1w! Xtest.utf-8.add
[?25l"Xtest.utf-8.add" [24;19H[K[24;19H[New File] 3 lines, 38 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmkspell! Xtest.utf-8.add.spl Xtest.utf-8.add
[?25lReading word file Xtest.utf-8.add ...[24;38H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset spellfile=Xtest.utf-8.add
[?25l[1;1H[6L[1;1H[41mTests[m [41mfor[m [41mspell[m [41mchecking[m [41mwith[m '[41mencoding[m' [41mset[m [41mto[m "[41mutf-8[m". [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:[41mso[m [41mmbyte[m.[41mvim[m
:"[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/[?12l[?25h^test2:
[?25l[27m[23m[m[H[2J[1;9H[41mtomato[m [41mtomatotomato[m [41mstartend[m [41mstartword[m [41mstartwordword[m [41mstartwordend[2;9Hstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[3;9Hpreborkborkbork[4;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[6;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[7;9Hpreborkprebork[m [41mpreborkpreborkbork[8;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[9;9Hutilsbork[m [41mstartnouword
badend
test2[m:
elequint test elekwint test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !![12;1H[?12l[?25h[13;29H[?25l[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[11;3Hôl[m
['deol', 'dé[12;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_us.utf-8.spl
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;9H[41mtomato[m [41mtomatotomato[m [41mstartend[m [41mstartword[m [41mstartwordword[m [41mstartwordend[2;9Hstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[3;9Hpreborkborkbork[4;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[6;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[7;9Hpreborkprebork[m [41mpreborkpreborkbork[8;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[9;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[46melequint[m test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[10;3Hôl[m
['deol', 'dé[11;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;9H[41mstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[2;9Hpreborkborkbork[3;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[5;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[6;9Hpreborkprebork[m [41mpreborkpreborkbork[7;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[8;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[46melequint[m test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[41mCOMPOUNDRULE[m [41mssmm[m*[41mee[12;1H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[9;3Hôl[m
['deol', 'dé[10;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint
elekwint
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_gb.utf-8.spl
[?25l[22;1Helequint
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;9H[41mtomato[m [41mtomatotomato[m [41mstartend[m [41mstartword[m [41mstartwordword[m [41mstartwordend[2;9Hstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[3;9Hpreborkborkbork[4;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[6;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[7;9Hpreborkprebork[m [41mpreborkpreborkbork[8;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[9;9Hutilsbork[m [41mstartnouword
badend
test2[m:
elequint test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[13;15H[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[8;3Hôl[m
['deol', 'dé[9;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
elequint
[46melekwint
elekwint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;9H[41mstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[2;9Hpreborkborkbork[3;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[5;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[6;9Hpreborkprebork[m [41mpreborkpreborkbork[7;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[8;9Hutilsbork[m [41mstartnouword
badend
test2[m:
elequint test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[41mCOMPOUNDRULE[m [41mssmm[m*[41mee[12;15H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[7;3Hôl[m
['deol', 'dé[8;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
elequint
[46melekwint
elekwint[m
[41melekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_nz.utf-8.spl
[?25l[20;1H[46melequint[m
elekwint
elekwint
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;9H[41mtomato[m [41mtomatotomato[m [41mstartend[m [41mstartword[m [41mstartwordword[m [41mstartwordend[2;9Hstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[3;9Hpreborkborkbork[4;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[6;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[7;9Hpreborkprebork[m [41mpreborkpreborkbork[8;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[9;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[46melequint[m test elekwint test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[6;3Hôl[m
['deol', 'dé[7;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint[m
elekwint
elekwint
[41melekwent[m
[46melequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;9H[41mstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[2;9Hpreborkborkbork[3;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[5;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[6;9Hpreborkprebork[m [41mpreborkpreborkbork[7;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[8;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[46melequint[m test elekwint test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[41mCOMPOUNDRULE[m [41mssmm[m*[41mee[12;1H[?12l[?25h[28C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[5;3Hôl[m
['deol', 'dé[6;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint[m
elekwint
elekwint
[41melekwent[m
[46melequint[m
[41melekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_ca.utf-8.spl
[?25l[18;1H[41melequint
elekwint
elekwint
elequint
[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;9H[41mtomato[m [41mtomatotomato[m [41mstartend[m [41mstartword[m [41mstartwordword[m [41mstartwordend[2;9Hstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[3;9Hpreborkborkbork[4;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[6;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[7;9Hpreborkprebork[m [41mpreborkpreborkbork[8;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[9;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[41melequint[m test [41melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[4;3Hôl[m
['deol', 'dé[5;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
elequint
elekwint
elekwint
elekwent
elequint
elekwent
elequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;9H[41mstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[2;9Hpreborkborkbork[3;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[5;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[6;9Hpreborkprebork[m [41mpreborkpreborkbork[7;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[8;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[41melequint[m test [41melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[41mCOMPOUNDRULE[m [41mssmm[m*[41mee[12;1H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1Htest
['Test', 'testn', 'testen']
[41mdé[3;3Hôl[m
['deol', 'dé[4;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
elequint
elekwint
elekwint
elekwent
elequint
elekwent
elequint
elekwint
[?12l[?25h[?25l
[m:[?12l[?25hunlet str a
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Postponed prefixes
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('2', '1')
[?25l"Xtest.aff" [24;13H[K[24;13H46 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[12L[1;1H[41maddstart[m
/[41mregions[m=[41musgbnz
elequint[m/2
[41melekwint[m/3
[41maddend[m
1[41mgood[m: wrong OK puts. Test the end
[41mbad[m: [41minputs[m [41mcomment[m [41mok[m [41mOk[m. [44mtest[m [41mdé[8;36Hôl[m [41mend[m [41mthe
badend[m
2[41mgood[m: puts
[41mbad[m: [41minputs[m [41mcomment[m [41mok[m [41mOk[m [41mend[m [41mthe[m. [44mtest[m [41mdé[12;43Hôl
badend[m[14;1H[K[15;1HTest [41mrules[m [41mfor[m [41mcompounding[m.[16;1H[K[17;1H3[41maffstart
SET[m [41mISO8859-1[m[19;1H[K[20;1H[41mCOMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[m[23;8H[K[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" Compound words
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('3', '3')
[?25l"Xtest.aff" [24;13H[K[24;13H5 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('4', '4')
[?25l"Xtest.aff" [24;13H[K[24;13H45 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('5', '5')
[?25l"Xtest.aff" [24;13H[K[24;13H25 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('6', '6')
[?25l"Xtest.aff" [24;13H[K[24;13H23 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('7', '7')
[?25l"Xtest.aff" [24;13H[K[24;13H26 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[1;1H1234
[41mmee[m/391,111,9999
bar/17,61003,123
lead/2
tail/123
[41mmiddle[m/77,1
7[41mdicend[m
7[41mgood[m: meea1 meeaé[9;20Hbar prebar barmeat prebarmeat leadprebar[10;7Hlead tail leadtail leadmiddletail
[41mbad[m: [41mmee[m [41mmeea2[m [41mprabar[m [41mprobarmaat[m [41mmiddle[m [41mleadmiddle[m [41mmiddletail[m [41mtaillead[12;9Hleadprobar
badend
test[m [41moutput[m:
[41mtest[m 1-1
# [41mfile[m: [41mXtest[m.[41mutf[m-8.[41mspl
Comment
deol
dé[21;3Hôr
input
OK[13;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h" clean up for valgrind
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc TestOne
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset spl= enc=latin1
[?25l[27m[23m[m[H[2J[1;1H1234
mee/391,111,9999
bar/17,61003,123
lead/2
tail/123
middle/77,1
7dicend
7good: meea1 meeaé bar prebar barmeat prebarmeat leadprebar[10;7Hlead tail leadtail leadmiddletail
bad: mee meea2 prabar probarmaat middle leadmiddle middletail taillead[12;9Hleadprobar
badend
test output:
test 1-1
# file: Xtest.utf-8.spl
Comment
deol
déôr
input
OK[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^test output:/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test72.in" 146 lines, 2110 characters[1;1HTests 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[34m^[[m: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/[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for undo file.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 135 lines, 1913 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[18;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test 'undofile': first a simple one-line change.
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo visualbell
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ul=100 undofile nomore
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1Hthis is one line[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[1;16H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hs/one/ONE/
[?25l[1;9HONE
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ul=100
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xtestfile" [New] 1L, 17C written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe![1;9H[K[2;1H:e Xtestfile[2;13H[K[3;1Hfoo2bar[3;8H[K[4;1H:set key=[4;10H[K[5;1H/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtestfile
[?25l"Xtestfile" 1L, 17C[1;1Hthis is ONE line
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H1 change; before #2 0 seconds ago[1;9Hone
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 1L, 17C written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test 'undofile', change in original file fails check
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noundofile
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;13H1L, 17C[1;9HONE
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hs/line/Line/
[?25l[1;13HL
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xtestfile" 1L, 17C written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset undofile
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe![1;9H[K[2;1H:e Xtestfile[2;13H[K[3;1Hfoo2bar[3;8H[K[4;1H:set key=[4;10H[K[5;1H/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtestfile
[?25l"Xtestfile" 1L, 17C[1;1Hthis is ONE Line
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" TODO: this beeps
[?25l[1;1H[?12l[?25h[?5h[?5l[?25l[24;1HAlready at oldest change[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 17C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test 'undofile', add 10 lines, delete 6 lines, undo 3
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset undofile
[?25l[1;1H[?12l[?25h[?25l[1;1H[K[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1Hone
two[2;4H[K[3;1Hthree[3;6H[K[4;1Hfour[4;5H[K[5;1Hfive[5;5H[K[6;1Hsix[6;4H[K[7;1Hseven[7;6H[K[8;1Height[8;6H[K[9;1Hnine[9;5H[K[10;1Hten[10;4H[K[10;3H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[10;3H[?12l[?25h[3;1H[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xtestfile" 4L, 17C written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe!
:e Xtestfile
foo2bar
:set key=
/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtestfile
[?25l"Xtestfile" 4L, 17C[1;1Hone[1;4H[K[2;1Htwo[2;4H[K[3;1Hnine[3;5H[K[4;1Hten[4;4H[K[5;1H[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H1 more line; before #7 1 seconds ago[3;23r[3;1H[L[1;24r[3;1Height[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #6 1 seconds ago[3;23r[3;1H[L[1;24r[3;1Hseven[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #5 1 seconds ago[3;23r[3;1H[L[1;24r[3;1Hsix[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H7L, 33C appended[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test that reading the undofiles when setting undofile works
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noundofile ul=0
[?25l[3;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[4;23r[4;1H[L[1;24r[3;1H[K[4;1Hsix
u[?12l[?25hs[24;1H[K[?25l[4;1H[?12l[?25h[?25l[24;1H1 line less; before #8 0 seconds ago[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;13H4L, 17C[3;1Hnine
ten[4;4H[K[5;1H[1m[34m~ [6;1H~ [7;1H~ [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset undofile ul=100
[?25l[3;1H[?12l[?25h[?25l[24;1H1 more line; before #7 1 seconds ago[3;23r[3;1H[L[1;24r[3;1Height[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #6 1 seconds ago[3;23r[3;1H[L[1;24r[3;1Hseven[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #5 1 seconds ago[3;23r[3;1H[L[1;24r[3;1Hsix[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #4 1 seconds ago[3;23r[3;1H[L[1;24r[3;1Hfive[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #3 1 seconds ago[3;23r[3;1H[L[1;24r[3;1Hfour[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #2 1 seconds ago[3;23r[3;1H[L[1;24r[3;1Hthree[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H10L, 49C appended[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" And now with encryption, cryptmethod=zip
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;13H4L, 17C[3;1Hnin[3;5H[K[4;1Hten[4;4H[K[5;1H[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset undofile cm=zip
[?25l[3;1H[?12l[?25h[1;1H[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1Hmonday
tuesday[2;8H[K[3;1Hwednesday[3;10H[K[4;1Hthursday[4;9H[K[5;1Hfriday[5;7H[K[5;6H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[5;6H[?12l[?25h[4;6H[3;6H[2;6H[?25l[2;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[2;1H[?12l[?25h[?25l[2;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[2;1H[?12l[?25h[?25l[2;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hX
[?25lWarning: Using a weak encryption method; see :help 'cm'
Enter encryption key: [?12l[?25h******
[?25lEnter same key again: [?12l[?25h******
[1;1H[3L[?25l[1;1Hmonday
friday
[1m[34m~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw!
[?25l"Xtestfile" [crypted] 2L, 14C written[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe!
:e Xtestfile
foo2bar[3;8H[K[4;1H:set key=[4;10H[K[5;1H/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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, 14C[1;1H[3L[1;1Hmonday
friday
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[24;1H"Xtestfile" [crypted] 2L, 14C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset key=
[?25l[1;1H[?12l[?25h[?25l[24;1H1 more line; before #11 1 seconds ago[2;23r[2;1H[L[1;24r[2;1Hthursday[24;1H[K[2;1H[?12l[?25h[?25l[24;1H1 more line; before #10 1 seconds ago[2;23r[2;1H[L[1;24r[2;1Hwednesday[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H4L, 33C appended[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" With encryption, cryptmethod=blowfish
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;1HNeed encryption key for "Xtestfile"
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: [?12l[?25h*******
[1m[34m~ [3;1H~ [4;1H~ [m[24;1H[K[24;1H"Xtestfile" [noeol][crypted] 1L, 14C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset undofile cm=blowfish ff&
[?25l[1;1H[?12l[?25h[?25l[1;1H[K[24;1H--No lines in buffer--[24;23H[K[1;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1Hjan
feb[2;4H[K[3;1Hmar[3;4H[K[4;1Hapr[4;4H[K[5;1Hjun[5;4H[K[5;3H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[5;3H[?12l[?25h[4;3H[3;3H
[?25l[24;1H[1m-- INSERT --[m[24;1H[K[3;1Hfoo mar[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;4H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;1H[K[3;1Hbar apr[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hX
[?25lWarning: Using a weak encryption method; see :help 'cm'
Enter encryption key: [?12l[?25h******
[?25lEnter same key again: [?12l[?25h******
[1;1H[3L[?25l[1;1Hjan
feb
bar apr[24;1H[K[3;4H[?12l[?25h[?25l[24;1H:[?12l[?25hw!
[?25l"Xtestfile" [blowfish] 4L, 20C written[3;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe!
:e Xtestfile
foo2ba
:set key=
/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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, 20C[1;1H[3L[1;1Hjan
feb
bar apr
jun[4;4H[K[5;1H[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[24;1H"Xtestfile" [blowfish] 4L, 20C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset key=
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hbar
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 8C appended[3;1H[?12l[?25h[?25l[24;1H1 change; before #15 2 seconds ago[3;1Hap[3;5H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 4C appended[3;1H[?12l[?25h[?25l[24;1H1 more line; before #14 2 seconds ago[3;23r[3;1H[L[1;24r[3;1Hfoo mar[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 8C appended[3;1H[?12l[?25h[?25l[24;1H1 change; before #13 2 seconds ago[3;1Hmar[3;5H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 4C appended[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" With encryption, cryptmethod=blowfish2
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;1HNeed encryption key for "Xtestfile"
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: [?12l[?25h*******
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[24;1H[K[24;1H"Xtestfile" [noeol][blowfish] 1L, 20C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset undofile cm=blowfish2 ff&
[?25l[1;1H[?12l[?25h[?25l[1;1H[K[24;1H--No lines in buffer--[24;23H[K[1;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1Hjan
feb[2;4H[K[3;1Hmar[3;4H[K[4;1Hapr[4;4H[K[5;1Hjun[5;4H[K[5;3H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[5;3H[?12l[?25h[4;3H[3;3H
[?25l[24;1H[1m-- INSERT --[m[24;1H[K[3;1Hfoo mar[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;4H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;1H[K[3;1Hbar apr[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hX
[?25l[24;1H[K[24;1HEnter encryption key: [?12l[?25h*******
[?25lEnter same key again: [?12l[?25h*******
[1;1H[2L[?25l[1;1Hjan
feb[24;1H[K[3;4H[?12l[?25h[?25l[24;1H:[?12l[?25hw!
[?25l"Xtestfile" [blowfish2] 4L, 20C written[3;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe!
:e Xtestfile
foo2ba
:set key=
/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtestfile
[?25l"Xtestfile"
Need encryption key for "Xtestfile"
Enter encryption key: [?12l[?25h*******
[?25l"Xtestfile" [blowfish2] 4L, 20C[1;1H[2L[1;1Hjan
feb
bar ap
jun[4;4H[K[5;1H[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[24;1H"Xtestfile" [blowfish2] 4L, 20C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset key=
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hbar
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 8C appended[3;1H[?12l[?25h[?25l[24;1H1 change; before #19 0 seconds ago[3;1Hap[3;5H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 4C appended[3;1H[?12l[?25h[?25l[24;1H1 more line; before #18 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Hfoo mar[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 8C appended[3;1H[?12l[?25h[?25l[24;1H1 change; before #17 1 seconds ago[3;1Hmar[3;5H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 4C appended[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Rename the undo file so that it gets cleaned up.
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1Hjan
feb
mar
apr[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test78.in" 46 lines, 1464 characters[1;1HInserts 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 = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0122[13;1H3456789abcdefghijklmnoparstuvwxyz0123456789"
: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:][::[23;1Hcntrl:]]*$', '\1', '')[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HInserts 10000 lines with text to fill the swap file with two levels of pointer[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 37 lines, 1208 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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 ""[13;1H . linecount . " lines but found only " . linedollar) | exe 'wincmd w' | let linn[14;1Hecount = linedollar | endif
:let i = 1
:while i <= linecount | if getline(i) != i . text | exe 'wincmd w' | call appendd[17;1H(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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp fileformat=unix undolevels=-1 viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest
[?25l"Xtest" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet text = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01
[23;80H2[24;1H3456789abcdefghijklmnoparstuvwxyz0123456789"
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet i = 1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet linecount = 10000
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwhile i <= linecount | call append(i - 1, i . text) | let i += 1 | endwhile
[?25l[1;1H9990 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[2;1Habcdefghijklmnoparstuvwxyz0123456789[2;37H[K[3;1H9991 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[4;1Habcdefghijklmnoparstuvwxyz0123456789[4;37H[K[5;1H9992 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[6;1Habcdefghijklmnoparstuvwxyz0123456789[6;37H[K[7;1H9993 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[8;1Habcdefghijklmnoparstuvwxyz0123456789[8;37H[K[9;1H9994 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[10;1Habcdefghijklmnoparstuvwxyz0123456789[10;37H[K[11;1H9995 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[12;1Habcdefghijklmnoparstuvwxyz0123456789[12;37H[K[13;1H9996 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[14;1Habcdefghijklmnoparstuvwxyz0123456789[14;37H[K[15;1H9997 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[16;1Habcdefghijklmnoparstuvwxyz0123456789[16;37H[K[17;1H9998 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[18;1Habcdefghijklmnoparstuvwxyz0123456789[18;37H[K[19;1H9999 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[20;1Habcdefghijklmnoparstuvwxyz0123456789[20;37H[K[21;1H10000 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[22;1Habcdefghijklmnoparstuvwxyz0123456789[22;37H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hpreserve
[?25lFile preserved[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" get the name of the swap file
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir => swapname
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hswapname
[?25l.Xtest.swp[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet swapname = substitute(swapname, '[[:blank:][:cntrl:]]*\(.\{-}\)[[:blank:][
[23;80H:[24;1Hcntrl:]]*$', '\1', '')
[?25l[1;1H[L[1;1H9990 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[2;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
9998[75C99[16;1Ha
9999[75C99[18;1Ha
10000 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[20;1Habcdefghijklmnoparstuvwxyz0123456789
[1m[34m~ [m[23;1H[7mXtest [+] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25honly!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hbwipe! Xtest
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall rename('Xswap', swapname)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hrecover Xtest
[?25lUsing swap file ".Xtest.swp"
Original file "/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtest"
[23;1H"/<<PKGBUILDDIR>>/src/vim-gtk/testdir/Xtest" [New File][23;70H[K[24;1HRecovery 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.
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall delete(swapname)
[?25l[1;1H[8L[1;1H1[7Cabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[2;1Habcdefghijklmnoparstuvwxyz0123456789
2[7Cabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[4;1Habcdefghijklmnoparstuvwxyz0123456789
3[7Cabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[6;1Habcdefghijklmnoparstuvwxyz0123456789
4[7Cabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[8;1Habcdefghijklmnoparstuvwxyz0123456789
5 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[10;1Habcdefghijklmnoparstuvwxyz0123456789[10;37H[K[11;1H6 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[12;1Habcdefghijklmnoparstuvwxyz0123456789[12;37H[K[13;1H7 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[14;1Habcdefghijklmnoparstuvwxyz0123456789[14;37H[K[15;1H8 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[16;1Habcdefghijklmnoparstuvwxyz0123456789[16;37H[K[17;1H9 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[18;1Habcdefghijklmnoparstuvwxyz0123456789[18;37H[K[19;1H10 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[20;1Habcdefghijklmnoparstuvwxyz0123456789[20;37H[K[21;1H11 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[22;1Habcdefghijklmnoparstuvwxyz0123456789[22;37H[K[23;1H12 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789[23;1H[1m[34m@ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1H1[78C99[14;1Ha
2[78C99[16;1Ha
3[78C99[18;1Ha
4 [77C99[20;1Ha
5 [77C99[22;1Ha
[7mXtest [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(0, 'recovery start')
[?25l[1;11r[1;1H[L[1;24r[1;1Hrecovery start[12;11H[1m[7m[+][m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hwincmd w
[?25l[12;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7mXtest [+] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet linedollar = line('$')
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif linedollar < linecount | exe 'wincmd w' | call append(line('$'), "expected
[23;80H"[24;1H . linecount . " lines but found only " . linedollar) | exe 'wincmd w' | let li
[23;80Hn[24;1Hecount = linedollar | endif
[?25l[1;1H[2L[1;1Hrecovery start[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet i = 1
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwhile i <= linecount | if getline(i) != i . text | exe 'wincmd w' | call appen
[23;80Hd[24;1H(line('$'), i . ' differs') | exe 'wincmd w' | endif | let i += 1 | endwhile
[?25l[1;1H[L[1;1Hrecovery start[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hq!
[?25l[12;1H[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), 'recovery end')
[?25l[3;1Hrecovery end[3;13H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 3L, 29C written[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test83.in" 76 lines, 1273 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for tag search with !_TAG_FILE_ENCODING.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 58 lines, 1021 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=utf8
[?25l[27m[23m[m[H[2J[1;1H: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[13;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[4L[?25l[1;1H:tag abc50
:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'
: close
: put ='case3: failed'[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt
[?25l"Xtags1.txt" [24;14H[K[24;14H[New File] 2 lines, 35 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt
[?25l"Xtags2.txt" [24;14H[K[24;14H[New File] 2 lines, 25 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt
[?25l"Xtags3.txt" [24;14H[K[24;14H[New File] 2 lines, 25 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^tags1$/+1,/^tags1-end$/-1w! Xtags1
[?25l"Xtags1" [24;10H[K[24;10H[New File] 2 lines, 81 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HTests 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[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall setline('.', 'Results of test83')
[?25l[1;1HResults of test83
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" case1:
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[12;1H[1m[7m[No Name] [m[13;1HResults of test83[13;18H[K[23;1H[7mtest83.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset tags=Xtags1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v:errmsg = ''
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htag abcdefghijklmnopqrs
[?25l"Xtags1.txt" [24;14H[K[24;14H2 lines, 35 characters[1;1Htext for tags1
abcdefghijklmnopqrs[2;20H[K[12;1H[1m[7mXtags1.txt[2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1HResults of test83
case1: ok
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [12;1H~ [13;1H~ [23;1H~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" case2:
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [m[12;1H[1m[7m[No Name] [m[13;1HResults of test83[13;18H[K[14;1Hcase1: ok[14;10H[K[23;1H[7mtest83.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset tags=test83-tags2
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v:errmsg = ''
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htag /.BC
[?25l"Xtags2.txt" 2 lines, 25 characters[1;1Htext for tags2
ABC[2;7H[K[12;1H[1m[7mXtags2.txt[2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1HResults of test83
case1: ok
case2: ok
[1m[34m~ [5;1H~ [6;1H~ [12;1H~ [13;1H~ [14;1H~ [23;1H~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" case3:
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [m[12;1H[1m[7m[No Name] [m[13;1Hcase1: ok[13;10H[K[14;1Hcase2: ok[14;10H[K[23;1H[7mtest83.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset tags=test83-tags3
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v:errmsg = ''
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htag abc50
[?25l"Xtags3.txt" 2 lines, 25 characters[1;1Htext for tags3
ABC[2;7H[K[12;1H[1m[7mXtags3.txt[2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1HResults of test83
case1: ok
case2: ok
case3: ok
[1m[34m~ [6;1H~ [12;1H~ [13;1H~ [14;1H~ [23;1H~ [m[24;1H[K[4;1H[?12l[?25h[?25l[24;1H:[?12l[?25hclose
[?25l[1m[37m[41mE37: No write since last change (add ! to override)[4;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test89.in" 71 lines, 1514 characters[1;1H- 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1H- Some tests for setting 'number' and 'relativenumber'[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 63 lines, 1305 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden nocp nu rnu viminfo+=nviminfo
[?25l[1;1H[33m 21 [m:$put g[1;12H[K[2;1H[33m 20 [m:$put h
[33m 19 [m:"[3;7H[K[4;1H[33m 18 [m:let cwd=getcwd()
[33m 17 [m:cd ..[5;11H[K[6;1H[33m 16 [m:" Tests may be run from a shadow directory, so an extra cd needs to be donee[7;1H[33m [m to[7;8H[K[8;1H[33m 15 [m:" get above src/
[33m 14 [m:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif
[33m 13 [m:$put =''
[33m 12 [m:$put ='Testing findfile'
[33m 11 [m:$put =''
[33m 10 [m:set ssl
[33m 9 [m:$put =findfile('test19.in','src/test*')
[33m 8 [m:exe "cd" cwd
[33m 7 [m:cd ..
[33m 6 [m:$put =findfile('test19.in','test*')
[33m 5 [m:$put =findfile('test19.in','testdir')
[33m 4 [m:exe "cd" cwd
[33m 3 [m:/^results/,$w! test.out
[33m 2 [m:q!
[33m 1 [mENDTEST
[33m71 [?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir @a | set nu? rnu? | redir END
[?25l[24;1H[K[24;1H number
relativenumber
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he! xx
[?25l"xx" [New File][1;1H[2L[1;1H[33m1 [m
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;3H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hredir @b | set nu? rnu? | redir END
[?25l[24;1H[K[24;1H number
relativenumber
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he! #
[?25l"test89.in" line 71 of 71 --100%-- col 1[1;1H[2L[1;1H[33m 21 [m:$put g
[33m 20 [m:$put h
[33m 19 [m:"[3;7H[K[4;1H[33m 18 [m:let cwd=getcwd()[4;22H[K[5;1H[33m 17 [m:cd ..[5;11H[K[6;1H[33m 16 [m:" Tests may be run from a shadow directory, so an extra cd needs to be donee[7;1H[33m [m to[7;8H[K[8;1H[33m 15 [m:" get above src/[8;22H[K[9;1H[33m 14 [m:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif[9;79H[K[10;1H[33m 13 [m:$put =''[10;14H[K[11;1H[33m 12 [m:$put ='Testing findfile'[11;30H[K[12;1H[33m 11 [m:$put =''[12;14H[K[13;1H[33m 10 [m:set ssl[13;13H[K[14;1H[33m 9 [m:$put =findfile('test19.in','src/test*')[14;45H[K[15;1H[33m 8 [m:exe "cd" cwd[15;18H[K[16;1H[33m 7 [m:cd ..[16;11H[K[17;1H[33m 6 [m:$put =findfile('test19.in','test*')[17;41H[K[18;1H[33m 5 [m:$put =findfile('test19.in','testdir')[18;43H[K[19;1H[33m 4 [m:exe "cd" cwd[19;18H[K[20;1H[33m 3 [m:/^results/,$w! test.out[20;29H[K[21;1H[33m 2 [m:q![21;8H[K[22;1H[33m 1 [mENDTEST[22;12H[K[23;1H[33m71 [m[23;5H[K[24;3H[K[24;1H"test89.in" line 71 of 71 --100%-- col 1[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='results:'
[?25l[1;23r[23;1H
[1;24r[1;3H[33m1
20
19
18
17[m[76Cee[6;1H[33m
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
72 [mresults:[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put a
[?25l3 more lines[1;23r[1;1H[3M[1;24r[1;2H[33m21
20[m[76Cee[3;1H[33m
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1 [m number
[33m75 [m relativenumber[24;1H[K[24;1H3 more lines[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put b
[?25l3 more lines[1;23r[1;1H[3M[1;24r[1;2H[33m22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1 [m number
[33m78 [m relativenumber[24;1H[K[24;1H3 more lines[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[1;1H:" get above src/[1;18H[K[2;1H:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif[2;75H[K[3;1H:$put =''[3;11H[K[4;1H:$put ='Testing findfile'[4;26H[K[5;1H:$put =''[5;11H[K[6;1H:set ssl[6;10H[K[7;1H:$put =findfile('test19.in','src/test*')[7;41H[K[8;1H:exe "cd" cwd[8;15H[K[9;1H:cd ..[9;7H[K[10;1H:$put =findfile('test19.in','test*')[10;37H[K[11;1H:$put =findfile('test19.in','testdir')[11;39H[K[12;1H:exe "cd" cwd[12;15H[K[13;1H:/^results/,$w! test.ou[13;25H[K[14;1H:q![14;4H[K[15;1HENDTEST[15;8H[K[16;1H[K[17;1Hresults:[17;9H[K[18;1H[K[19;1H number[19;9H[K[20;1H relativenumber[20;17H[K[21;1H[K[22;1H number[22;9H[K[23;1H relativenumber[23;17H[K[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal nu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal rnu
[?25l[1;1H[33m 22 [m:" get above src/
[33m 21 [m:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif
[33m 20 [m:$put =''
[33m 19 [m:$put ='Testing findfile'
[33m 18 [m:$put =''
[33m 17 [m:set ssl
[33m 16 [m:$put =findfile('test19.in','src/test*')
[33m 15 [m:exe "cd" cwd
[33m 14 [m:cd ..
[33m 13 [m:$put =findfile('test19.in','test*')
[33m 12 [m:$put =findfile('test19.in','testdir')
[33m 11 [m:exe "cd" cwd
[33m 10 [m:/^results/,$w! test.out
[33m 9 [m:q!
[33m 8 [mENDTEST
[33m 7
6 [mresults:
[33m 5
4 [m number
[33m 3 [m relativenumber
[33m 2
1 [m number
[33m 0 [m relativenumber[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @c | setglobal nu? | redir END
[?25l[24;1H[K[24;1H number[23;7H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[1;1H:" get above src/[1;18H[K[2;1H:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif[2;75H[K[3;1H:$put =''[3;11H[K[4;1H:$put ='Testing findfile'[4;26H[K[5;1H:$put =''[5;11H[K[6;1H:set ssl[6;10H[K[7;1H:$put =findfile('test19.in','src/test*')[7;41H[K[8;1H:exe "cd" cwd[8;15H[K[9;1H:cd ..[9;7H[K[10;1H:$put =findfile('test19.in','test*')[10;37H[K[11;1H:$put =findfile('test19.in','testdir')[11;39H[K[12;1H:exe "cd" cwd[12;15H[K[13;1H:/^results/,$w! test.ou[13;25H[K[14;1H:q![14;4H[K[15;1HENDTEST[15;8H[K[16;1H[K[17;1Hresults:[17;9H[K[18;1H[K[19;1H number[19;9H[K[20;1H relativenumber[20;17H[K[21;1H[K[22;1H number[22;9H[K[23;1H relativenumber[23;17H[K[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal rnu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal nu
[?25l[1;1H[33m 56 [m:" get above src/
[33m 57 [m:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif
[33m 58 [m:$put =''
[33m 59 [m:$put ='Testing findfile'
[33m 60 [m:$put =''
[33m 61 [m:set ssl
[33m 62 [m:$put =findfile('test19.in','src/test*')
[33m 63 [m:exe "cd" cwd
[33m 64 [m:cd ..
[33m 65 [m:$put =findfile('test19.in','test*')
[33m 66 [m:$put =findfile('test19.in','testdir')
[33m 67 [m:exe "cd" cwd
[33m 68 [m:/^results/,$w! test.out
[33m 69 [m:q!
[33m 70 [mENDTEST
[33m 71
72 [mresults:
[33m 73
74 [m number
[33m 75 [m relativenumber
[33m 76
77 [m number
[33m 78 [m relativenumber[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @d | setglobal rnu? | redir END
[?25l[24;1H[K[24;1H relativenumber[23;7H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25h$put =':setlocal must NOT reset the other global value'
[?25l[1;23r[23;1H
[1;24r[23;1H[33m 79 [m:setlocal must NOT reset the other global value[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put c
[?25l[1;23r[1;1H[2M[1;24r[22;1H[33m 80
81 [m number[24;1H[K[23;7H[?12l[?25h[?25l
:[?12l[?25h$put d
[?25l[1;23r[1;1H[2M[1;24r[22;1H[33m 82
83 [m relativenumber[24;1H[K[23;7H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[1;1H:set ssl[1;10H[K[2;1H:$put =findfile('test19.in','src/test*')[2;41H[K[3;1H:exe "cd" cwd[3;15H[K[4;1H:cd ..[4;7H[K[5;1H:$put =findfile('test19.in','test*')[5;37H[K[6;1H:$put =findfile('test19.in','testdir')[6;39H[K[7;1H:exe "cd" cwd[7;15H[K[8;1H:/^results/,$w! test.ou[8;25H[K[9;1H:q![9;4H[K[10;1HENDTEST[10;8H[K[11;1H[K[12;1Hresults:[12;9H[K[13;1H[K[14;1H number[14;9H[K[15;1H relativenumber[15;17H[K[16;1H[K[17;1H number[17;9H[K[18;1H relativenumber[18;17H[K[19;1H:setlocal must NOT reset the other global value[19;48H[K[20;1H[K[21;1H number[21;9H[K[22;1H[K[23;1H relativenumber[23;17H[K[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal nu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal rnu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @e | setglobal nu? | redir END
[?25l[24;1H[K[24;1H number[23;3H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal rnu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal nu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @f | setglobal rnu? | redir END
[?25l[24;1H[K[24;1H relativenumber[23;3H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25h$put =':setglobal MUST reset the other global value'
[?25l[1;23r[23;1H
[1;24r[23;1H:setglobal MUST reset the other global value[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put e
[?25l[1;23r[1;1H[2M[1;24r[23;3Hnumber[24;1H[K[23;3H[?12l[?25h[?25l
:[?12l[?25h$put f
[?25l[1;23r[1;1H[2M[1;24r[23;3Hrelativenumber[24;1H[K[23;3H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nu
[?25l[1;1H[33m 66 [m:$put =findfile('test19.in','testdir')
[33m 67 [m:exe "cd" cwd
[33m 68 [m:/^results/,$w! test.out
[33m 69 [m:q!
[33m 70 [mENDTEST
[33m 71
72 [mresults:
[33m 73
74 [m number
[33m 75 [m relativenumber
[33m 76
77 [m number
[33m 78 [m relativenumber
[33m 79 [m:setlocal must NOT reset the other global value
[33m 80
81 [m number
[33m 82
83 [m relativenumber
[33m 84 [m:setglobal MUST reset the other global value
[33m 85
86 [m number
[33m 87
88 [m relativenumber[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset rnu
[?25l[1;2H[33m22
21
20
1
18
17
16
15
1
13
12
11
10
8
7
6
5
3
2
1
88 [m [?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @g | setglobal nu? | redir END
[?25l[24;1H[K[24;1H number[23;7H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[1;1H:$put =findfile('test19.in','testdir')[1;39H[K[2;1H:exe "cd" cwd[2;15H[K[3;1H:/^results/,$w! test.ou[3;25H[K[4;1H:q![4;4H[K[5;1HENDTEST[5;8H[K[6;1H[K[7;1Hresults:[7;9H[K[8;1H[K[9;1H number[9;9H[K[10;1H relativenumber[10;17H[K[11;1H[K[12;1H number[12;9H[K[13;1H relativenumber[13;17H[K[14;1H:setlocal must NOT reset the other global value[14;48H[K[15;1H[K[16;1H number[16;9H[K[17;1H[K[18;1H relativenumber[18;17H[K[19;1H:setglobal MUST reset the other global value[19;45H[K[20;1H[K[21;1H number[21;9H[K[22;1H[K[23;1H relativenumber[23;17H[K[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset rnu
[?25l[1;1H[33m 22 [m:$put =findfile('test19.in','testdir')
[33m 21 [m:exe "cd" cwd
[33m 20 [m:/^results/,$w! test.out
[33m 19 [m:q!
[33m 18 [mENDTEST
[33m 17
16 [mresults:
[33m 15
14 [m number
[33m 13 [m relativenumber
[33m 12
11 [m number
[33m 10 [m relativenumber
[33m 9 [m:setlocal must NOT reset the other global value
[33m 8
7 [m number
[33m 6
5 [m relativenumber
[33m 4 [m:setglobal MUST reset the other global value
[33m 3
2 [m number
[33m 1
0 [m relativenumber[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nu
[?25l[23;1H[33m88 [m [?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @h | setglobal rnu? | redir END
[?25l[24;1H[K[24;1H relativenumber[23;7H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25h$put =':set MUST reset the other global value'
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
89 [m:set MUST reset the other global value[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put g
[?25l[1;23r[1;1H[2M[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
91 [m number[24;1H[K[23;7H[?12l[?25h[?25l
:[?12l[?25h$put h
[?25l[1;23r[1;1H[2M[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
93 [m relativenumber[24;1H[K[23;7H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet cwd=getcwd()
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Tests may be run from a shadow directory, so an extra cd needs to be done to
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" get above src/
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif
[?25l/<<PKGBUILDDIR>>[24;31H[K[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
94 [m[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put ='Testing findfile'
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
95 [mTesting findfile[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
96 [m[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25hset ssl
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =findfile('test19.in','src/test*')
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
97 [msrc/testdir/test19.in[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25hexe "cd" cwd
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =findfile('test19.in','test*')
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
98 [mtestdir/test19.in[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put =findfile('test19.in','testdir')
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
99 [mtestdir/test19.in[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25hexe "cd" cwd
[?25l/<<PKGBUILDDIR>>/src/vim-gtk/testdir[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^results/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New] 28L, 356C written[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_arglist.vim" 318 lines, 6653 characters
Executing Test_argadd()
"a" [New File][24;15H[K[24;2Hbababababd
Executing Test_argc()
"a" [New File][24;15H[K[24;1H
Executing Test_argdelete()
"a" [New File][24;15H[K[24;3Ha" [New File]
"bb
Executing Test_argedit()
"a" [New File][24;15H[K[24;2Hba
"c" [New File]
"x
"y" [New File]
Executing Test_argidx()
"a" [New File][24;15H[K[24;2Hcabc
Executing Test_arglist_autocmd()
"Xxx1" [24;8H[K[24;8H1L, 15C
"Xxx2[24;8H[K[24;8H1L, 15C[24;8H[K[24;8H1L, 15C
"Xxx1" line 1 of 1 --100%-- col 1 ((3) of 2)
"Xxx2[30C1 of 2)[24;43H[K[24;1H
3 buffers wiped out
Executing Test_arglistid()
"a" [New File][24;15H[K[24;1H
Executing Test_argpos()
"a" [New File][24;15H[K[24;2Hd
"c" [New File]
"ba
"d" [New File]
"a
Executing Test_argument()
"d" [New File][24;15H[K[24;2Hcba[7Cfile] --No lines in buffer-- (1 of 4)
"c[37C3
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)
"a[7CF[24;16H[K[24;2Hbedited" [New File]
"a" [New File][24;15H[K[24;2Htest_arglist.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 11 tests
"messages" [New File][24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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()
[28C[30m[43moooo$$$$$$$$$$$$oooo[m
[24C[30m[43moo$$$$$$$$$$$$$$$$$$$$$$$$o[m
[21C[30m[43moo$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o[9Co$[m [30m[43m$$[m [30m[43mo$[m
[30m[43mo[m [30m[43m$[m [30m[43moo[8Co$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o[7C$$[m [30m[43m$$[m [30m[43m$$o$[m
[30m[43moo[m [30m[43m$[m [30m[43m$[m "[30m[43m$[m [30m[43mo$$$$$$$$$[m [30m[43m$$$$$$$$$$$$$[m [30m[43m$$$$$$$$$o[7C$$$o$$o$[m
"[30m[43m$$$$$$o$[m [30m[43mo$$$$$$$$$[m [30m[43m$$$$$$$$$$$[m [30m[43m$$$$$$$$$$o[m [30m[43m$$$$$$$$[m
[30m[43m$$$$$$$[m [30m[43m$$$$$$$$$$$[m [30m[43m$$$$$$$$$$$[m [30m[43m$$$$$$$$$$$$$$$$$$$$$$$[m
[30m[43m$$$$$$$$$$$$$$$$$$$$$$$[m [30m[43m$$$$$$$$$$$$$[m [30m[43m$$$$$$$$$$$$$$[m """[30m[43m$$$[m
"[30m[43m$$$[m""""[30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m "[30m[43m$$$[m
[30m[43m$$$[m [30m[43mo$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m "[30m[43m$$$o[m
[30m[43mo$$[m" [30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[7C$$$o[m
[30m[43m$$$[m [30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m" "[30m[43m$$$$$$ooooo$$$$o[m
[30m[43mo$$$oooo$$$$$[m [30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m [30m[43mo$$$$$$$$$$$$$$$$$[m
[30m[43m$$$$$$$$[m"[30m[43m$$$$[m [30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m [30m[43m$$$$[m""""""""
""""[7C[30m[43m$$$$[m "[30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m" [30m[43mo$$$[m
[14C"[30m[43m$$$o[m """[30m[43m$$$$$$$$$$$$$$$$$$[m"[30m[43m$$[m"[9C[30m[43m$$$[m
[16C[30m[43m$$$o[m[10C"[30m[43m$$[m""[30m[43m$$$$$$[m""""[11C[30m[43mo$$$[m
[17C[30m[43m$$$$o[32Co$$$[m"
[18C"[30m[43m$$$$o[m [30m[43mo$$$$$$o[m"[30m[43m$$$$o[8Co$$$$[m
[20C"[30m[43m$$$$$oo[m ""[30m[43m$$$$o$$$$$o[m [30m[43mo$$$$[m""
[23C""[30m[43m$$$$$oooo[m "[30m[43m$$$o$$$$$$$$$[m"""
[26C""[30m[43m$$$$$$$oo[m [30m[43m$$$$$$$$$$[m
[34C""""[30m[43m$$$$$$$$$$$[m
[38C[30m[43m$$$$$$$$$$$$[m
[39C[30m[43m$$$$$$$$$$[m"
[40C"[30m[43m$$$[m""""
[?12l[?25h[?25lExecuting Test_wrong_error_type()
"test_assert.res" [New File][24;29H[K[24;19H[K[24;19H[New] 0L, 0C written
Executed 12 tests
"messages" [24;13H[K[24;12H15L, 326C[24;12H[K[24;12H30L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_autochdir.vim" 17 lines, 332 characters
Executing Test_set_filename()
"samples/Xtest" [24;17H[K[24;17H[New] 0L, 0C written
"test_autochdir.res" [New File][24;32H[K[24;22H[K[24;22H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H30L, 734C[24;12H[K[24;12H34L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_backspace_opt.vim" 59 lines, 1673 characters
Executing Test_backspace_option()
"test_backspace_opt.res" [New File][24;26H[K[24;26H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H34L, 806C[24;12H[K[24;12H38L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_breakindent.vim" 241 lines, 7365 characters
Executing Test_breakindent01()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m
qrstuvwxyzABCDEF[7m|[m
GHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent02()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m
[1m[34m>>[mqrstuvwxyzABCD[7m|[m
[1m[34m>>[mEFGHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent03()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m
[1m[34m++[m qrstuvwxyzABCDEF[7m|[m
[1m[34m++[m GHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent04()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m
qrstuvwxyzABCDEFGH[7m|[m
IJKLMNOP[10C[7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent05()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m[3;7HqrstuvwxyzABCD[7m|[m[4;7HEFGHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent06()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m
qrstuvwxyzABCDEFG[7m|[m
HIJKLMNOP[8C[7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent07()[27m[23m[m[H[2J[1;1H[33m 1 [m[16C[7m|[m
[33m 2 [m abcdefghijkl[7m|[m
[1m[34m?[m[8Cmnopqrstuvw[7m|[m
[1m[34m?[m[8CxyzABCDEFGH[7m|[m
[1m[34m?[m[8CIJKLMNOP [7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent07a()[27m[23m[m[H[2J[1;1H[33m 1 [m[16C[7m|[m
[33m 2 [m abcdefghijkl[7m|[m
[33m [m[1m[34m?[m mnopqrstuvw[7m|[m
[33m [m[1m[34m?[m xyzABCDEFGH[7m|[m
[33m [m[1m[34m?[m IJKLMNOP [7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent08()[27m[23m[m[H[2J[1;1H[33m 1 [m[1m[34m$[m[15C[7m|[m
[33m 2 [m[34m^I[mabcdefghijklmn[7m|[m
[1m[34m#[m opqrstuvwxyzA[7m|[m
[1m[34m#[m BCDEFGHIJKLMN[7m|[m
[1m[34m#[m OP[1m[34m$[m[10C[7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;30HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;1H[33m 1 [m[1m[34m$[m[15C[7m|[m
[33m 2 [m[34m^I[mabcdefghijklmn[7m|[m
[1m[34m#[m opqrstuvwxyzA[7m|[m
[1m[34m#[m BCDEFGHIJKLMN[7m|[m
[1m[34m#[m OP[1m[34m$[m[10C[7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;1H[33m 1 [m[1m[34m$[m[15C[7m|[m
[33m 2 [m[34m^I[mabcdefghijklmn[7m|[m
[1m[34m#[m opqrstuvwxyzA[7m|[m
[1m[34m#[m BCDEFGHIJKLMN[7m|[m
[1m[34m#[m OP[1m[34m$[m[10C[7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent08a()[27m[23m[m[H[2J[1;1H[33m 1 [m[1m[34m$[m[15C[7m|[m
[33m 2 [m[34m^I[mabcdefghijklmn[7m|[m
[33m [m[1m[34m#[m opqrstuvwxyzA[7m|[m
[33m [m[1m[34m#[m BCDEFGHIJKLMN[7m|[m
[33m [m[1m[34m#[m OP[1m[34m$[m[10C[7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent09()[27m[23m[m[H[2J[1;1H[33m 1 [m[1m[34m$[m[15C[7m|[m
[33m 2 [m[34m^I[mabcdefghijklmn[7m|[m
[33m [m [1m[34m#[mopqrstuvwxyz[7m|[m
[33m [m [1m[34m#[mABCDEFGHIJKL[7m|[m
[33m [m [1m[34m#[mMNOP[1m[34m$[m[7C[7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent10()[27m[23m[m[H[2J[1;1H[33m 1 [m[16C[7m|[m
[33m 2 [m[8Cabcdefgh[7m|[m
[1m[34m~[m[11Cijklmnop[7m|[m
[1m[34m~[m[11Cqrstuvwx[7m|[m
[1m[34m~[m[11CyzABCDEF[7m|[m
[1m[34m~[m[11CGHIJKLMN[7m|[m
[1m[34m~[m[11COP [7m|[8;21H|[9;21H|[10;21H|[m[8;1H[1m[34m~
~
~ [m
[1m[7m[No Name] [+] [m[2;30HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;1H[33m 1 [m[16C[7m|[m
[33m 2 [m abcdefghijkl[7m|[m
[1m[34m~[m[7Cmnopqrstuvwx[7m|[m
[1m[34m~[m[7CyzABCDEFGHIJ[7m|[m
[1m[34m~[m[7CKLMNOP [7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;1H[33m 1 [m[16C[7m|[m
[33m 2 [m abcdefghijkl[7m|[m
[1m[34m~[m[7Cmnopqrstuvwx[7m|[m
[1m[34m~[m[7CyzABCDEFGHIJ[7m|[m
[1m[34m~[m[7CKLMNOP [7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent11()
Executing Test_breakindent12()[27m[23m[m[H[2J[1;1H[33m 1 [m[17C[7m|[m
[33m 2 [m[34m>--->--->--->--->[m[7m|[m
[33m [m[7C[34m---[m{ [7m|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[4;1H[1m[34m~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;42H{[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent13()
Executing Test_breakindent14()[24;1H[K[27m[23m[m[H[2J[1;31H[7m|[m
e[29C[7m|[3;31H|[4;31H|[5;31H|[6;31H|[7;31H|[8;31H|[9;31H|[10;31H|[m[3;1H[1m[34m~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;32He[3;32H[1m[34m~ [4;32H~ [5;32H~ [6;32H~ [7;32H~ [8;32H~ [9;32H~ [10;32H~ [m[11;32H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent15()[24;1H[K[27m[23m[m[H[2J[1;31H[7m|[m[2;9H1234567890[12C[7m|[3;31H|[4;31H|[5;31H|[6;31H|[7;31H|[8;31H|[9;31H|[10;31H|[m[3;1H[1m[34m~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;40H1234567890[3;32H[1m[34m~ [4;32H~ [5;32H~ [6;32H~ [7;32H~ [8;32H~ [9;32H~ [10;32H~ [m[11;32H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent16()[27m[23m[m[H[2J[1;5H1234567890123456[7m|[m
7890123456789012[7m|[m
3456789012345678[7m|[m
9012345678901234[7m|[m
5678901234567890[7m|[m
1234567890123456[7m|[m
[1m[7m[No Name] [+] [m[1;26H1234567890123456789012345678901234567890123456789012345[2;22H678901234567890123456789012345678901234567890[4;22H[1m[34m~ [5;22H~ [6;22H~ [m[7;22H[7m[No Name] [+] [m[8;1H" 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!
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;5H1234567890123456[7m|[m
7890123456789012[7m|[m
3456789012345678[7m|[m
9012345678901234[7m|[m
5678901234567890[7m|[m
1234567890123456[7m|[m
[1m[7m[No Name] [+] [m[1;26H1234567890123456789012345678901234567890123456789012345[2;22H678901234567890123456789012345678901234567890[4;22H[1m[34m~ [5;22H~ [6;22H~ [m[7;22H[7m[No Name] [+] [m[8;1H" 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!
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;5H1234567890123456[7m|[m
7890123456789012[7m|[m
3456789012345678[7m|[m
9012345678901234[7m|[m
5678901234567890[7m|[m
1234567890123456[7m|[m
[1m[7m[No Name] [+] [m[1;26H1234567890123456789012345678901234567890123456789012345[2;22H678901234567890123456789012345678901234567890[4;22H[1m[34m~ [5;22H~ [6;22H~ [m[7;22H[7m[No Name] [+] [m[8;1H" 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!
[7mtest_breakindent.vim [m[24;1H"test_breakindent.res" [New File][24;24H[K[24;24H[New] 0L, 0C written
Executed 18 tests
"messages" [24;13H[K[24;12H38L, 886C[24;12H[K[24;12H59L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_bufwintabinfo.vim" 116 lines, 3459 characters
Executing Test_get_buf_options()
Executing Test_get_win_options()
Executing Test_getbufwintabinfo()
"Xtestfile1" [New File][24;24H[K[24;11H212
Already only one window
"test_bufwintabinfo.res" [New File][24;26H[K[24;26H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H59L, 1492C[24;12H[K[24;12H65L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_cdo.vim" 205 lines, 5116 characters
Executing Test_cdo()
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C[24;11H3[24;14H[K[24;14H3L, 18C
(1 of 1): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
(7 of 8): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
(5 of 8): Line2
(1 of 1): Line2
Executing Test_ldo()
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C[24;11H3[24;14H[K[24;14H3L, 18C
(1 of 1): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
(7 of 8): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
(5 of 8): Line2
(1 of 1): Line2
"test_cdo.res" [New File][24;16H[K[24;16H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H65L, 1639C[24;12H[K[24;12H70L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_channel.vim" 1641 lines, 47075 characters
"test_channel.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 0 test
"messages"[24;12H[K[24;12H70L, 1718C[24;12H[K[24;12H73L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_charsearch.vim" 62 lines, 1475 characters
Executing Test_charsearch()
Executing Test_search_cmds()
"test_charsearch.res" [New File][24;23H[K[24;23H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H73L, 1758C[24;12H[K[24;12H78L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_cmdline.vim" 243 lines, 7346 characters
Executing Test_complete_list()[24;1H[K[24;1H:e test
test1.in[24Ctest86.in
test1.ok[24Ctest86.ok
test1.out[23Ctest86.out
test103.in[22Ctest87.in
test103.ok[22Ctest87.ok
test103.out[21Ctest87.out
test104.in[22Ctest88.in
test104.ok[22Ctest88.ok
test104.out[21Ctest88.out
test107.in[22Ctest89.in
test107.ok[22Ctest89.ok
test107.out[21Ctest89.out
test108.in[22Ctest9.in
test108.ok[22Ctest9.ok
test108.out[21Ctest9.out
test11.in[23Ctest90.in
test11.ok[23Ctest90.ok
test11.out[22Ctest90.out
test12.in[23Ctest91.in
test12.ok[23Ctest91.ok
test12.out[22Ctest91.out
test14.in[23Ctest94.in
test14.ok[23Ctest94.ok
test14.out[22Ctest94.out
test15.in[23Ctest95.in
test15.ok[23Ctest95.ok
test15.out[22Ctest95.out
test17.in[23Ctest97.in
test17.ok[23Ctest97.ok
test17.out[22Ctest97.out
test17a.in[22Ctest98.in
test19.in[23Ctest98.ok
test19.ok[23Ctest98.out
test19.out[22Ctest99.in
test20.in[23Ctest99.ok
test20.ok[23Ctest99.out
test20.out[22Ctest_alot.vim
test22.in[23Ctest_alot_latin.vim
test22.ok[23Ctest_alot_utf8.vim
test22.out[22Ctest_arglist.res
test23.in[23Ctest_arglist.vim
test23.ok[23Ctest_assert.res
test23.out[22Ctest_assert.vim
test24.in[23Ctest_assign.vim
test24.ok[23Ctest_autochdir.res
test24.out[22Ctest_autochdir.vim
test25.in[23Ctest_autocmd.vim
test25.ok[23Ctest_autocmd_option.in
test25.out[22Ctest_autocmd_option.ok
test26.in[23Ctest_autocmd_option.out
test26.ok[23Ctest_autoformat_join.in
test26.out[22Ctest_autoformat_join.ok
test28.in[23Ctest_autoformat_join.out
test28.ok[23Ctest_backspace_opt.res
test28.out[22Ctest_backspace_opt.vim
test29.in[23Ctest_breakindent.res
test29.ok[23Ctest_breakindent.vim
test29.out[22Ctest_bufwintabinfo.res
test3.in[24Ctest_bufwintabinfo.vim
test3.ok[24Ctest_cdo.res
test3.out[23Ctest_cdo.vim
test30.in[23Ctest_changelist.in
test30.ok[23Ctest_changelist.ok
test30.out[22Ctest_changelist.out
test31.in[23Ctest_channel.py
test31.ok[23Ctest_channel.res
test31.out[22Ctest_channel.vim
test32.in[23Ctest_channel_pipe.py
test32.ok[23Ctest_charsearch.res
test32.out[22Ctest_charsearch.vim
test33.in[23Ctest_close_count.in
test33.ok[23Ctest_close_count.ok
test33.out[22Ctest_close_count.out
test34.in[23Ctest_cmdline.vim
test34.ok[23Ctest_command_count.vim
test34.out[22Ctest_comparators.in
test36.in[23Ctest_comparators.ok
test36.ok[23Ctest_comparators.out
test36.out[22Ctest_crypt.vim
test37.in[23Ctest_cscope.vim
test37.ok[23Ctest_cursor_func.vim
test37.out[22Ctest_delete.vim
test38.in[23Ctest_diffmode.vim
test38.ok[23Ctest_digraph.vim
test38.out[22Ctest_display.vim
test39.in[23Ctest_erasebackword.in
test39.ok[23Ctest_erasebackword.ok
test39.out[22Ctest_erasebackword.out
test4.in[24Ctest_eval.in
test4.ok[24Ctest_eval.ok
test4.out[23Ctest_eval.out
test40.in[23Ctest_eval_func.vim
test40.ok[23Ctest_ex_undo.vim
test40.out[22Ctest_execute_func.vim
test41.in[23Ctest_expand.vim
test41.ok[23Ctest_expand_dllpath.vim
test41.out[22Ctest_expr.vim
test42.in[23Ctest_expr_utf8.vim
test42.ok[23Ctest_farsi.vim
test42.out[22Ctest_feedkeys.vim
test43.in[23Ctest_file_perm.vim
test43.ok[23Ctest_fileformat.vim
test43.out[22Ctest_filter_cmd.vim
test44.in[23Ctest_filter_map.vim
test44.ok[23Ctest_fixeol.in
test44.out[22Ctest_fixeol.ok
test45.in[23Ctest_fixeol.out
test45.ok[23Ctest_float_func.vim
test45.out[22Ctest_fnameescape.vim
test48.in[23Ctest_fnamemodify.vim
test48.ok[23Ctest_fold.vim
test48.out[22Ctest_functions.vim
test49.in[23Ctest_getcwd.in
test49.ok[23Ctest_getcwd.ok
test49.out[22Ctest_getcwd.out
test49.vim[22Ctest_gf.vim
test5.in[24Ctest_glob2regpat.vim
test5.ok[24Ctest_gn.vim
test5.out[23Ctest_goto.vim
test50.in[23Ctest_gui.vim
test50.ok[23Ctest_hardcopy.vim
test51.in[23Ctest_help_tagjump.vim
test51.ok[23Ctest_hide.vim
test51.out[22Ctest_history.vim
test52.in[23Ctest_hlsearch.vim
test52.ok[23Ctest_increment.vim
test52.out[22Ctest_increment_dbcs.vim
test53.in[23Ctest_insertcount.in
test53.ok[23Ctest_insertcount.ok
test53.out[22Ctest_insertcount.out
test54.in[23Ctest_job_fails.vim
test54.ok[23Ctest_join.vim
test54.out[22Ctest_json.vim
test55.in[23Ctest_jumps.vim
test55.ok[23Ctest_lambda.vim
test55.out[22Ctest_langmap.vim
test56.in[23Ctest_largefile.vim
test56.ok[23Ctest_lispwords.vim
test56.out[22Ctest_listchars.in
test57.in[23Ctest_listchars.ok
test57.ok[23Ctest_listchars.out
test57.out[22Ctest_listlbr.in
test58.in[23Ctest_listlbr.ok
test58.ok[23Ctest_listlbr.out
test58.out[22Ctest_listlbr_utf8.in
test59.in[23Ctest_listlbr_utf8.ok
test59.ok[23Ctest_listlbr_utf8.out
test59.out[22Ctest_man.vim
test60.in[23Ctest_mapping.vim
test60.ok[23Ctest_marks.vim
test60.out[22Ctest_match.vim
test60.vim[22Ctest_matchadd_conceal.vim
test64.in[23Ctest_matchadd_conceal_utf8.vim
test64.ok[23Ctest_menu.vim
test64.out[22Ctest_messages.vim
test65.in[23Ctest_mksession.vim
test65.ok[23Ctest_mksession_utf8.vim
test65.out[22Ctest_modeline.vim
test66.in[23Ctest_nested_function.vim
test66.ok[23Ctest_netbeans.py
test66.out[22Ctest_netbeans.vim
test67.in[23Ctest_normal.vim
test67.ok[23Ctest_options.vim
test67.out[22Ctest_packadd.vim
test68.in[23Ctest_partial.vim
test68.ok[23Ctest_perl.vim
test68.out[22Ctest_popup.vim
test69.in[23Ctest_profile.vim
test69.ok[23Ctest_quickfix.vim
test69.out[22Ctest_regexp_latin.vim
test7.in[24Ctest_regexp_utf8.vim
test7.ok[24Ctest_reltime.vim
test7.out[23Ctest_ruby.vim
test70.in[23Ctest_search.vim
test70.ok[23Ctest_search_mbyte.in
test70.out[22Ctest_search_mbyte.ok
test72.in[23Ctest_search_mbyte.out
test72.ok[23Ctest_searchpos.vim
test72.out[22Ctest_set.vim
test73.in[23Ctest_signs.vim
test73.ok[23Ctest_smartindent.vim
test73.out[22Ctest_sort.vim
test75.in[23Ctest_source.vim
test75.ok[23Ctest_source_utf8.vim
test75.out[22Ctest_startup.vim
test77.in[23Ctest_startup_utf8.vim
test77.ok[23Ctest_stat.vim
test77.out[22Ctest_statusline.vim
test77a.in[22Ctest_substitute.vim
test77a.ok[22Ctest_syn_attr.vim
test78.in[23Ctest_syntax.vim
test78.ok[23Ctest_system.vim
test78.out[22Ctest_tabline.vim
test79.in[23Ctest_tabpage.vim
test79.ok[23Ctest_tagcase.vim
test79.out[22Ctest_tagjump.vim
test8.in[24Ctest_taglist.vim
test8.ok[24Ctest_textobjects.vim
test8.out[23Ctest_timers.vim
test80.in[23Ctest_true_false.vim
test80.ok[23Ctest_undo.vim
test80.out[22Ctest_unlet.vim
test82.in[23Ctest_usercommands.vim
test82.ok[23Ctest_utf8.in
test82.out[22Ctest_utf8.ok
test83-tags2[20Ctest_utf8.out
test83-tags3[20Ctest_viminfo.vim
test83.in[23Ctest_viml.vim
test83.ok[23Ctest_visual.vim
test83.out[22Ctest_window_cmd.vim
test84.in[23Ctest_window_id.vim
test84.ok[23Ctest_wordcount.in
test84.out[22Ctest_wordcount.ok
test85.in[23Ctest_wordcount.out
test85.ok[23Ctest_writefile.vim
test85.out
:e test
"test" [New File]
Executing Test_complete_tab()[24;1H[K[24;1H:e Xtest...file
"Xtestfile" 1L, 9C
Executing Test_complete_wildmenu()[24;1H[K[24;1H:e Xtest...file1...[24;9H[K[24;9H
[23;1H[1m[7mXtestfile1 Xtestfile2 [m
[30m[43mXtestfile1[m[1m[7m [13C [m[24;1H:e Xtest...[23;1H[1m[7mXtestfile1[m
[30m[43mXtestfile1[m[1m[7m [m[24;9Hfile1...[23;1H[1m[7mXtestfile1[m[2C[30m[43mXtestfile2[m[1m[7m [m[24;13H2[24;14H[K[24;14H[23;1H:[1m[7mt[me Xtestfile2[23;14H[K[24;1H[K[23;1H"Xtestfile2" 1L, 10C
Executing Test_expand_star_star()[24;1H[K[24;1H:find **/fileXname...[24;7Ha/b/fileXname[24;20H[K[24;20H
"a/b/fileXname" [24;17H[K[24;17H1L, 9C
"Xtestfile2" [New File]
Executing Test_getcompletion()[24;1H[K[24;1H:cscope find
a c d e f g i s t
:cscope find [24;1H[K[24;1H:sign list
Testing
:sign list [24;1H[K[24;1HExecuting Test_illegal_address()
Executing Test_paste_in_cmdline()[24;1H[K[24;1H:abc "[24;6H[K[24;6Hdef ghi
:"abc def ghi
:"
[24;1H[K[24;1H:aaa "[24;6H[K[24;6Hasdf bbb
:"aaa asdf bbb
:"
[24;1H[K[24;1H:aaa "[24;6H[K[24;6H/tmp/some bbb
:"aaa /tmp/some bbb
:"
[24;1H[K[24;1H:aaa veryl"[24;11H[K[24;11Hongword bbb
:"aaa verylongword bbb
:"
[24;1H[K[24;1H:aaa "[24;6H[K[24;6Ha;b-c*d bbb
:"aaa a;b-c*d bbb
:"
[24;1H[K[24;1H:[24;1H[K[24;1H=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()[24;1H[K[24;1H:abc defef[24;8H[K[24;6H
:"abc ef
:"
[24;1H[K[24;1H:abc defdef[24;8H[K[24;5H
:"abcdef
:"
[24;1H[K[24;1H:abc def ghighi[24;10H[K[24;6H
:"abc ghi
:"
[24;1H[K[24;1H:abc def
:def[24;6H[K[24;2H"def
"test_cmdline.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 8 tests
"messages"[24;12H[K[24;12H78L, 1859C[24;12H[K[24;12H89L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_command_count.vim" 191 lines, 4742 characters
Executing Test_command_count_0()
"DoesNotExistEver" [New File][24;30H[K[24;1H
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][24;15H[K[24;2Hbeb
Executing Test_command_count_2()
"d" [New File]
"a
Already only one window
"x" [New File][24;15H[K[24;1H
Already only one window
Executing Test_command_count_3()
"aaa" [New File][24;17H[K[24;2Hbbb
"ccc
"test_command_count.vim" 191L, 4742C
2 buffers deleted
Executing Test_command_count_4()
"cc" [New File][24;16H[K[24;1H
"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][24;26H[K[24;26H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H89L, 2168C[24;12H[K[24;12H97L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_crypt.vim" 83 lines, 2590 characters
Executing Test_crypt_blowfish()
"Xtest.txt" [New File][24;23H[K[24;1H[K[24;1H:X
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: ******
Enter same key again: ******
[23;1H"Xtest.txt" [23;13H[K[23;13H[New][blowfish] 3L, 98C written
:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed 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][24;23H[K[24;1H[K[24;1H:X
[24;1H[K[24;1HEnter encryption key: ******
[24;1H[K[24;1HEnter same key again: ******
[23;1H"Xtest.txt" [23;13H[K[23;13H[New][blowfish2] 3L, 98C written
:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed encryption key for "Xtest.txt"
Enter encryption key: ******
"Xtest.txt" [blowfish2] 3L, 98C
Executing Test_crypt_zip()
"Xtest.txt" [New File][24;23H[K[24;1H[K[24;1H:X
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: ******
Enter same key again: ******
[23;1H"Xtest.txt" [23;13H[K[23;13H[New][crypted] 3L, 98C written
:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed 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][24;23H[K[24;13H[K[24;13H[New] 1L, 16C written[24;1H[K[24;1H:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed 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][24;23H[K[24;13H[K[24;13H[New] 1L, 16C written[24;1H[K[24;1H:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed encryption key for "Xtest.txt"
Enter encryption key: ******
"Xtest.txt" [readonly] 1L, 16C
Executing Test_uncrypt_blowfish()
"Xtest.txt" [New File][24;23H[K[24;13H[K[24;13H[converted][New][noeol] 1L, 80C written[24;1H[K[24;1H:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed 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][24;23H[K[24;13H[K[24;13H[converted][New][noeol] 1L, 103C written[24;1H[K[24;1H:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed encryption key for "Xtest.txt"
Enter encryption key: *******
"Xtest.txt" [blowfish2] 2L, 44C
Executing Test_uncrypt_zip()
"Xtest.txt" [New File][24;23H[K[24;13H[K[24;13H[converted][New][noeol] 1L, 45C written[24;1H[K[24;1H:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed encryption key for "Xtest.txt"
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: ******
"Xtest.txt" [converted][crypted] 2L, 26C[23;1H"test_crypt.res" [New File][23;28H[K[24;1H[K[23;18H[K[23;18H[converted][New] 0L, 0C written
Executed 8 tests
"messages"[24;12H[K[24;12H97L, 2380C[24;12H[K[24;12H108L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_cscope.vim" 279 lines, 10568 characters
"test_cscope.res" [New File][24;19H[K[24;19H[New] 0L, 0C written
Executed 0 test
"messages"[24;12H[K[24;12H108L, 2667C[24;12H[K[24;12H111L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_diffmode.vim" 237 lines, 4954 characters
Executing Test_diff_fold_sync()
Executing Test_diffget_diffput()
Executing Test_diffoff()[27m[23m[m[H[2J[1;1H[34m[47m [m[1m[34m[46m-------------------------------------[m[7m|[m
[34m[47m [m[1m[34m[46m-------------------------------------[m[7m|[m
[34m[47m [mTwo[34C[7m|[m
[34m[47m [mThree[32C[7m|[5;40H|[6;40H|[7;40H|[8;40H|[9;40H|[10;40H|[11;40H|[12;40H|[13;40H|[14;40H|[15;40H|[16;40H|[17;40H|[18;40H|[19;40H|[20;40H|[21;40H|[22;40H|[m[5;1H[34m[47m
[m[5;3H[1m[34m~ [6;3H~ [7;3H~ [8;3H~ [9;3H~ [10;3H~ [11;3H~ [12;3H~ [13;3H~ [14;3H~ [15;3H~ [16;3H~ [17;3H~ [18;3H~ [19;3H~ [20;3H~ [21;3H~ [22;3H~ [m
[7m[No Name] [+] [m[1;41H[34m[47m [m[44mOne [m[2;41H[34m[47m [m[44m [m[3;41H[34m[47m [mTwo[4;41H[34m[47m [mThree[5;41H[34m[47m [6;41H [7;41H [8;41H [9;41H [10;41H [11;41H [12;41H [13;41H [14;41H [15;41H [16;41H [17;41H [18;41H [19;41H [20;41H [21;41H [22;41H [m[5;43H[1m[34m~ [6;43H~ [7;43H~ [8;43H~ [9;43H~ [10;43H~ [11;43H~ [12;43H~ [13;43H~ [14;43H~ [15;43H~ [16;43H~ [17;43H~ [18;43H~ [19;43H~ [20;43H~ [21;43H~ [22;43H~ [m[23;41H[1m[7m[No Name] [+] [m[1;1HTwo
Three
[1m[34m~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~ [m[1;41HOne[1;44H[K[2;41H[K[3;41HTwo[3;44H[K[4;41HThree[4;46H[K[5;41H[1m[34m~ [6;41H~ [7;41H~ [8;41H~ [9;41H~ [10;41H~ [11;41H~ [12;41H~ [13;41H~ [14;41H~ [15;41H~ [16;41H~ [17;41H~ [18;41H~ [19;41H~ [20;41H~ [21;41H~ [22;41H~ [m
Executing Test_filler_lines()
7 more lines
10 more lines
Executing Test_setting_cursor()
"Xtest1" [New File][24;20H[K[24;1H
90 more lines
"Xtest1" [24;10H[K[24;10H[New] 91L, 262C written[24;7H2" [New File][24;21H[K[24;1H
100 more lines
"Xtest2"[24;10H[K[24;10H[New] 101L, 293C written[24;10H[K[24;10H101L, 293C[24;7H1[24;10H[K[24;10H91L, 262C
Executing Test_vert_split()
"Xtest" [24;9H[K[24;9H[New] 5L, 25C written[24;1H[K[24;1H"Xtest2" [New] 6L, 29C written
"Nop" [Modified][Not edited] line 4 of 6 --66%-- col 3[24;1H[K[24;1H"Xtest" 5L, 25C[24;7H2" [24;10H[K[24;10H6L, 29C
"test_diffmode.vim" 237L, 4954C[24;16Hres" [New File][24;31H[K[24;21H[K[24;21H[New] 0L, 0C written
Executed 6 tests
"messages"[24;12H[K[24;12H111L, 2706C[24;12H[K[24;12H120L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_digraph.vim" 461 lines, 14928 characters
Executing Test_digraph_cmndline()
Executing T
Executing Test_digraphs()[24;1H[K[24;1H
Executing Test_digraphs_option()[24;1H[K[24;1H
Executing Test_digraphs_output()
Executing Test_loadkeymap()[24;1H[K[24;1H"test_digraph.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H120L, 2928C[24;12H[K[24;12H128L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_display.vim" 39 lines, 849 characters[?1l>[?12l[?25h[?1049l[m[m[0m[H[2J[m[0m[24;1HExecuting Test_display_foldcolumn()[m[m[0m[H[2J[1;1He more noise blah blah[34m<82[0m[7m|[0m
[34m>[0m more stuff here[8C[7m|[3;26H|[4;26H|[5;26H|[6;26H|[7;26H|[8;26H|[9;26H|[10;26H|[11;26H|[0m[3;1H[1m[34m~
~
~
~
~
~
~
~
~ [0m
[1m[7m[No Name] [+] [0m[2;27H[1m[34m~ [3;27H~ [4;27H~ [5;27H~ [6;27H~ [7;27H~ [8;27H~ [9;27H~ [10;27H~ [11;27H~ [0m[12;27H[7m[No Name] [0m[13;1H" 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))[22;9Hcall add(line, nr2char(screenchar(a:lnum+j, c)))
[7mtest_display.vim [m[m[0m[H[2J[1;1H[34m[47m [0me more noise blah blah[34m<[0m[7m|[0m
[34m[47m [0m[34m82>[0m more stuff here [7m|[3;26H|[4;26H|[5;26H|[6;26H|[7;26H|[8;26H|[9;26H|[10;26H|[11;26H|[0m[3;1H[34m[47m
[0m[3;3H[1m[34m~ [4;3H~ [5;3H~ [6;3H~ [7;3H~ [8;3H~ [9;3H~ [10;3H~ [11;3H~ [0m
[1m[7m[No Name] [+] [0m[2;27H[1m[34m~ [3;27H~ [4;27H~ [5;27H~ [6;27H~ [7;27H~ [8;27H~ [9;27H~ [10;27H~ [11;27H~ [0m[12;27H[7m[No Name] [0m[13;1H" 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))[22;9Hcall add(line, nr2char(screenchar(a:lnum+j, c)))
[7mtest_display.vim [0m[24;1H"test_display.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H128L, 3123C[24;12H[K[24;12H132L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_farsi.vim" 84 lines, 2881 characters
Executed 2 tests
"messages"[24;12H[K[24;12H[converted] 132L, 3199C[24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_fnameescape.vim" 21 lines, 467 characters
Executing Test_fnameescape()
"Xspa ce"[24;11H[K[24;11H[New] 21L, 467C written
"Xemark![24;11H[K[24;11H[New] 21L, 467C written
"test_fnameescape.res" [New File][24;24H[K[24;24H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H137L, 3295C[24;12H[K[24;12H141L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;27H[K[24;17H[K[24;17H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H141L, 3368C[24;12H[K[24;12H147L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_gf.vim" 33 lines, 1138 characters
Executing Test_gf_url()
"test_gf.res" [New File][24;15H[K[24;15H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H147L, 3495C[24;12H[K[24;12H151L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_gn.vim" 93 lines, 2821 characters
Executing Test_gn_command()[24;1H[K[24;1H/[u]niquepattern/s
[24;17H[K[24;1H[24;1H[K[24;1H/a:0\@!\zs\d\+
[24;1H[K[24;1H"test_gn.res" [New File][24;15H[K[24;15H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H151L, 3554C[24;12H[K[24;12H155L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_gui.vim" 36 lines, 838 characters
"test_gui.res" [New File][24;16H[K[24;16H[New] 0L, 0C written
Executed 0 test
"messages"[24;12H[K[24;12H155L, 3617C[24;12H[K[24;12H158L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_hardcopy.vim" 62 lines, 2001 characters
Executing Test_printheader_parsing()
Executing Test_printmbfont_parsing()
Executing Test_printoptions_parsing()
Executing Test_with_syntax()[24;1H[K[24;1H[32mPrinting page 1 (0%)[m[24;1H[K[24;1H[32mPrinted: test_hardcopy.vim[m
"test_hardcopy.res" [New File][24;21H[K[24;21H[New] 0L, 0C written
Executed 4 tests
"messages"[24;12H[K[24;12H158L, 3653C[24;12H[K[24;12H165L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_hide.vim" 97 lines, 2443 characters
Executing Test_hide()
"Xf1" [New File][24;17H[K[24;1H
"Xf1" [New File]
"Xf212121
one|two
"Xf1" [New File]
"Xf212
"test_hide.res" [New File][24;17H[K[24;17H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H165L, 3836C[24;12H[K[24;12H169L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_history.vim" 106 lines, 3567 characters
Executing Test_History()
Executing Test_Search_history_window()[24;1H[K[24;1H/a
[24;1H[K[24;1H/b
[24;1H[K[24;1H/[27m[23m[m[H[2J[1;1Ha
b
a
b
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [+] [m[13;1H" Tests for the history functions
[7mtest_history.vim [m[16;1H[1m[34m/[ma
[1m[34m/[mb
[1m[34m/
/
/
/
/[19;2H~ [20;2H~ [21;2H~ [22;2H~ [m[23;1H[1m[7m[Command Line] [18;2H[?12l[?25h[17;2H[16;2H[24;1H[?25l[m/a
"test_history.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H169L, 3895C[24;12H[K[24;12H174L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_hlsearch.vim" 34 lines, 1013 characters
Executing Test_hlsearch()[24;1H[K[24;1H/aaa
[27m[23m[m[H[2J[1;1H[30m[43maaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[m
[1m[34m~ [m[12;1H[1m[7m[No Name] [+] [m[13;1H" Test for v:hlsearch
function! Test_hlsearch()
new
call setline(1, repeat(['[30m[43maaa[m'], 10))
set hlsearch nolazyredraw
let r=[]
" redraw is needed to make hlsearch highlight the matches
exe "normal! /[30m[43maaa[m\<CR>" | redraw
let r1 = screenattr(1, 1)
[7mtest_hlsearch.vim [m[1;1Haaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[1;1H[30m[43maaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[m[1;1Haaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[1;1H[30m[43maaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[m[1;1Haaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa
/aaa
[1;1H[30m[43maaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[m[1;1Haaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[24;1H[K[24;1H//aaa
[1;1H[30m[43maaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[m[24;1H[K[24;1H//aaa
[1;1Haaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa
"test_hlsearch.res" [New File][24;21H[K[24;21H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H174L, 4000C[24;12H[K[24;12H178L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_increment.vim" 760 lines, 19011 characters
Executing Test_normal_increment_01()
"dummy" [New File][24;19H[K[24;1H
Executing Test_normal_increment_02()
"dummy" [New File][24;19H[K[24;1H
Executing Test_normal_increment_03()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_01()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_02()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_03()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_04()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_05()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_06()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_07()
"dummy" [New File][24;19H[K[24;1H5 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_08()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_09()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_10()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_11()
"dummy" [New File][24;19H[K[24;1H3 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_12()
"dummy" [New File][24;19H[K[24;1H3 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_13()
"dummy" [New File][24;19H[K[24;1H3 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_14()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_15()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_16()
"dummy" [New File][24;19H[K[24;1H3 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_17()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_18()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_19()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_20()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_21()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_22()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_23()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_24()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_25()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_26()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_27()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_28()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_29()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_30()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_31()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_32()
"dummy" [New File][24;19H[K[24;7H_31" [New File]
Executing Test_visual_increment_33()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_34()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_35()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_36()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_37()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_38()
"dummy" [New File][24;19H[K[24;1H[K[24;1H"test_increment.res" [New File][24;22H[K[24;22H[New] 0L, 0C written
Executed 41 tests
"messages" [24;13H[K[24;12H178L, 4067C[24;12H[K[24;12H222L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_increment_dbcs.vim" 30 lines, 604 characters
Executing Test_increment_dbcs_1()
"test_increment_dbcs.res" [New File][24;27H[K[24;27H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H[converted] 222L, 5628C[24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_job_fails.vim" 19 lines, 598 characters
Executing Test_job_start_fails()[?12l[?25h[?25l
"test_job_fails.res" [New File][24;32H[K[24;22H[K[24;22H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H226L, 5709C[24;12H[K[24;12H230L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;17H[K[24;17H[New] 0L, 0C written
Executed 4 tests
"messages"[24;12H[K[24;12H230L, 5784C[24;12H[K[24;12H237L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_langmap.vim" 28 lines, 628 characters
Executing Test_langmap()
"test_langmap.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H237L, 5934C[24;12H[K[24;12H241L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;16H[K[24;16H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H241L, 5999C[24;12H[K[24;12H246L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_marks.vim" 26 lines, 775 characters
Executing Test_Incr_Marks()
Executing Test_Restore_DelMark()[24;1H[K[24;1H1 more line; before #2 0 seconds ago
1 line less; after #2 0 seconds ago[24;37H[K[24;3Hmore line; before #2 0 seconds ago
"test_marks.res" [New File][24;28H[K[24;18H[K[24;18H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H246L, 6102C[24;12H[K[24;12H251L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_matchadd_conceal.vim" 289 lines, 9276 characters[?1l>[?12l[?25h[?1049l[m[m[0m[H[2J[m[0m[24;1HExecuting Test_clearmatches()[m[m[0m[H[2J[2;1H# This is a Test
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H" 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
[7mtest_matchadd_conceal.vim [m[m[0m[H[2J[2;1H#[37m[40mZ[0mThis[37m[40mZ[0mis[37m[40mZ[0ma[37m[40mZ[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H" 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
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_default_conceal_char()[m[m[0m[H[2J[2;1H#[37m[40m [0mThis[37m[40m [0mis[37m[40m [0ma[37m[40m [0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H" 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
[7mtest_matchadd_conceal.vim [m[m[0m[H[2J[2;1H#[37m[40m+[0mThis[37m[40m+[0mis[37m[40m+[0ma[37m[40m+[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H" 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
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_matchadd_and_conceallevel_3()[m[m[0m[H[2J[2;1H[34m#ThisisaTest[0m
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [m[m[0m[H[2J[2;1H[34m#Thisisa[0m[1m[37m[41m Test[0m
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_matchadd_and_syn_conceal()[m[m[0m[H[2J[1;1HInductive [37m[40m-[0m : Type := | true : [37m[40m-[0m | false : [37m[40m-[0m.
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [m[m[0m[H[2J[1;1HInductive[31m [0m[37m[40m-[0m[31m [0m: Type := | true : [37m[40m-[0m | false : [37m[40m-[0m.
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_matchadd_repeat_conceal_with_syntax_off()[1;1H[K[2;1HTARGET_TARGETTARGET
[37m[40mt[0m_[37m[40mtt[0m[2;5H[K[24;16Hsimple_matchadd()[24;33H[K[m[m[0m[H[2J[2;1H#[37m[40m [0mThis[37m[40m [0mis[37m[40m [0ma[37m[40m [0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_simple_matchadd_and_conceal()[m[m[0m[H[2J[2;1H#[37m[40mX[0mThis[37m[40mX[0mis[37m[40mX[0ma[37m[40mX[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_syn_and_match_conceal()[m[m[0m[H[2J[2;1H#[37m[40mZ[0mThis[37m[40mZ[0mis[37m[40mZ[0ma[37m[40mZ[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [m[m[0m[H[2J[2;1H#[37m[40m*[0mThis[37m[40m*[0mis[37m[40m*[0ma[37m[40m*[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_using_matchaddpos()[m[m[0m[H[2J[2;1H[34m#[0m[37m[40mP[0m[34mis a Test[0m
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1H"test_matchadd_conceal.res" [New File][24;29H[K[24;29H[New] 0L, 0C written
Executed 9 tests
"messages"[24;12H[K[24;12H251L, 6202C[24;12H[K[24;12H263L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_mksession.vim" 104 lines, 2315 characters
Executing Test_mksession()
"/tmp/vfe7iXM/0" [24;18H[K[24;18H[New] 9L, 203C written
[31msearch hit BOTTOM, continuing at TOP[m
"test_mksession.res" [New File][24;32H[K[24;22H[K[24;22H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H[converted] 263L, 6616C[24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_mksession_utf8.vim" 104 lines, 2328 characters
Executing Test_mksession_utf8()
"/tmp/vBTj4th/0" [24;18H[K[24;18H[New] 9L, 215C written
[31msearch hit BOTTOM, continuing at TOP[m
"test_mksession_utf8.res" [New File][24;27H[K[24;27H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H267L, 6685C[24;12H[K[24;12H271L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;28H[K[24;28H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H271L, 6764C[24;12H[K[24;12H277L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_netbeans.vim" 80 lines, 2145 characters
"test_netbeans.res" [New File][24;21H[K[24;21H[New] 0L, 0C written
Executed 0 test
"messages"[24;12H[K[24;12H277L, 6909C[24;12H[K[24;12H280L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_normal.vim" 2280 lines, 58740 characters
Executing Test_normal00_optrans()[24;1H[K[24;1H
Executing Test_normal01_keymodel()
4 lines yanked[24;15H[K[24;1HExecuting Test_normal02_selectmode()[24;1H[K[24;1H10 fewer lines[24;1H[K[24;1H
Executing Test_normal02_selectmode2()[24;1H[K[24;1H:set im
[?12l[?25h[?25l[24;1H[K[24;1H:set noim
Executing Test_normal03_join()
Executing Test_normal04_filter()[24;1H[K[24;1H:.!sed -e 's/^/| /'
[?12l[?25h[22C[?1l>[?1049lone
[?1049h[?1h=[?25l[24;1H[K[24;1H:.!sed -e 's/^/| /'
[?12l[?25h[?25l[24;1H[K[24;1H:.!
[24;1H[K[24;1H:!echo one
[10C[?1l>[?12l[?25h[?1049l
[No write since last change]
one
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:.!!
[?12l[?25h
[?25lExecuting Test_normal05_formatexpr()
Executing Test_normal05_formatexpr_newbuf()
"another" [New File][24;21H[K[24;1H
Executing Test_normal05_formatexpr_setopt()
Executing Test_normal06_formatprg()[24;1H[K[24;1H:.,$!./Xsed_format.sh
[?12l[?25h[?25l7 lines filtered[24;17H[K[24;1H[K[24;1H:.,$!./Xsed_format.sh
[?12l[?25h[?25l7 lines filtered[24;17H[K[24;1H
Executing Test_normal07_internalfmt()
7 fewer lin[24;14H[K[24;1H
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()[24;1H[K[24;1H
Executing Test_normal12_nv_error()
Executing Test_normal13_help()
"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
Executing Test_normal14_page()
Executing Test_normal14_page_eol()[24;1H[K[24;1H
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
[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[24;1HWord 'goood' added to ./Xspellfile.add[24;7H2 goood' added to ./Xspellfile.add[24;25H/tmp/vEucdVs/11[24;40H[K[24;16Hremoved from /tmp/vEucdVs/11[24;7Hgoood' added to /tmp/vEucdVs/11[24;38H[K[24;14Hremoved from /tmp/vEucdVs/11[24;14Hadded to ./Xspellfile.add[24;39H[K[24;14Hremoved from ./Xspellfile.add[24;7H2 goood' added to ./Xspellfile.add[24;41H[K[24;16Hremoved from ./Xspellfile.add[24;7Hgoood' added to ./Xspellfile2.add[24;40H[K[24;1H
Executing Test_normal20_exmode()
Executing Test_normal21_nv_hat()
"Xfoobar" [New File][24;21H[K[24;4Hile2" [New File][24;20H[K[24;1H
Executing Test_normal22_zet()
Executing Test_normal23_K()
"version8.txt" [24;16H[K[24;16H[readonly] 14932L, 562906C[24;27Hline 1 of 14932 --0%-- col 1
"man" [New File][24;17H[K[24;2Haa%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=[24;1H
[?25lExecuting Test_normal24_rot13()
Executing Test_normal25_tag()
"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
"change.txt" [24;14H[K[24;14H[readonly] 1830L, 74768C
"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
"change.txt" [24;14H[K[24;14H[readonly] 1830L, 74768C
"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
"insert.txt" [24;14H[K[24;14H[readonly] 2003L, 82815C[24;25Hline 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 lines[24;15H[K[24;1H4 fewer lines[24;14H[K[24;1H3
Executing Test_normal30_changecase()
Executing Test_normal31_r_cmd()[24;1H[K[24;1H
Executing Test_normal32_g_cmd1()
/x_foo[24;7H[K[24;1H?abc[24;5H[K[24;1H
Executing Test_normal33_g_cmd2()[24;1H[K[24;1H/[1-8]
[31msearch hit BOTTOM, continuing at TOP[m
9 substitutions on 9 lines[24;27H[K[24;1Hblock of 3 lines yanked[24;24H[K[24;10H5[24;1H[K[24;1H
Executing Test_normal34_g_cmd3()
Executing Test_normal35_g_cmd4()
Executing Test_normal36_g_cmd5()
Executing Test_normal37_g_cmd6()
"1.txt" [New File][24;19H[K[24;2H23
Executing Test_normal38_nvhome()
Executing Test_normal39_cw()[24;1H[K[24;1H
Executing Test_normal40_ctrl_bsl()[24;1H[K[24;1H
Executing Test_normal41_insert_reg()[24;1H[K[24;1H=a
[24;1H[K[24;1H=a
[24;1H[K[24;1H=a
[24;1H[K[24;1H
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()[32Cq: [24;1H[K[24;1H:[27m[23m[m[H[2J[1;1Hxxx
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7m[No Name] [m[16;1H[1m[34m:[mset im
[1m[34m:[mset noim
[1m[34m:[m.!sed -e 's/^/| /'
[1m[34m:[m.!
[1m[34m:[m!echo one
[1m[34m:[m.!!
[1m[34m:[m
[1m[7m[Command Line] [22;2H[?12l[?25h[?25l[?12l[?25h[?25l[m[24;70H:^M[22;2H[24;70H [22;2H
Executing Test_normal51_FileChangedRO()
"Xreadonly.log" [24;17H[K[24;17H1L, 4C
[31mError detected while processing ...13]..Test_normal51_FileChangedRO:[m
[33mline 8:[m[24;11H[K[24;11H[31mW10: Warning: Changing a readonly file[m[24;1H[K[24;1H
Executing Test_normal52_rl()3_digraph()
Executing Test_normal54_Ctrl_bsl()
"test_normal.res" [New File][24;29H[K[24;19H[K[24;19H[New] 0L, 0C written
Executed 61 tests
"messages" [24;13H[K[24;12H280L, 6950C[24;12H[K[24;12H348L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_packadd.vim" 238 lines, 8288 characters
Executing Test_colorscheme()
Executing Test_colorscheme_completion()[24;1H[K[24;1H:colorscheme ...one')
:ccolorscheme one')
:cacolorscheme one')
:calcolorscheme one')
:callcolorscheme one')
:call colorscheme one')[24;7Hacolorscheme one')[24;8Hdcolorscheme one')[24;9Hdcolorscheme one')[24;10H(colorscheme one')[24;11Hlcolorscheme one')[24;12Hicolorscheme one')[24;13H,colorscheme one')[24;14H colorscheme one')[24;15H'colorscheme one')[24;16H
[24;1H[K[24;1H:colorscheme ...one...three[24;19H[K[24;19H')
:ccolorscheme three')
:cacolorscheme three')
:calcolorscheme three')
:callcolorscheme three')
:call colorscheme three')[24;7Hacolorscheme three')[24;8Hdcolorscheme three')[24;9Hdcolorscheme three')[24;10H(colorscheme three')[24;11Hlcolorscheme three')[24;12Hicolorscheme three')[24;13H,colorscheme three')[24;14H colorscheme three')[24;15H'colorscheme three')[24;16H
[24;1H[K[24;1H:colorscheme ...one...three[24;19H[K[24;19H...[24;15Hwo[24;17H[K[24;17H')
:ccolorscheme two')
:cacolorscheme two')
:calcolorscheme two')
:callcolorscheme two')
:call colorscheme two')[24;7Hacolorscheme two')[24;8Hdcolorscheme two')[24;9Hdcolorscheme two')[24;10H(colorscheme two')[24;11Hlcolorscheme two')[24;12Hicolorscheme two')[24;13H,colorscheme two')[24;14H colorscheme two')[24;15H'colorscheme two')[24;16H
[24;1H[K[24;1H:colorscheme ...one...three[24;19H[K[24;19H...[24;15Hwo[24;17H[K[24;17H...[24;14H[K[24;14H')
:ccolorscheme ')
:cacolorscheme ')
:calcolorscheme ')
:callcolorscheme ')
:call colorscheme ')[24;7Hacolorscheme ')[24;8Hdcolorscheme ')[24;9Hdcolorscheme ')[24;10H(colorscheme ')[24;11Hlcolorscheme ')[24;12Hicolorscheme ')[24;13H,colorscheme ')[24;14H colorscheme ')[24;15H'colorscheme ')[24;16H
Executing Test_helptags()
Executing Test_packadd()
"./Xdir/pack/mine/opt/mytest/plugin/test.vim" [New File][24;47H[K[24;47H[New] 1L, 24C written[24;37Halso/loaded.vim" [New File][24;64H[K[24;54H[K[24;54H[New] 1L, 29C written[24;30Hftdetect/test.vim" [New File[24;60H[K[24;49H[K[24;49H[New] 1L, 26C written
Executing Test_packadd_completion()[24;1H[K[24;1H:packadd ...pluginA')
:cpackadd pluginA')
:capackadd pluginA')
:calpackadd pluginA')
:callpackadd pluginA')
:call packadd pluginA')[24;7Hapackadd pluginA')[24;8Hdpackadd pluginA')[24;9Hdpackadd pluginA')[24;10H(packadd pluginA')[24;11Hlpackadd pluginA')[24;12Hipackadd pluginA')[24;13H,packadd pluginA')[24;14H packadd pluginA')[24;15H'packadd pluginA')[24;16H
[24;1H[K[24;1H:packadd ...pluginA...B[24;17H[K[24;17H')
:cpackadd pluginB')
:capackadd pluginB')
:calpackadd pluginB')
:callpackadd pluginB')
:call packadd pluginB')[24;7Hapackadd pluginB')[24;8Hdpackadd pluginB')[24;9Hdpackadd pluginB')[24;10H(packadd pluginB')[24;11Hlpackadd pluginB')[24;12Hipackadd pluginB')[24;13H,packadd pluginB')[24;14H packadd pluginB')[24;15H'packadd pluginB')[24;16H
[24;1H[K[24;1H:packadd ...pluginA...B[24;17H[K[24;17H...C[24;17H[K[24;17H')
:cpackadd pluginC')
:capackadd pluginC')
:calpackadd pluginC')
:callpackadd pluginC')
:call packadd pluginC')[24;7Hapackadd pluginC')[24;8Hdpackadd pluginC')[24;9Hdpackadd pluginC')[24;10H(packadd pluginC')[24;11Hlpackadd pluginC')[24;12Hipackadd pluginC')[24;13H,packadd pluginC')[24;14H packadd pluginC')[24;15H'packadd pluginC')[24;16H
[24;1H[K[24;1H:packadd ...pluginA...B[24;17H[K[24;17H...C[24;17H[K[24;17H...[24;10H[K[24;10H')
:cpackadd ')
:capackadd ')
:calpackadd ')
:callpackadd ')
:call packadd ')[24;7Hapackadd ')[24;8Hdpackadd ')[24;9Hdpackadd ')[24;10H(packadd ')[24;11Hlpackadd ')[24;12Hipackadd ')[24;13H,packadd ')[24;14H packadd ')[24;15H'packadd ')[24;16H
Executing Test_packadd_noload()
"./Xdir/pack/mine/opt/mytest/plugin/test.vim" [New File][24;47H[K[24;47H[New] 1L, 24C written
Executing Test_packloadall()
Executing Test_runtime()
"test_packadd.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 8 tests
"messages"[24;12H[K[24;12H348L, 9314C[24;12H[K[24;12H359L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_perl.vim" 123 lines, 3037 characters
Executing Test_SvREFCNT()
"t" [New File][24;15H[K[24;1H
Executing Test_VIM_package()
Executing Test_change_buffer()[24;1H[K[24;1H/^1
Executing Test_evaluate_list()[24;1H[K[24;1H/^2
[31msearch hit BOTTOM, continuing at TOP[m
Executing Test_perldo()
"__TEST__" [New File][24;22H[K[24;2Htest_perl.vim"[24;17H[K[24;17H123L, 3037C
Executing Test_perleval()
Executing Test_stdio()
&VIM::Msg
STDOUT
[1m[37m[41mSTDERR[m
"test_perl.res" [New File][24;17H[K[24;17H[New] 0L, 0C written
Executed 7 tests
"messages"[24;12H[K[24;12H359L, 9597C[24;12H[K[24;12H369L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_profile.vim" 146 lines, 6247 characters
Executing Test_profile_completion()[24;1H[K[24;1H:profile ...continue file func pause start
:"profile continue file func pause start
:"
[24;1H[K[24;1H: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][24;20H[K[24;20H[New] 0L, 0C written
Executed 4 tests
"messages"[24;12H[K[24;12H369L, 9825C[24;12H[K[24;12H376L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_quickfix.vim" 1693 lines, 46351 characters
Executing Test_Autocmd()
"F1" [New File][24;16H[K[24;1H
(1 of 1): Line 10
"F2" [New File][24;16H[K[24;1H
(1 of 2): Line 10
Executing Test_Autocmd_Exception()
Executing Test_adjust_lnum()
Already only one window
"Xqftestfilec" [24;16H[K[24;16H20L, 131C
9 fewer lines
Already only one window
"Xqftestfilel" [24;16H[K[24;16H20L, 131C
9 fewer lines
Executing Test_browse()
"Xqftestfile1" [24;16H[K[24;16H20L, 131C
(1 of 4): Line5
"Xqftestfile2" 20L, 131C
(3 of 4): Line10
"Xqftestfile1" [24;16H[K[24;16H20L, 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" [24;16H[K[24;16H20L, 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" [24;15H[K[24;15H[readonly] 1486L, 61530C
(1 of 483): |QuickFixCmdPre|[34m^I[mbefore a quickfix command is run
(2 of 1486):
Executing Test_caddbuffer_wrong()
"Xqftestfile2" [New File][24;26H[K[24;1H
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][24;24H[K[24;1H
(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()
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 1[m[33m:[m non-error 1
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 5[m[33m:[m non-error 3
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 1[m[33m:[m non-error 1
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 5[m[33m:[m non-error 3
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
Executing Test_cwindow()[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[13;1H[30m[43mXtestfile1|1 col 3| Line1 [m[14;1HXtestfile2|2 col 2| Line2
Xtestfile3|3 col 1| Line3
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[Quickfix List] [27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[13;1H[30m[43mXtestfile1|1 col 3| Line1 [m[14;1HXtestfile2|2 col 2| Line2
Xtestfile3|3 col 1| Line3
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[Location List] [m[24;1HExecuting Test_dirstack_cleanup()
(1 of 1): 0
Executing Test_duplicate_buf()
"DoesNotExist" [New File][24;26H[K[24;14H2" [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" [24;13H[K[24;13H21L, 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=[?25l[23;1HAlready only one window[24;1H[K[?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=[?25l[23;1HExecuting Test_helpgrep()
"autocmd.txt" [readonly] 1486L, 61530C
(1 of 483): |QuickFixCmdPre|[34m^I[mbefore a quickfix command is run
"autocmd.txt" [readonly] line 1 of 1486 --0%-- col 1[24;53H[K[24;1H
(1 of 483): |QuickFixCmdPre|[34m^I[mbefore 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[7C: 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
[31mW19: Deleting augroup that is still in use[m
Executing Test_locationlist_cross_tab_jump()
"loclistfoo" [24;14H[K[24;14H1L, 11C[24;9Hbar[24;14H[K[24;14H1L, 11C[?1l>[?12l[?25h[?1049lloclistfoo:1:loclistfoo
[?1049h[?1h=[24;1H
[?25lAlready only one window
Executing Test_locationlist_curwin_was_closed()
[31mW19: Deleting augroup that is still in use[m
Executing Test_long_lines()[24;28H[K[24;1H"samples/quickfix.txt" [24;24H[K[24;24H4L, 22089C
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"samples/quickfix.txt" [24;24H[K[24;24H4L, 22089C
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"samples/quickfix.txt" [24;24H[K[24;24H4L, 22089C
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Executing Test_nomem()
"/<<PKGBUILDDIR>>/src/vim-gtk/alloc.h" 21L, 485C
[1m[37m[41mError detected while processing function RunTheTest[13]..Test_nomem:[m
[33mline 2:[m
[1m[37m[41mE342: Out of memory! (allocating 4096 bytes)[m
"/<<PKGBUILDDIR>>/src/vim-gtk/alloc.h" 21L, 485C
[33mline 5:[m
[1m[37m[41mE342: Out of memory! (allocating 4096 bytes)[m
"/<<PKGBUILDDIR>>/src/vim-gtk/alloc.h" 21L, 485C
[33mline 8:[m
[1m[37m[41mE342: Out of memory! (allocating 1025 bytes)[m
"/<<PKGBUILDDIR>>/src/vim-gtk/alloc.h" 21L, 485C
[33mline 11:[m
[1m[37m[41mE342: Out of memory! (allocating 1025 bytes)[m
"/<<PKGBUILDDIR>>/src/vim-gtk/alloc.h" 21L, 485C
[33mline 14:[m
[1m[37m[41mE342: Out of memory! (allocating 1025 bytes)[m
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()
[31mW19: Deleting augroup that is still in use[m
error list 9 of 10; 1 errors :setloclist()
error list 9 of 10; 1 errors :setloclist()
[31mW19: Deleting augroup that is still in use[m
Executing Test_setqflist()[24;27H[K[24;1H"Xtestfile" [New File][24;23H[K[24;1H
(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" [24;16H[K[24;16H20L, 131C[24;13H2[24;16H[K[24;16H20L, 131C[24;13H1" 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" [24;16H[K[24;16H20L, 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" [24;16H[K[24;16H20L, 131C
(5 of 6): Line15
(6 of 6): Line16
"Xqftestfile1" [24;16H[K[24;16H20L, 131C[24;13H2[24;16H[K[24;16H20L, 131C
(1 of 6): Line5
(2 of 6): Line6
(3 of 6): Line10
(4 of 6): Line11
"Xqftestfile3" [24;16H[K[24;16H20L, 131C
(5 of 6): Line15
(6 of 6): Line16
"Xqftestfile1" [24;16H[K[24;16H20L, 131C
(1 of 6): Line5
(2 of 6): Line6
"Xqftestfile2" 20L, 131C
(3 of 6): Line10
(4 of 6): Line11
"Xqftestfile3" [24;16H[K[24;16H20L, 131C
(5 of 6): Line15
(6 of 6): Line16
"Xqftestfile1" [24;16H[K[24;16H20L, 131C
(1 of 6): Line5
(2 of 6): Line6
"Xqftestfile2" 20L, 131C
(3 of 6): Line10
(4 of 6): Line11
"Xqftestfile3" [24;16H[K[24;16H20L, 131C
(5 of 6): Line15
(6 of 6): Line16
Already only one window
"Xqftestfile1" [24;16H[K[24;16H20L, 131C[24;13H2[24;16H[K[24;16H20L, 131C[24;13H3[24;16H[K[24;16H20L, 131C
Executing Test_two_windows()
"one" [New File][24;17H[K[24;2Htwo
Executing Test_vimgreptitle()
file
"file" [New File]
Cannot open file "file"
"test_quickfix.res" [New File][24;21H[K[24;21H[New] 0L, 0C written
Executed 42 tests
"messages" [24;13H[K[24;12H376L, 9994C[24;12H[K[24;12H421L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_ruby.vim" 34 lines, 820 characters
Executing Test_ruby_change_buffer()[24;1H[K[24;1H/^1
Executing Test_ruby_evaluate_dict()
{"a"=>"foo", "b"=>123}
Executing Test_ruby_evaluate_list()[24;1H[K[24;1H/^2
[31msearch hit BOTTOM, continuing at TOP[m
"test_ruby.res" [New File][24;27H[K[24;17H[K[24;17H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H421L, 11297C[24;12H[K[24;12H427L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_search.vim" 296 lines, 8731 characters
Executing Test_search_cmdline()[24;1H[K[24;1H/foobar
[24;1H[K[24;1H/the
[31msearch hit BOTTOM, continuing at TOP[m[24;1H[K[24;1H/thes[24;5H[K[24;5H
/foobar
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[31msearch hit TOP, continuing at BOTTOM[m[24;1H[K[24;1H/thes
[24;1H[K[24;1H/thes
[24;1H[K[24;1H/thes
[24;1H[K[24;1H/thes
[24;1H[K[24;1H/thei
[24;1H[K[24;1H/thei[24;5H[K[24;5Hs
[24;1H[K[24;1H/thei[24;5H[K[24;5Hs[24;5H[K[24;5Hs
[24;1H[K[24;1H/them[24;5H[K[24;5H[24;4H[K[24;4H[24;3H[K[24;3H[24;2H[K[24;2Hthe\>
Executing Test_search_cmdline2()[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/foo[24;4H[K[24;4H
[27m[23m[m[H[2J[1;3H6 their
7 the
8 them
9 these
10 foobar
[1m[7m[No Name] [+] [m[7;1H" 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[18;1H their', ' 7 the', ' 8 them', ' 9 these', ' 10 foobar'])
" Test 1
" CTRL-N / CTRL-P skips through the previous search history
set noincsearch
:1
[7mtest_search.vim [m[24;1HExecuting Test_searchpair()
Executing Test_use_sub_pat()
"test_search.res" [New File][24;19H[K[24;19H[New] 0L, 0C written
Executed 4 tests
"messages"[24;12H[K[24;12H427L, 11443C[24;12H[K[24;12H434L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_signs.vim" 199 lines, 6383 characters
Executing Test_sign()
"foo" [New File][24;17H[K[27m[23m[m[H[2J[1;78Ha[34m[47m [m[2;78Hb[34m[47m [m[3;78Hc x[4;78Hd[34m[47m [5;79H [m[5;1H[1m[34m ~[m
[1m[7m[No Name] [+] [m[7;1H" Test for signs
if !has('signs')
finish
endif
[7mtest_signs.vim [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [m[18;1H[7mfoo [m[19;1H[34m[47m [ma
[34m[47m [mb
x c
[34m[47m [md
[7m[No Name] [+] [m[1;1H[34m[47m [ma[1;78H[K[2;1H[34m[47m [mb[2;78H[K[3;1Hx c[3;78H[K[4;1H[34m[47m [md[4;78H[K[5;1H[34m[47m [m[1m[34m~[74C [m[24;1H"foo" [New file] --No lines in buffer--
"bar[7CF[24;18H[K[24;1H
Executing Test_sign_completion()[24;1H[K[24;1H:sign ...define jump list place undefine unplace
:"sign define jump list place undefine unplace
:"
[24;1H[K[24;1H:sign define Sign ...icon= linehl= text= texthl=
:"sign define Sign icon= linehl= text= texthl=
:"
[24;1H[K[24;1H:sign define Sign linehl=Spell...Bad SpellCap SpellLocal SpellRare
:"sign define Sign linehl=SpellBad SpellCap SpellLocal SpellRare
:"
[24;1H[K[24;1H:sign define Sign icon=Xsig...nOne XsignTwo
:"sign define Sign icon=XsignOne XsignTwo
:"
[24;1H[K[24;1H:sign undefine ...Sign1 Sign2
:"sign undefine Sign1 Sign2
:"
[24;1H[K[24;1H:sign place 1 ...buffer= file= line= name=
:"sign place 1 buffer= file= line= name=
:"
[24;1H[K[24;1H:sign place 1 name=...Sign1 Sign2
:"sign place 1 name=Sign1 Sign2
:"
[24;1H[K[24;1H:sign unplace 1 ...buffer= file=
:"sign unplace 1 buffer= file=
:"
[24;1H[K[24;1H:sign list ...Sign1 Sign2
:"sign list Sign1 Sign2
:"
[24;1H[K[24;1H: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][24;20H[K[24;2Htest_signs.res" [New File][24;18H[K[24;18H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H434L, 11605C[24;12H[K[24;12H442L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_smartindent.vim" 14 lines, 376 characters
Executing Test_nosmartindent()[24;1H[K[24;1H/some
[31msearch hit BOTTOM, continuing at TOP[m[24;1H[K[24;1H"test_smartindent.res" [New File][24;24H[K[24;24H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H442L, 11818C[24;12H[K[24;12H446L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_startup.vim" 185 lines, 4581 characters
Executing Test_after_comes_later()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;3H1: /<<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
[23;80Ho[24;1Hbar/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=[24;1H
[?25lExecuting Test_compatible_args()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1HError detected while processing /<<PKGBUILDDIR>>/src/vim-gtk/test
[23;80Hd[24;1Hir/Xafter.vim:
line 2:
E528: Must specify a ' value: viminfo+=nviminfo
[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;33H[?1l>[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[24;1H[?1l>[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_file_args()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[24;1H[?1l>[?1049l[?1049h[?1h=[24;27H[?1l>[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"one" [New File]
[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;27H[?1l>[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"one" [New File]
[?1l>[?12l[?25h[?1049l3 files to edit
[?1049h[?1h=[24;27H[?1l>[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"one" [New File]
[?1l>[?12l[?25h[?1049l2 files to edit
[?1049h[?1h=[24;27H[?1l>[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"one" [New File]
[?1l>[?12l[?25h[?1049l4 files to edit
[?1049h[?1h=[24;1H
[?25lExecuting Test_help_arg()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_read_stdin()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[27m[23m[m[H[2J[?25l[24;1H"-stdin-" 1 line, 10 characters[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[24;1H"Xtestout" [New File] 1 line, 10 characters written
[?1l>[?12l[?25h[?1049l
Vim: Reading from stdin...
[?1049h[?1h=[24;1H
[?25lExecuting Test_startup_script()[?1000h
Executing Test_startuptime()[?1l>[?12l[?25h[?1049l[?1000l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"one" [New File]
[?1l>[?12l[?25h[?1049l[?1000h[?1049h[?1h=[?25l[24;1H"test_startup.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 7 tests
"messages"[24;12H[K[24;12H446L, 11893C[24;12H[K[24;12H456L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_startup_utf8.vim" 64 lines, 1366 characters
Executing Test_read_fifo_utf8()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"/dev/fd/63" [readonly] 2 lines, 24 characters
"Xtestout" [New File] 2 lines, 24 characters written
[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_read_stdin_utf8()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[27m[23m[m[H[2J[?25l[24;1H"-stdin-" 2 lines, 24 characters[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[24;1H"Xtestout" [New File] 2 lines, 24 characters written
[?1l>[?12l[?25h[?1049l
Vim: Reading from stdin...
[?1049h[?1h=[?25l[24;1H"test_startup_utf8.res" [New File][24;25H[K[24;25H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H456L, 12144C[24;12H[K[24;12H461L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_stat.vim" 64 lines, 1598 characters
Executing Test_checktime()
"Xtest.tmp" [24;13H[K[24;13H1L, 13C[?12l[?25h[?25l[24;13H[K[24;13H1L, 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][24;27H[K[24;17H[K[24;17H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H461L, 12255C[24;12H[K[24;12H469L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_substitute.vim" 41 lines, 1151 characters
Executing Test_multiline_subst()
[31msearch hit BOTTOM, continuing at TOP[m
3 substitutions on 3 lines[24;27H[K[24;1H
3 substitutions on 2 lines
"test_substitute.res" [New File][24;23H[K[24;23H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H469L, 12456C[24;12H[K[24;12H473L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_syntax.vim" 164 lines, 4101 characters
Executing Test_syn_iskeyword()[27m[23m[m[H[2J[1;1H[1m[37m[41mCREATE[m [35mTABLE[m FOOBAR(
DLTD_BY [32mVARCHAR2[m([31m100[m)
);
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [+] [m[13;1H[34m" Test for syntax and syntax iskeyword option[m
[33mif[m ![36mhas[m[35m([m[31m"syntax"[m[35m)[m
[33mfinish
endif
func[m GetSyntaxItem[35m([mpat[35m)[m
[33mlet[m [36mc[m [33m=[m [31m''[m
[33mlet[m [36ma[m [33m=[m [[31m'a'[m, [36mgetreg[m[35m([m[31m'a'[m[35m)[m, [36mgetregtype[m[35m([m[31m'a'[m[35m)[m]
[31m0[m
[7mtest_syntax.vim [m[24;1H
syntax iskeyword not set
syntax iskeyword @,48-57,_,192-255[27m[23m[m[H[2J[1;1H[1m[37m[41mCREATE[m [35mTABLE[m FOOBAR(
DLTD_BY [32mVARCHAR2[m([31m100[m)
);
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [+] [m[13;1H[34m" Test for syntax and syntax iskeyword option[m
[33mif[m ![36mhas[m[35m([m[31m"syntax"[m[35m)[m
[33mfinish
endif
func[m GetSyntaxItem[35m([mpat[35m)[m
[33mlet[m [36mc[m [33m=[m [31m''[m
[33mlet[m [36ma[m [33m=[m [[31m'a'[m, [36mgetreg[m[35m([m[31m'a'[m[35m)[m, [36mgetregtype[m[35m([m[31m'a'[m[35m)[m]
[31m0[m
[7mtest_syntax.vim [m[24;1H
syntax iskeyword not set
Executing Test_syntax_after_reload()
"Xsomefile" [New File][24;23H[K[24;13H[K[24;13H[New] 2L, 12C written
"other" [New File][24;19H[K[24;2HXsomefile" [24;14H[K[24;13H2L, 12C
Executing Test_syntax_completion()[24;1H[K[24;1H:syn ...case clear cluster conceal enable include iskeyword keyword list manual ma
[23;80Ht[24;1Hch off on region reset spell sync[23;2H"syn case clear cluster conceal enable include iskeyword keyword list manual ma[24;1Htch off on region reset spell sync[23;3H
[24;1H[K[24;1H:syn case ...ignore match
:"syn case ignore match
:"
[24;1H[K[24;1H:syn spell ...default notoplevel toplevel
:"syn spell default notoplevel toplevel
:"
[24;1H[K[24;1H:syn sync ...ccomment clear fromstart linebreaks= linecont lines= match maxlines=
[23;80Hm[24;1Hinlines= region[23;2H"syn sync ccomment clear fromstart linebreaks= linecont lines= match maxlines= [24;1Hminlines= region[23;3H
[24;1H[K[24;1H:syn list ...Boolean Character ColorColumn Comment Conceal Conditional Constant Cu
[23;80Hr[24;1Hsor CursorColumn CursorLine CursorLineNr Debug Define Delimiter DiffAdd DiffCha
[23;80Hn[24;1Hge DiffDelete DiffText Directory EndOfBuffer Error ErrorMsg Exception Float Fol
[23;80Hd[24;1HColumn Folded Function Identifier Ignore IncSearch Include Keyword Label LineNr
Macro MatchParen ModeMsg MoreMsg NONE NonText Normal Number Operator Pmenu Pmen
[23;80Hu[24;1HSbar PmenuSel PmenuThumb PreCondit PreProc Question Quote Repeat SYN Search Sig
[23;80Hn[24;1HColumn Special SpecialChar SpecialComment SpecialKey SpellBad SpellCap SpellLoc
[23;80Ha[24;1Hl SpellRare Statement StatusLine StatusLineNC StorageClass String Structure Tab
[23;80HL[24;1Hine TabLineFill TabLineSel Tag Title Todo Type Typedef Underlined VertSplit Vis
[23;80Hu[24;1Hal VisualNOS WarningMsg WildMenu lCursor luaBlock luaBraceError luaComment luaC
[23;80Ho[24;1Hnd luaConstant luaElse luaElseifThen luaError luaFor luaFunc luaFunction luaFun
[23;80Hc[24;1HtionBlock luaIfThen luaIn luaInnerComment luaLabel luaLoopBlock luaNumber luaOp
[23;80He[24;1Hrator luaParen luaParenError luaRepeat luaSpecial luaStatement luaString luaStr
[23;80Hi[24;1Hng2 luaTable luaTableBlock luaThenEnd luaTodo perlAnglesDQ perlAnglesSQ perlArr
[23;80Ho[24;1Hw perlAutoload perlBraces perlBracesDQ perlBracesSQ perlBracketsDQ perlBrackets
[23;80HS[24;1HQ perlCharacter perlComment perlConditional perlControl perlDATA perlElseIfErro[9;2H"syn list Boolean Character ColorColumn Comment Conceal Conditional Constant Cu[10;1Hrsor CursorColumn CursorLine CursorLineNr Debug Define Delimiter DiffAdd DiffCha[11;1Hnge DiffDelete DiffText Directory EndOfBuffer Error ErrorMsg Exception Float Fol[12;1HdColumn Folded Function Identifier Ignore IncSearch Include Keyword Label LineNr[13;1H Macro MatchParen ModeMsg MoreMsg NONE NonText Normal Number Operator Pmenu Pmen[14;1HuSbar PmenuSel PmenuThumb PreCondit PreProc Question Quote Repeat SYN Search Sig[15;1HnColumn Special SpecialChar SpecialComment SpecialKey SpellBad SpellCap SpellLoc[16;1Hal SpellRare Statement StatusLine StatusLineNC StorageClass String Structure Tab[17;1HLine TabLineFill TabLineSel Tag Title Todo Type Typedef Underlined VertSplit Vis[18;1Hual VisualNOS WarningMsg WildMenu lCursor luaBlock luaBraceError luaComment luaC[19;1Hond luaConstant luaElse luaElseifThen luaError luaFor luaFunc luaFunction luaFun[20;1HctionBlock luaIfThen luaIn luaInnerComment luaLabel luaLoopBlock luaNumber luaOp[21;1Herator luaParen luaParenError luaRepeat luaSpecial luaStatement luaString luaStr[22;1Hing2 luaTable luaTableBlock luaThenEnd luaTodo perlAnglesDQ perlAnglesSQ perlArr[23;1How perlAutoload perlBraces perlBracesDQ perlBracesSQ perlBracketsDQ perlBrackets[24;1HSQ perlCharacter perlComment perlConditional perlControl perlDATA perlElseIfErr[9;3H
[24;1H[K[24;1H: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" [24;21H[K[24;21H[readonly] 143L, 3142C
[35m--- Syntax items ---[m
[35m--- Syntax items ---[m
"Xsomefile" [New File]
Executing Test_syntime()
"../memfile_test.c" [24;21H[K[24;21H[readonly] 143L, 3142C[27m[23m[m[H[2J[1;1H[34m/* 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.
*/[m
[35m#undef NDEBUG
#include [m[31m<assert.h>[m
[34m/* Must include main.c because it contains much more than just main() */[m
[35m#define NO_VIM_MAIN
#include [m[31m"main.c"[m
[34m/* This file has to be included because the tested functions are static */[m
[35m#include [m[31m"memfile.c"[m
"Xsomefile" [New File]
"test_syntax.res" [New File][24;19H[K[24;19H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H473L, 12532C[24;12H[K[24;12H481L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_system.vim" 92 lines, 2910 characters
Executing Test_System()
"Xdummy" [New File][24;20H[K[24;1H
Executing Test_system_exmode()
"test_system.res" [New File][24;29H[K[24;19H[K[24;19H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H481L, 12729C[24;12H[K[24;12H486L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;34H[K[24;24H[K[24;24H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H486L, 12824C[24;12H[K[24;12H492L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_undo.vim" 265 lines, 6936 characters
Executing Test_U_command()[24;1H[K[24;1HExecuting Test_global_local_undolevels()
"one" [New File][24;17H[K[24;1H
6 fewer lines; before #8 0 seconds ago
"two" [New File][24;17H[K[24;1H
3 fewer lines; before #11 0 seconds ago
"three" [New File][24;19H[K[24;1H
Executing Test_insert_expr()[24;1H[K[24;1H=setline('.','1234')
[24;1H[K[24;1H1 line less; before #4 0 seconds ago[24;22H3[24;1H[K[24;1H=setline('.','1234')
[24;1H[K[24;1H1 line less; before #7 0 seconds ago[24;1H[K[24;1H=string(123)
[24;1H[K[24;1H1 line less; before #9 0 seconds ago
Executing Test_undo_del_chars()
1 change; before #3 0 seconds ago[24;19H21
1 change; before #6 1 seconds ago[24;19H5
4[7Cs; after #3
1[7C; before #21
3 changes; after #6 1 seconds ago[24;1H[K[24;1H3 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][24;19H[K[24;1H[K[24;1H"Xtest" [New] 1L, 12C written[24;1H[K[24;1H"Xtest" 3L, 20C written[24;1H[K[24;1H1 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][24;19H[K[24;1H[K[24;1H"Xfile" [New] 3L, 14C written[24;9H[K[24;9H3L, 14C
Finished reading undo file Xundofile
3 fewer lines; before #1 2019/06/23 12:06:04
Executing Test_undojoin()[24;1H[K[24;1H1 line less; before #2 0 seconds ago[24;1H[K[24;1H2 fewer lines; before #3 0 seconds ago
Executing Test_undolist()[24;1H[K[24;1H1 change; before #2 0 seconds ago[24;1H[K[24;1HExecuting Test_undotree()[24;1H[K[24;1H
1 change; before #2 0 seconds ago
"Xtest" [24;9H[K[24;9H[New] 1L, 4C written
"test_undo.res" [New File][24;27H[K[24;17H[K[24;17H[New] 0L, 0C written
Executed 9 tests
"messages"[24;12H[K[24;12H492L, 13023C[24;12H[K[24;12H504L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_usercommands.vim" 104 lines, 2527 characters
Executing Test_Ambiguous()
Executing Test_CmdUndefined()
Executing Test_cmdmods()
"test_usercommands.res" [New File][24;25H[K[24;25H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H504L, 13330C[24;12H[K[24;12H510L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;28H[K[24;3Hviminfo" [24;12H[K[24;12H83L, 3589C
Executing Test_viminfo_file_mark_zero_time()
Executing Test_viminfo_file_marks()
"ten" [New File][24;17H[K[24;2Hagain" [New File]
"thirty" [New File]
"twen
"again" [New File][24;19H[K[24;2Hfourty" [New File]
"Xviminfo" [24;12H[K[24;12H90L, 3387C
Executing Test_viminfo_jumplist()
"testbuf" [New File][24;21H[K[24;1H[K[24;1H/20
[24;1H[K[24;1H/30
[24;1H[K[24;1H/last pos
[24;1H[K[24;1H/15
[24;1H[K[24;1H/last pos
[24;1H[K[24;1H?30
[24;1H[K[24;1H/15
[24;1H[K[24;1H/last pos
[24;1H[K[24;1H?30
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
Executing Test_viminfo_marks()
"bufa" [New File][24;18H[K[24;5Hb
Executing Test_viminfo_oldfiles()
Executing Test_viminfo_read_and_write()
Executing Test_viminfo_registers()
"test_viminfo.res" [New File][24;30H[K[24;20H[K[24;20H[New] 0L, 0C written
Executed 13 tests
"messages" [24;13H[K[24;12H510L, 13458C[24;12H[K[24;12H526L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_viml.vim" 1315 lines, 31693 characters
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-gtk/test[m
[23;80H[1m[37m[41md[24;1Hir/test_viml.vim:[m
[33mline 432:[m
[1m[37m[41mE492: Not an editor command: ^Iasdf[m
[33mline 444:[m
[1m[37m[41mE492: Not an editor command: ^Iasdf[m
[33mline 452:[m
[1m[37m[41mE492: Not an editor command: asdf[m
[33mline 455:[m
[1m[37m[41mE492: Not an editor command: asdf | Xpath 'p'[m
[1m[37m[41mError detected while processing function T8_F:[m
[33mline 5:[m
[1m[37m[41mE492: Not an editor command: ^I asdf[m
[33mline 7:[m
[1m[37m[41mE492: Not an editor command: ^I asdf | Xpath 'd'[m
[33mline 19:[m
[1m[37m[41mE492: Not an editor command: ^I asdf[m
[33mline 21:[m
[1m[37m[41mE492: Not an editor command: ^I asdf | Xpath 'l'[m
[33mline 29:[m
[1m[37m[41mE121: Undefined variable: novar[m
[1m[37m[41mE15: Invalid expression: novar^I^I" returns (default return value 0)[m
[1m[37m[41mError detected while processing function T8_G:[m
[33mline 5:[m
[1m[37m[41mE492: Not an editor command: ^I asdf^I^I" returns -1[m
[1m[37m[41mError detected while processing function T8_H:[m
[33mline 5:[m
[1m[37m[41mE492: Not an editor command: ^I asdf^I^I" returns -1[m
[1m[37m[41mError detected while processing function F[2]..G[2]..H[2]..I:[m
[33mline 2:[m
[1m[37m[41mE492: Not an editor command: asdf^I^I" error[m
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-gtk/test[m
[23;80H[1m[37m[41md[24;1Hir/test_viml.vim:[m
[33mline 663:[m
[1m[37m[41mE15: Invalid expression: | strlen("\"") | Xpath 'j'[m
[1m[37m[41mE15: Invalid expression: 1 ||| strlen("\"") | Xpath 'j'[m
[33mline 673:[m
[1m[37m[41mE15: Invalid expression: | strlen("\"") | Xpath 'n'[m
[1m[37m[41mE15: Invalid expression: 1 ||| strlen("\"") | Xpath 'n'[m
[33mline 682:[m
[1m[37m[41mE15: Invalid expression: | strlen("\"") | Xpath 'r'[m
[1m[37m[41mE15: Invalid expression: 1 ||| strlen("\"") | Xpath 'r'[m
[33mline 717:[m
[1m[37m[41mE492: Not an editor command: asdf^I^I" error[m
1
[33mline 787:[m
[1m[37m[41mE492: Not an editor command: asdf^I^I" error[m
[33mline 794:[m
[1m[37m[41mE492: Not an editor command: asdf^I^I" error[m
[33mline 817:[m
[1m[37m[41mE121: Undefined variable: asdf[m
[1m[37m[41mE15: Invalid expression: asdf[m
[33mline 828:[m
[1m[37m[41mE121: Undefined variable: asdf[m
[1m[37m[41mE15: Invalid expression: asdf | Xpath 'f' | endwhile | Xpath 'g'[m
[1m[37m[41mError detected while processing function F:[m
[33mline 8:[m
[1m[37m[41mE121: Undefined variable: g:boolvar[m
[1m[37m[41mE15: Invalid expression: g:boolvar^I" possibly undefined[m
[1m[37m[41mE121: Undefined variable: g:boolvar[m
[1m[37m[41mE15: Invalid expression: g:boolvar | Xpath 'd' | else | Xpath 'e' | endif[m
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
[23;80Hr[24;1Hee': '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':
[23;80H'[24;1Hyes', '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
4[10CXpath 'b'
5[10Cif first
6[14CXpath 'c'
7[14Clet first = 0
8[14Cbreak
9[10Celse
10[13CXpath 'd'
11[13Creturn
12[9Cendif
13 endwhile
endfunction[10;1H"/tmp/vLs4i5h/0" [10;18H[K[11;1H[K[12;1H[K[13;1H[K[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[10;18H[noeol] 16L, 299C
13 substitutions on 13 lines
Pattern not found: ^\s*$
"/tmp/vLs4i5h/0" [12;18H[K[12;18H13L, 248C written
"test_viml.vim" [12;18H[K[12;17H1315L, 31693C
function T1_G()
1 Xpath 'h'
2 let first = 1
3 while 1
4[10CXpath 'i'
5[10Cif first
6[14CXpath 'j'
7[14Clet first = 0
8[14Cbreak
9[10Celse
10[13CXpath 'k'
11[13Creturn
12[9Cendif
13[9Cif 1 " unmatched :if
14 endwhile
endfunction[9;1H"/tmp/vLs4i5h/1" [9;18H[K[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[9;18H[noeol] 17L, 334C
14 substitutions on 14 lines
Pattern not found: ^\s*$
"/tmp/vLs4i5h/1" [11;18H[K[11;18H14L, 281C written
"test_viml.vim" [11;18H[K[11;17H1315L, 31693C
Executing Test_error_in_function()
Executing Test_error_in_script()
Executing Test_expr_parsing()
Executing Test_finish()
function T4_F()
1 if 1
2[10CXpath 'a'
3[10Clet loops = 3
4[10Cwhile loops > 0[25C" 3: 2: 1:
5[14CXpath 'b' . loops
6[14Cif (loops == 2)
7[18CXpath 'c' . loops
8[18Creturn
9[18CXpath 'd' . loops
10[13Cendif
11[13CXpath 'e' . loops
12[13Clet loops = loops - 1
13[9Cendwhile
14[9CXpath 'f'
15 else
16[9CXpath 'g'
17 endif
endfunction[6;1H"/tmp/vLs4i5h/2" [6;18H[K[7;1H[K[8;1H[K[9;1H[K[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[6;18H[noeol] 20L, 504C
17 substitutions on 17 lines
Pattern not found: ^\s*$
"/tmp/vLs4i5h/2" [8;18H[K[8;18H17L, 445C written
"test_viml.vim" [8;18H[K[8;17H1315L, 31693C
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][18;27H[K[18;17H[K[18;17H[New] 0L, 0C written
Executed 21 tests
"messages" [19;13H[K[19;12H526L, 13970C[19;12H[K[19;12H550L, 14609C written[24;1H
[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_visual.vim" 25 lines, 506 characters
Executing Test_block_shift_multibyte()
Executing Test_dotregister_paste()[24;1H[K[24;1H"test_visual.res" [New File][24;19H[K[24;19H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H550L, 14609C[24;12H[K[24;12H555L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_window_id.vim" 103 lines, 2714 characters
Executing Test_win_getid()
"one" [New File][24;17H[K[24;2Htwohree" [New File]
"four" [New File][24;18H[K[24;3Hive
Executing Test_win_getid_curtab()
"X" [New File][24;15H[K[24;2Htest_window_id.res" [New File][24;22H[K[24;22H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H555L, 14723C[24;12H[K[24;12H560L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_writefile.vim" 16 lines, 490 characters
Executing Test_WriteFile()
"test_writefile.res" [New File][24;22H[K[24;22H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H560L, 14827C[24;12H[K[24;12H564L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;33H[K[24;23H[K[24;23H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H[converted] 564L, 14896C[24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_alot_utf8.vim" 11 lines, 440 characters[?1l>[?12l[?25h[?1049l[m[m[0m[H[2J[m[0m[24;1HExecuting Test_classes_re1()
Executing Test_classes_re2()
Executing Test_equivalence_re1()
Executing Test_equivalence_re2()
Executing Test_match_using_multibyte_conceal_char()[m[m[0m[H[2J[2;1H#[37m[40mˑ[0mThis[37m[40mˑ[0mis[37m[40mˑ[0ma[37m[40mˑ[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H" 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
[7mtest_alot_utf8.vim [0m[24;1HExecuting Test_source_latin()
"Xscript"[24;11H[K[24;11H[New] 2L, 44C written
Executing Test_source_utf8()[24;29H[K[24;1H"Xscript"[24;11H[K[24;11H[New] 2L, 42C written[24;1H[K[24;1H:%s/à[24;6Hx/--à[24;11H1234--/g
[24;1H[K[24;1H:%s/Àx/--À1234--/g
Executing Test_strcharpart()
Executing Test_strgetchar()
"test_alot_utf8.res" [New File][24;22H[K[24;22H[New] 0L, 0C written
Executed 9 tests
"messages"[24;12H[K[24;12H572L, 15112C[24;12H[K[24;12H584L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_alot.vim" 49 lines, 1258 characters
Executing Test_BufEnter()
"NewFile" [New File][24;21H[K[24;2HXdir" is a directory
Executing Test_OptionSet_modeline()
Executing Test_abbreviation()[24;1H[K[24;1HExecuting Test_abs()
Executing Test_acos()
Executing Test_asin()
Executing Test_atan()
Executing Test_atan2()
Executing Test_augroup_deleted()
[31mW19: Deleting augroup that is still in use[m
Executing Test_augroup_warning()[24;33H[K[24;1H
[31mW19: Deleting augroup that is still in use[m[24;1H[K[24;1Hentering
Executing Test_auto_partial_rebind()
Executing Test_autocmd_bufunload_avoiding_SEGV_01()
"aa.txt" [New File][24;20H[K[24;1H
"bb.txt" [New File]
Executing Test_autocmd_bufunload_avoiding_SEGV_02()[24;1H[K[24;1H
"a.txt" [New File]
"test_alot.vim" [24;17H[K[24;17H49L, 1258C
Executing Test_autocmd_bufunload_with_tabnext()
Executing Test_autocmd_bufwinleave_with_tabfirst()
"a.txt" [New File][24;19H[K[24;1H
Executing Test_bind_in_python()
Executing Test_break_undo()[24;1H[K[24;1HExecuting Test_bufunload()
Executing Test_cancel_ptjump()
Already only one window[24;1H[K[24;1H:ptjump word
[35m # pri kind tag[15Cfile[m
1 F[8C[35mword[m[14C[34mfile1[m
[15Ccmd1
2 F[8C[35mword[m[14C[34mfile2[m
[15Ccmd2
Type number and <Enter> (empty cancels):
"help.txt" [24;13H[K[24;12H[readonly] 225L, 8437C
Executing Test_caught_error_in_statusline()[27m[23m[m[H[2J[1;1Hsource test_modeline.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
[1m[7m [m[24;1HExecuting Test_caught_error_in_tabline()[27m[23m[m[H[2J[1;1H[7m [m[2;1Hsource 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
[1m[7mtest_alot.vim [m[24;1HExecuting 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()[24;1H[K[24;1H=s:test_func()
[2;8H[30m[47m AAAAA_Group [m[40m [m[3;8H[30m[45m BufAdd [m[40m [m[4;8H[30m[45m BufCreate [m[40m [m[5;8H[30m[45m BufDelete [m[40m [m[6;8H[30m[45m BufEnter [m[40m [m[7;8H[30m[45m BufFilePost [m[47m [m[8;8H[30m[45m BufFilePre [m[47m [m[9;8H[30m[45m BufHidden [m[47m [m[10;8H[30m[45m BufLeave [m[47m [m[11;8H[30m[45m BufNew [m[47m [m[12;8H[30m[45m BufNewFile [m[47m [m[13;8H[30m[45m BufRead [m[47m [m[14;8H[30m[45m BufReadCmd [m[47m [m[15;8H[30m[45m BufReadPost [m[47m [m[16;8H[30m[45m [m[1m[7mt[m[30m[45mBufReadPre [m[47m [m[17;8H[30m[45m BufUnload [m[47m [m[18;8H[30m[45m BufWinEnter [m[47m [m[19;8H[30m[45m BufWinLeave [m[47m [m[20;8H[30m[45m BufWipeout [m[47m [m[21;8H[30m[45m BufWrite [m[47m [m[22;8H[30m[45m BufWriteCmd [m[47m [m[23;8H[30m[45m BufWritePost [m[47m [m[24;1H[K[24;1HExecuting Test_complete_no_undo()[24;1H[K[24;1H=UndoComplete()
[2;1H[1;1H[7L[1;1Hxxx
aaa
yyy
[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [+] [m[13;8Htest_tabpage.vim[13;24H[K[14;8Htest_tagcase.vim[14;24H[K[15;8Htest_tagjump.vim[15;24H[K[16;8Htest_timers.vim[16;23H[K[17;8Htest_true_false.vim[17;27H[K[18;8Htest_unlet.vim[18;22H[K[19;1Hsource test_window_cmd.vim[19;27H[K[20;1Hsource test_options.vim[20;24H[K[21;8He here[21;14H[K[22;1HTest3: text with a (parenthesis here
[7mtest_alot.vim [m[3;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October[m[1m[7me[m[30m[45m
November
December [2;1H[m[24;1H[K[24;1H1 change; before #2 0 seconds ago[24;1H[K[24;1H=UndoComplete()
[2;4H
bbb
yyy[3;4H[K[4;1H[1m[34m~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
source test_tab
source test_tag[3;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October[m[1m[7me[m[30m[45m
November
December [2;4H[m[24;1H[1m-- INSERT --[m[24;13H[K[3;1H[30m[47mJanuary [2;4H[m[24;1H[K[24;1H1 change; before #4 0 seconds ago[24;1H[K[24;1H=UndoComplete()
[2;4H
yyy[3;4H[K[4;1H[1m[34m~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
source test_tab
source test_tag[3;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October[m[1m[7me[m[30m[45m
November
December [2;4H[m
January
[1m[34m~
~
~
~
~
~
~
~ [m[4;1H[30m[45mFebruary
March
April
May
June
July
August
September [m[24;1H[1m-- INSERT --[m[24;13H[K[3;1H[30m[47mJanuary [2;8H[m[24;1H[K[24;1H1 change; before #5 0 seconds ago
Executing Test_completefunc_opens_new_window_one()
[31msearch hit BOTTOM, continuing at TOP[1;4H[m[24;1H[K[24;1HExecuting Test_completefunc_opens_new_window_two()
[31msearch hit BOTTOM, continuing at TOP[m[24;1H[K[24;1HExecuting Test_completefunc_with_scratch_buffer()[6;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May [6;1HJanuary [m
[30m[47mFebruary [5;9H[27m[23m[m[H[2J[1;1Hinfo2-1
2-2
2-3
February
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[13;1Hsource 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[6;1H[30m[45mJanuary [m
[30m[47mFebruary [m
[30m[45mMarch
April
May [m
[7m[Scratch] [23;1Htest_alot.vim [4;1H[Scratch] [Preview] [m[12;1H[1m[7m[Scratch] [5;9H[m
March[5;6H[K[6;1H[1m[34m~
~
~
~
~ [m[6;1H[30m[45mJanuary [m
[30m[47mFebruary [m
[30m[45mMarch
April
May [m[1;5H3
3
3[12;1H[7m[Scratch][m[1m[7m [m[7m [m[12;1H[1m[7m[Scratch] [m[7;1H[30m[45mFebruary [m
[30m[47mMarch [5;6H[m
April
[1m[34m~
~
~
~
~ [m[6;1H[30m[45mJanuary
February [m
[30m[47mMarch [m
[30m[45mApril
May [m[1;5H4
4
4[12;1H[7m[Scratch][m[1m[7m [m[7m [m[12;1H[1m[7m[Scratch] [m[8;1H[30m[45mMarch [m
[30m[47mApril [5;6H[m[24;1HExecuting Test_completefunc_works()
[31msearch hit BOTTOM, continuing at TOP[m[2;1H[30m[47mthreedef [m
[30m[45mthreeDEF [2;1Hthreedef [m
[30m[47mthreeDEF [1;9H[m
[L[1;1HthreeDEF
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~
~
~
~
~ [m[2;1H[30m[45mthreedef [m
[30m[47mthreeDEF [1;9H[m[24;1H[K[24;1HExecuting Test_completion_ctrl_e_without_autowrap()[24;1H[K[24;1HExecuting Test_cos()
Executing Test_cosh()
Executing Test_cursorhold_insert()[?12l[?25h[?25l[24;1H[K[24;1HExecuting Test_cursorhold_insert_ctrl_x()[?12l[?25h[?25l[24;1H[K[24;1HExecuting Test_cursorline_keep_col()
Executing Test_curswant_with_autocommand()[24;1H[K[24;1H
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][24;21H[K[24;1H[K[24;1H
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()[24;1H[K[24;1HExecuting Test_file_delete()
"Xfile" [New File][24;19H[K[24;9H[K[24;9H[New] 2L, 4C written
Executing Test_file_perm()
Executing Test_fileformat_after_bw()
"a.txt" [New File][24;19H[K[24;2Hex-undo" [New File]
Executing Test_filetype_valid()
Executing Test_filter()
"Xdoesnotmatch" [New File]
"Xwillmatch" [New File][24;24H[K[24;2Hex-undo" [New File][24;21H[K[24;1H
Executing Test_filter_cmd_completion()[24;1H[K[24;1H:filter [34m^I[m"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter [34m^I[m[24;11H[K[24;11H[24;1H[K[24;1H:filter pat[34m^I[m"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter pat[34m^I[m[24;15H[K[24;14H[24;1H[K[24;1H:filter /pat[34m^I[m"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter /pat[34m^I[m[24;15H[K[24;15H[24;1H[K[24;1H:filter /pat/[34m^I[m"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter /pat/[34m^I[m[24;16H[K[24;16H[24;1H[K[24;1H:filter pat pri...nt[24;18H[K[24;18H"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter pat print[24;18H[K[24;18H[24;1H[K[24;1H:filter /pat/ pri...nt[24;20H[K[24;20H"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter /pat/ print[24;20H[K[24;20H[24;1H[K[24;1H:filter #pat# pri...nt[24;20H[K[24;20H"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter #pat# print[24;20H[K[24;20H[24;1H[K[24;1HExecuting 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" [24;17H[K[24;17H49L, 1258C
Executing Test_func_sandbox()
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_glob2regpat_invalid()
Executing Test_glob2regpat_valid()
Executing Test_global_local_lispwords()
Executing Test_help_complete()
Executing Test_help_respect_current_file_lang()
"testdoc.abx" [24;15H[K[24;15H[readonly] 2L, 25C[24;10Hja[24;15H[K[24;15H[readonly] 2L, 25C[24;26Hline 1 of 2 --50%-- col 2-9[24;10Htxt[24;15H[K[24;15H[readonly] 2L, 25C
Executing Test_help_tagjump()[24;30H[K[24;1H"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
"options.txt" [24;15H[K[24;15H[readonly] 8784L, 372352C[24;26Hline 7690 of 8784 --87%-- col 7-49
"eval.txt" [24;12H[K[24;12H[readonly][converted] 10613L, 408230C[24;22H line 2406 of 10613 --22%-- col 1
"options.txt" [readonly] line 1324 of 8784 --15%-- col 4-25
"cmdline[24;15H[K[24;15H[readonly] 1147L, 46822C
Executing Test_if()
Executing Test_info()
Executing Test_invalid_submatch()
Executing Test_isnan()
Executing Test_join_with_count()
Executing Test_keymap_valid()
Executing Test_keyword_jump()
"Xtestfile" [24;13H[K[24;13H9L, 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()[24;1H[K[24;1HExecuting Test_map_ctrl_c_visual()[24;1H[K[24;1H:'<,'>[24;2H[K[24;2H$put ='vmap works'
Executing Test_map_cursor()[24;1H[K[24;1H1 line less; before #8 0 seconds ago
Executing Test_map_feedkeys()[24;1H[K[24;1H:call feedkeys(".", "in")
[24;1H[K[24;1H:call feedkeys(".", "in")
[24;1H[K[24;1HExecuting Test_map_langmap()[24;1H[K[24;1H:call append(line('$'), '+')
Executing Test_map_meta_quotes()[24;1H[K[24;1HExecuting Test_match()
[27m[23m[m[H[2J[1;1Habcd[41me[mfg[41mhij[mklmnopq
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1Habc[41mdΣ[m[1;6Hab[41mcd[mef
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [m[24;1HExecuting Test_matchaddpos()[27m[23m[m[H[2J[1;1H1[1m[37m[41m2[m345
N[1m[37m[41mP[m
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H1[1m[37m[41m2[m345[30m[43m
N[m[1m[37m[41mP[m[30m[43m [m
vmap works[30m[43m
[m
Test1: text with a (here some more text)[30m[43m [m
Test1: text with a (here some more text)[30m[43m
[m
Test2: text wit a (here some more text [und undo])[30m[43m [m
fooc d[30m[43m [m
fooc d[30m[43m [m
+[30m[43m [m
+[30m[43m [m
bbbb[30m[43m [m
bbbb[30m[43m [m
cccc[30m[43m [m
bbbb[30m[43m [m
+[30m[43m [m
-foo-[30m[43m [m
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H0[1m[37m[41m1[m234[1m[37m[41m5[m[30m[43m
N[m[1m[37m[41mP[m[30m[43m [m
vmap works[30m[43m
[m
Test1: text with a (here some more text)[30m[43m [m
Test1: text with a (here some more text)[30m[43m
[m
Test2: text wit a (here some more text [und undo])[30m[43m [m
fooc d[30m[43m [m
fooc d[30m[43m [m
+[30m[43m [m
+[30m[43m [m
bbbb[30m[43m [m
bbbb[30m[43m [m
cccc[30m[43m [m
bbbb[30m[43m [m
+[30m[43m [m
-foo-[30m[43m [m
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H[1m[37m[41m1234567[m890
N[1m[37m[41mH[m
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H[1m[37m[41m1234567890[m
N[1m[37m[41mH[m
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [m[24;1HExecuting Test_matchaddpos_using_negative_priority()[27m[23m[m[H[2J[1;1H[30m[43mx[m
NH
vmap works
Test1: te[30m[43mx[mt with a (here some more te[30m[43mx[mt)
Test1: te[30m[43mx[mt with a (here some more te[30m[43mx[mt)
Test2: te[30m[43mx[mt wit a (here some more te[30m[43mx[mt [und undo])
fooc d
fooc d
+
+
bbbb
bbbb
cccc
bbbb
+
-foo-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H[1m[37m[41mx[m
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H[1m[37m[41mx
-1 match priority[m
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [m[24;1HExecuting Test_matchstrpos()
Executing Test_max_min_errors()
Executing Test_messages()
hello0[1;1H[3L[1;1H[1m[37m[41mx
-1 match priority[m
vmap works[23;11H[1m[7m [m[24;1H[K[24;1Hhello1234567898
hello9[1;1H[L[1;1H[1m[37m[41mx[m[24;1H[K[24;1Hhello9
Executing Test_missing_attr()
Executing Test_modeline_fails_always()
"Xmodeline_fails_backupdir" [24;29H[K[24;29H2L, 41C
"Xmodeline_fails_cdpath" 2L, 38C
"Xmodeline_fails_charconvert" 2L, 43C
"Xmodeline_fails_completefunc" 2L, 44C
"Xmodeline_fails_cscopeprg" 2L, 41C
"Xmodeline_fails_diffexpr" 2L, 40C
"Xmodeline_fails_directory" 2L, 41C
"Xmodeline_fails_equalprg" 2L, 40C
"Xmodeline_fails_errorfile" 2L, 41C
"Xmodeline_fails_exrc" 2L, 36C
"Xmodeline_fails_formatprg" 2L, 41C
"Xmodeline_fails_fsync" 2L, 37C
"Xmodeline_fails_grepprg" 2L, 39C
"Xmodeline_fails_helpfile" 2L, 40C
"Xmodeline_fails_imactivatefunc" 2L, 46C
"Xmodeline_fails_imstatusfunc" 2L, 44C
"Xmodeline_fails_keywordprg" 2L, 42C
"Xmodeline_fails_langmap" 2L, 39C
"Xmodeline_fails_makeef" 2L, 38C
"Xmodeline_fails_makeprg" 2L, 39C
"Xmodeline_fails_mkspellmem" 2L, 42C
"Xmodeline_fails_modelineexpr" 2L, 32C
"Xmodeline_fails_omnifunc" 2L, 40C
"Xmodeline_fails_operatorfunc" 2L, 44C
"Xmodeline_fails_printdevice" 2L, 43C
"Xmodeline_fails_patchexpr" 2L, 41C
"Xmodeline_fails_printexpr" 2L, 41C
"Xmodeline_fails_runtimepath" 2L, 43C
"Xmodeline_fails_secure" 2L, 38C
"Xmodeline_fails_shell" 2L, 37C
"Xmodeline_fails_shellcmdflag" 2L, 44C
"Xmodeline_fails_shellpipe" 2L, 41C
"Xmodeline_fails_shellquote" 2L, 42C
"Xmodeline_fails_shellredir" 2L, 42C
"Xmodeline_fails_shellxquote" 2L, 43C
"Xmodeline_fails_spellfile" 2L, 41C
"Xmodeline_fails_spellsuggest" 2L, 44C
"Xmodeline_fails_titleold" 2L, 40C
"Xmodeline_fails_viewdir" 2L, 39C
"Xmodeline_fails_viminfo" 2L, 39C
"Xmodeline_fails_undodir" 2L, 39C
"Xmodeline_fails_t_AB" 2L, 36C
"Xmodeline_fails_t_ce" 2L, 36C
"Xmodeline_fails_t_sr" 2L, 36C
"Xmodeline_fails_t_8b" 2L, 36C
Executing Test_modeline_fails_modelineexpr()
"Xmodeline_fails_balloonexpr" [24;31H[K[24;31H2L, 43C
"Xmodeline_fails_foldexpr" 2L, 40C
"Xmodeline_fails_foldtext" 2L, 40C
"Xmodeline_fails_formatexpr" 2L, 42C
"Xmodeline_fails_guitablabel" 2L, 43C
"Xmodeline_fails_iconstring" 2L, 42C
"Xmodeline_fails_includeexpr" 2L, 43C
"Xmodeline_fails_indentexpr" 2L, 42C
"Xmodeline_fails_rulerformat" 2L, 43C
"Xmodeline_fails_statusline" 2L, 42C
"Xmodeline_fails_tabline" 2L, 39C
"Xmodeline_fails_titlestring" 2L, 43C
Executing Test_modeline_filetype()
"Xmodeline_filetype" [24;22H[K[24;22H2L, 24C
Executing Test_modeline_filetype_fails()
"Xmodeline_fails_filetype" [24;28H[K[24;28H2L, 31C
Executing Test_modeline_invalid()
"Xmodeline" [24;13H[K[24;13H2L, 13C
Executing Test_modeline_keymap()
"Xmodeline_keymap" [24;20H[K[24;20H2L, 32C
Executing Test_modeline_keymap_fails()
"Xmodeline_fails_keymap" [24;26H[K[24;26H2L, 35C
Executing Test_modeline_syntax()
"Xmodeline_syntax" [24;20H[K[24;20H2L, 25C
Executing Test_modeline_syntax_fails()
"Xmodeline_fails_syntax" [24;26H[K[24;26H2L, 32C
Executing Test_move_cursor()
Executing Test_named_function_closure()
Executing Test_no_type_checking()
Executing Test_noinsert_complete()[24;1H[K[24;1H=s:complTest1()
[1;1H[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1H[1m[37m[41mx
-1 match priority[m
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
[7m[No Name] [m[2;1H[30m[47msource [m
[30m[45msoundfold [1;1H[m[2;4H[30m[47mndfold[24;1H[m=s:complTest2()
[1;1H
[1m[34m~
~ [m[2;1H[30m[47msource [m
[30m[45msoundfold [1;1H[m[24;1H[K[24;1HExecuting Test_non_zero_arg()
Executing Test_not_existing()
Executing Test_not_lamda()
Executing Test_omnifunc_with_check()
[31msearch hit BOTTOM, continuing at TOP[m[1;1H[4L[1;1Hfour1
[1m[34m~ [3;1H~ [4;1H~ [m[12;11H[1m[7m[+][m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [m[1;5H2
[1m[34m~
~ [m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [2;1Hfour1 [m
[30m[47mfour2 [1;6H[m
[1m[34m~
~ [m[2;1H[30m[45mfour1 [m
[30m[47mfour2 [m
[30m[45mfour3
four4
four5
four6 [1;6H[m[24;1H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[m[1;5H1
[1m[34m~
~
~
~
~
~ [m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [m[1;5H2
[1m[34m~
~ [m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [2;1Hfour1 [m
[30m[47mfour2 [m[1;5H3
[1m[34m~
~ [m[2;1H[30m[45mfour1
four2 [m
[30m[47mfour3 [m
[30m[45mfour4 [1;6H[m
[1m[34m~
~
~
~ [m[2;1H[30m[45mfour1
four2 [m
[30m[47mfour3 [m
[30m[45mfour4
four5
four6 [1;6H[m[24;1H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[m[1;5H1
[1m[34m~
~
~
~
~
~ [m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [m[1;5H2
[1m[34m~
~ [m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [2;1Hfour1 [m
[30m[47mfour2 [m[1;5H3
[1m[34m~
~ [m[2;1H[30m[45mfour1
four2 [m
[30m[47mfour3 [m
[30m[45mfour4 [4;1Hfour3 [m
[30m[47mfour4 [m
[30m[45mfour5
four6 [1;6H[m4
[1m[34m~
~
~
~
~
~ [m[2;1H[30m[45mfour1
four2
four3 [m
[30m[47mfour4 [m
[30m[45mfour5
four6 [1;6H[m5
[1m[34m~
~
~
~
~
~ [m[2;1H[30m[45mfour1
four2
four3 [m
[30m[47mfour4 [m
[30m[45mfour5
four6 [5;1Hfour4 [m
[30m[47mfour5 [1;6H[m[24;1H[K[24;1HExecuting 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()[24;1H[K[24;1H=ListMonths()
[1;5H
[10L[1;1HJune
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [1;5H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJune [m
[30m[47mJuly [1;5H[m[24;1H[K[24;1H=ListMonths()
[1;8H
January
[1m[34m~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mFebruary [1;8H[m
[30m[45mFebruary [m
[30m[47mMarch [1;8H[m
[30m[45mMarch [m
[30m[47mApril [1;8H[m[5;1H[30m[45mApril [m
[30m[47mMay [1;8H[m[6;1H[30m[45mMay [m
[30m[47mJune [1;8H[m[7;1H[30m[45mJune [m
[30m[47mJuly [1;8H[m[8;1H[30m[45mJuly [m
[30m[47mAugust [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mJune
July [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;5H
June[1;5H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJune [m
[30m[45mJuly [1;5H[m[1;3H[K[2;1H[1m[34m~
~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJune [1;3H
July[m[24;1H[K[24;1H=ListMonths()
[1;5Hne
[1m[34m~
~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [1;5H[m[1;3H[K[2;1H[1m[34m~
~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJune [1;3H
July[1;5H[mly
[1m[34m~
~ [m[2;1H[30m[45mJuly [m
[30m[47mJuly [1;5H[m[24;1H[K[24;1H=ListMonths()
[1;5Hne
[1m[34m~ [m
[30m[47mJune [m
[30m[45mJuly [1;5H[m[1;3H[K[2;1H[1m[34m~
~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJune [1;3H
July[m[24;1H[K[24;1H=ListMonths()
[1;8H
January
[1m[34m~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m
February
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mFebruary [1;9H[m[24;1H[K[24;1H=ListMonths()
[1;8H
January[1;8H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mJune
July [1;8H[m
June[1;5H[K[2;1H[1m[34m~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mJune
July [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mJune [1;5H[mly
[1m[34m~
~
~ [m[2;1H[30m[45mJanuary [m
[30m[47mJune [m
[30m[45mJuly [3;1HJune [m
[30m[47mJuly [1;5H
[mJ[1;2H[K[2;1H[1m[34m~
~
~ [m[2;1H[30m[45mJanuary
June [m
[30m[47mJuly [m
[30m[45mJuly [1;2H[m[24;1H[K[24;1H=ListMonths()
[1;8H
January
[1m[34m~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mJune
July [1;8H[m
June[1;5H[K[2;1H[1m[34m~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mJune
July [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mJune [1;5H[mly
[1m[34m~
~
~ [m[2;1H[30m[45mJanuary [m
[30m[47mJune [m
[30m[45mJuly [3;1HJune [m
[30m[47mJuly [1;5H
[mJ[1;2H[K[2;1H[1m[34m~
~
~ [m[2;1H[30m[45mJanuary
June [m
[30m[47mJuly [m
[30m[45mJuly [1;2H[m
January
[1m[34m~
~
~ [m[2;1H[30m[45mJanuary
June
July [m[2;1H[30m[47mJanuary [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mJune
July [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;5H
June[1;5H[K[2;1H[1m[34m~
~
~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [1;5H[m[24;1H[K[24;1H=ListMonths()
[1;8H
January
[1m[34m~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[13;1H[30m[47mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[13;1H[30m[47mDecember [1;8H
February [m[13;1H[30m[45mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m[12;1H[30m[47mNovember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m[12;1H[30m[47mNovember [1;8H[m[12;1H[30m[45mNovember [m
[30m[47mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m[12;1H[30m[47mNovember [1;8H[m[12;1H[30m[45mNovember [m
[30m[47mDecember [1;8H[m[13;1H[30m[45mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m[12;1H[30m[47mNovember [1;8H[m[12;1H[30m[45mNovember [m
[30m[47mDecember [1;8H[m[13;1H[30m[45mDecember [1;8H[m[11;1H[30m[47mOctober [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[13;1H[30m[47mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[13;1H[30m[47mDecember [1;8H[12;1HNovember [m
[30m[45mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H
[m[1;1H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;1H[8C[m
December
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October [m
[30m[47mDecember [1;9H[m
Nov
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October [m
[30m[47mNovember [m
[30m[45mDecember [1;9H[m
October[1;8H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October [m
[30m[47mOctober [m
[30m[45mNovember [1;8H[m
September
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September [m
[30m[47mOctober [10;1HSeptember [m
[30m[45mOctober [1;10H[m[24;1H[K[24;1H=ListMonths()
[1;8H
January[1;8H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[13;1H[30m[47mDecember [1;8H[12;1HNovember [m
[30m[45mDecember [1;8H[m[11;1H[30m[47mOctober [m
[30m[45mNovember [1;8H[m[10;1H[30m[47mSeptember [m
[30m[45mOctober [1;8H[m[24;1H[K[24;1H=ListMonths()
[2;9H[24;1H[K[24;1H=ListMonths()
[2;9H[1;1HDecember2015
December[2;9H[K[3;1H[1m[34m~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[3;1H[30m[47mDecember [2;9H[m[24;1H[K[24;1H=ListMonths()
[1;6H
March[1;6H[K[2;1H[1m[34m~ [3;1H~ [m[2;1H[30m[47mMarch [m
[30m[45mMay [1;6H[my[1;4H[K[2;1H[1m[34m~
~ [m[2;1H[30m[47mMarch [m
[30m[45mMay [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mMarch [m
[30m[47mMay [1;4H[m rch
[1m[34m~
~ [m[2;1H[30m[45mMarch [m
[30m[47mMay [2;1HMarch [m
[30m[45mMay [1;6H[m[24;1H[K[24;1H=ListMonths()
[2;6H[1;2H[K[2;1HMarch[2;6H[K[3;1H[1m[34m~ [m
[30m[47mMarch [m
[30m[45mMay [2;6H[my[2;4H[K[3;1H[1m[34m~
~ [m[3;1H[30m[47mMarch [m
[30m[45mMay [m[24;1H[1m-- INSERT --[m[24;13H[K[3;1H[30m[45mMarch [m
[30m[47mMay [2;4H[m rch
[1m[34m~
~ [m[3;1H[30m[45mMarch [m
[30m[47mMay [3;1HMarch [m
[30m[45mMay [2;6H[m[24;1H[K[24;1H=ListMonths()
[1;6H
March
[1m[34m~ [3;1H~
~ [m[2;1H[30m[47mMarch [m
[30m[45mMay [1;6H[m[24;1H[K[24;1H=ListMonths()
[2;2HM[2;2H[K[3;1H[1m[34m~ [m
[30m[45mMarch
May [2;2H[m[24;1H[K[24;1H=ListMonths()
[3;2HM[3;2H[K[4;1H[1m[34m~ [m
[30m[47mMarch [m
[30m[45mMay [3;2H[m[24;1H[K[24;1HExecuting Test_popup_complete2()[24;1H[K[24;1H=ListMonths()
[1;2H[24;1H[K[24;1HExecuting Test_popup_completion_insertmode()[24;1H[K[24;1H=ListMonths()
[1;1H[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~
~ [m[12;11H[1m[7m [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;1H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mFebruary [1;1H[m[24;1H[K[24;1H=ListMonths()
[1;1H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;1H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mFebruary [1;1H[m[24;1H[K[24;1H=ListMonths()
[1;1H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;1H[8C[m
February
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mFebruary [1;9H[m
March[1;6H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary [m
[30m[47mFebruary [m
[30m[45mMarch
April
May
June
July
August
September
October [3;1HFebruary [m
[30m[47mMarch [1;6H[m
April
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February [m
[30m[47mMarch [m
[30m[45mApril
May
June
July
August
September
October [4;1HMarch [m
[30m[47mApril [1;6H[m
May[1;4H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March [m
[30m[47mApril [m
[30m[45mMay
June
July
August
September
October [5;1HApril [m
[30m[47mMay [1;4H[m
June
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April [m
[30m[47mMay [m
[30m[45mJune
July
August
September
October [6;1HMay [m
[30m[47mJune [1;5H[mly
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May [m
[30m[47mJune [m
[30m[45mJuly
August
September
October [7;1HJune [m
[30m[47mJuly [1;5H[m
August
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June [m
[30m[47mJuly [m
[30m[45mAugust
September
October [8;1HJuly [m
[30m[47mAugust [1;7H[m
September
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July [m
[30m[47mAugust [m
[30m[45mSeptember
October [9;1HAugust [m
[30m[47mSeptember [1;10H[m
October[1;8H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August [m
[30m[47mSeptember [m
[30m[45mOctober [10;1HSeptember [m
[30m[47mOctober [1;8H[m
November
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September [m
[30m[47mOctober [m
[30m[45mOctober [m
[30m[47mNovember [1;9H[m
Dec
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October
November [m
[30m[47mDecember [1;9H
[m[1;1H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October
December [1;1H[m[24;1H[K[24;1H=ListMonths()
[1;1H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;1H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;1H[m[24;1H[K[24;1H=ListMonths()
[1;1H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;1H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;1H[8C[m
December
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October [m
[30m[47mDecember [1;9H[m[24;1H[K[24;1HExecuting 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][24;25H[K[24;15H[K[24;15H[New] 2L, 4C written[24;8Hsubdir/Xfile" [24;22H[K[24;22H[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][24;17H[K[24;1H
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][24;20H[K[24;10H[K[24;10H[New] 3L, 18C written
Executing Test_statusline_will_be_disabled_with_error()[27m[23m[m[H[2J[1;1Hx
-1 match priority
vmap works
Test1: text with a (here some more text)
Test1: text with a (here some more text)
Test[34m2[m: text wit a (here some more text [und undo])
fooc d
fooc d
+
+
bbbb
bbbb
cccc
bbbb
+
-foo-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m [m[24;1HExecuting 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][24;19H[K[24;9H[K[24;9H[New] 2L, 4C written[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_symlink_dir_delete()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_symlink_recursive_delete()
"Xdir3/Xfile" [New File][24;25H[K[24;15H[K[24;15H[New] 2L, 4C written[24;8Hsubdir/Xfile" [24;22H[K[24;22H[New] 2L, 4C written
"Xdir4/Xfile" [24;15H[K[24;15H[New] 2L, 4C written[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_syntax_valid()
Executing Test_tabline_will_be_disabled_with_error()[27m[23m[m[H[2J[1;1H[7m [m[2;1Hx
-1 match priority
vmap works
Test1: text with a (here some more text)
Test1: text with a (here some more text)
Test[34m2[m: text wit a (here some more text [und undo])
fooc d
fooc d
+
+
bbbb
bbbb
cccc
bbbb
+
-foo-
[1m[34m~ [22;1H~ [m[23;1H[1m[7m[No Name] [m[24;1HExecuting Test_tabnext_on_buf_unload1()
Executing Test_tabnext_on_buf_unload2()
"x" [Not edited] --No lines in buffer--
"y" [New File][24;15H[K[24;1H
Executing Test_tabpage()
"Xtestfile" [New File][24;23H[K[24;1H
2 fewer lines; before #1 0 seconds ago
"test1" [New File][24;19H[K[24;2Hnewfile" [New File]
"test1" [New File][24;19H[K[24;14Hfile] --No lines in buffer--[24;14HF[24;20H[K[24;1H
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][24;19H[K[24;1H
Executing Test_tan()
Executing Test_tanh()
Executing Test_thesaurus()
Executing Test_three_windows()
"Xtestje1" [New File][24;22H[K[24;12H[K[24;12H[New] 1L, 8C written[24;9H2" [New File][24;22H[K[24;12H[K[24;12H[New] 1L, 8C written[24;9H3" [New File][24;22H[K[24;12H[K[24;12H[New] 1L, 8C written[24;9H1[24;12H[K[24;12H1L, 8C
"Xtestje3" 1L, 8C[24;9H2[24;12H[K[24;12H1L, 8C[24;9H1[24;12H[K[24;12H1L, 8C
"Xanother" [New File]
"Xtestje1[24;12H[K[24;12H1L, 8C
"Xanother" [New File]
Already only one window
"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
Executing Test_tostring()
Executing Test_true_false_arg()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;32H[?1l>[?1049l[?1049h[?1h=[24;32H[?1l>[?1049l[?1049h[?1h=[24;32H[?1l>[?1049l[?1049h[?1h=[24;1H
[?25l"colored" [New File]
Executing Test_trunc()
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" [24;15H[K[24;15H0L, 0C
[31mW19: Deleting augroup that is still in use[m
Executing Test_with_directories()[24;34H[K[24;1H"Xdir1/file" [New File][24;24H[K[24;1H
"Xdir1/file" [New] 2L, 4C written
"Xdir3/Xdir4/file" [New] 2L, 4C written[24;20H[K[24;20H2L, 4C
"Xdir?/*/nofile" [New DIRECTORY]
"foo" [New File][24;18H[K[24;1HExecuting Test_with_partial_callback()[?12l[?25h[?25l[24;21Htilde()[24;28H[K[24;17Hrong_arguments()
"test_alot.res" [New File][24;27H[K[24;1H
"test_alot.res" [New] 0L, 0C written
Executed 256 tests[24;19H[K[24;1H"messages" [24;12H[K[24;12H584L, 15447C
"messages" 845L, 23978C 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_OptionSet_modeline()
Skipped
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_sandbox()
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_glob2regpat_invalid()
Executing Test_glob2regpat_valid()
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_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_modeline_fails_always()
Executing Test_modeline_fails_modelineexpr()
Executing Test_modeline_filetype()
Executing Test_modeline_filetype_fails()
Executing Test_modeline_invalid()
Executing Test_modeline_keymap()
Executing Test_modeline_keymap_fails()
Executing Test_modeline_syntax()
Executing Test_modeline_syntax_fails()
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_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 256 tests
SKIPPED Test_OptionSet_modeline(): test_override() missing
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 -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
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
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
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
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
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-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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test1.in" 57 lines, 2069 characters[2;1HFirst 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[20;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 35 lines, 1133 characters written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[21;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If columns or lines are too small, create wrongtermsize.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" (Some tests will fail. When columns and/or lines are small)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Write a single line to test.out to check if testing works at all.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%d
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25lthis is a test[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 15 characters written[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Create small.vim and tiny.vim empty, create mbyte.vim to skip the test.
[?25l[1;14H[?12l[?25h
[?25l[1;1H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! small.vim
[?25l"small.vim" [24;13H[K[24;13H[New File] 1 line, 1 character written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! tiny.vim
[?25l"tiny.vim" [24;12H[K[24;12H[New File] 1 line, 1 character written[1;1H[?12l[?25h[?25le! test.ok
w! test.out[2;12H[K[3;1Hqa![3;4H[K[4;1H[K[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! mbyte.vim
[?25l"mbyte.vim" [24;13H[K[24;13H[New File] 4 lines, 28 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! mzscheme.vim
[?25l"mzscheme.vim" [24;16H[K[24;16H[New File] 4 lines, 28 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! lua.vim
[?25l"lua.vim" [24;11H[K[24;11H[New File] 4 lines, 28 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +multi_byte feature supported, make mbyte.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif has("multi_byte") | sp another | w! mbyte.vim | q | endif
[?25l"another" [New File][24;21H[K[24;1H
"mbyte.vim" 0 lines, 0 characters written[1;1H[L[1;1He! test.ok[24;1H[K[4;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +mzscheme feature supported, make mzscheme.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif has("mzscheme") | sp another | w! mzscheme.vim | q | endif
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +lua feature supported, make lua.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif has("lua") | sp another | w! lua.vim | q | endif
[?25l"another" [New File][24;21H[K[24;1H
"lua.vim" 0 lines, 0 characters written[1;1H[L[1;1He! test.ok[24;1H[K[4;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Otherwise write small.vim to skip the test.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif 1 | q! | endif
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test3.in" 2342 lines, 23089 characters[1;1H/* vim: set cin ts=4 sw=4 : */
Test for 'cindent'
STARTTEST
:so small.vim
:set nocompatible viminfo+=nviminfo modeline
:edit[16C" read modeline
/start of AUTO
=/end of AUTO
ENDTEST
/* start of AUTO matically checked vim: set ts=4 : */
{[15;9Hif (test)[16;17Hcmd1;[17;9Hcmd2;
}
{[21;9Hif (test)[22;17Hcmd1;[23;9Helse[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1H/* vim: set cin ts=4 sw=4 : */[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 125 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo modeline
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit " read modeline
[?25l"test3.in"[24;22H[K[24;12H2342L, 23089C[15;5Hif (test)[15;14H[K[16;9Hcmd1;[16;17H[K[17;5Hcmd2;[17;10H[K[21;5Hif (test)[21;14H[K[22;9Hcmd1;[22;17H[K[23;5Helse[23;9H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hstart of AUTO
[?25l[13;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hend of AUTO
[?25l956 lines to indent...
9500
850
750
650
550
450
350
250
150
50 lines to indent...
957 lines indented [24;20H[K[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;13H}[2;13Hbreak;[3;9Hdefault:[4;13Hbaz();[5;13Hbaz();[6;13Hbreak;
}
}
/* end of AUTO */
STARTTEST
:set tw=0 wm=60 columns=80 noai fo=croq
/serious/e
a about life, the universe, and the rest[34m^[[m
ENDTEST
{
/* this is
* a real serious important big
* comment
*/[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 93C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=0 wm=60 columns=80 noai fo=croq
[?25l[27m[23m[m[H[2J[1;13H}[2;13Hbreak;[3;9Hdefault:[4;13Hbaz();[5;13Hbaz();[6;13Hbreak;
}
}
/* end of AUTO */
STARTTEST
:set tw=0 wm=60 columns=80 noai fo=croq
/serious/e
a about life, the universe, and the rest[34m^[[m
ENDTEST
{
/* this is
* a real serious important big
* comment
*/[16;1H[?12l[?25h[?25l[24;1H/[?12l[?25hserious/e
[?25l[21;17H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[20;19H[K[21;4Habout life, the
* universe, and the
* rest important big[23;7H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H* comment[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[5M[1;24r[19;2H*/
/* insert " about life, the universe, and the rest" after "serious" */
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set nocin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H6L, 78C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H/comments
joabout life[34m^[[m/happens
jothere[34m^[[m/below
oline[34m^[[m/this
Ohello[34m^[[m[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hcomments
[?25l[1;23r[1;1H[4M[1;24r[21;1H{
/*[23;6H* Testing for comments, without 'cin' set[24;1H[K[23;20H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;6H*/[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1Habout life[?12l[?25h[?25l
/[?12l[?25hhappens
[?25l[1;23r[1;1H[3M[1;24r[22;1H/*
* what happens here?[24;1H[K[23;8H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H*/[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1Hthere[?12l[?25h[?25l
/[?12l[?25hbelow
[?25l[1;23r[1;1H[3M[1;24r[22;5H/*[23;8Hthe end of the comment, try inserting a line below */[24;1H[K[23;53H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1Hline[?12l[?25h[?25l
/[?12l[?25hthis
[?25l[1;23r[1;1H[3M[1;24r[22;9H/* how about[23;25Hthis one */[24;1H[K[23;25H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[23;1Hhello[23;25H[K[23;5H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;25Hthis one */[23;8H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 18C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/vec2
==[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hvec2
[?25l[1;23r[1;1H[5M[1;24r[20;1H{
var = this + that + vec[0] * vec[0][22;23H+ vec[1] * vec[1][23;23H+ vec2[2] * vec[2];[24;1H[K[23;25H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5L, 51C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H:set cino=}4
/testing1
k2==/testing2
k2==[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=}4
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25htesting1
[?25l[1;23r[1;1H[8M[1;24r[17;1H{[18;9Hasdf asdflkajds f;
if (tes & ting) {[20;9Hasdf asdf asdf ;[21;9Hasdfa sdf asdf;[22;9H}
testing1;[24;1H[K[23;5H[?12l[?25h[22;8H [?25l
/[?12l[?25htesting2
[?25l[1;23r[1;1H[6M[1;24r[18;5Hif (tes & ting)
{[20;9Hasdf asdf asdf ;[21;9Hasdfa sdf asdf;[22;9H}
testing2;[24;1H[K[23;5H[?12l[?25h[22;8H [23;9H[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H4L, 36C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set cino=(0,)20
/main
=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,)20
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hmain
[?25l[1;23r[1;1H[2M[1;24r[23;1Hmain ( int first_par, /*[24;1H[K[23;1H[?12l[?25h[?25l
19 lines to indent...
20[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;24H* Comment for[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[1;23H* Comment for[2;23H* first par[3;23H*/[4;11Hsecond_par /*[5;23H* Comment for[6;23H* second par[7;23H*/[8;9H);
}
STARTTEST
:set cin
:set cino=es,n0s
/main
=][
ENDTEST
main(void)
{
/* Make sure that cino=X0s is not parsed like cino=Xs. */
if (cond)[23;9Hfoo();[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H4L, 36C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=es,n0s
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hmain
[?25l[19;1H[?12l[?25h[?25l[24;1H8 lines to indent...
9[7Cindented [24;18H[K[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;5Helse
{[19;9Hbar();
}
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 26C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H:set cino=
]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H{[24;1H[K[23;1H[?12l[?25h[?25l
11 lines to indent...
12[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hdo[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[1;9Hif ()[2;9H{[3;13Hif ()[4;17Hasdf;[5;13Helse[6;17Hasdf;[7;9H}
} while ();
cmd;[8C/* this should go under the } */
}
STARTTEST
]]=][
ENDTEST
void f()
{
if ( k() ) {[19;9Hl();[21;5H} else { /* Start (two words) end */[22;9Hm();
}[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H1L, 6C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[14;1H[?12l[?25h
[?25l[24;1H8 lines to indent...
9[7Cindented [24;18H[K[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[5M[1;24r[20;5Hn();
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino={s,e-s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino={s,e-s
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
7 lines to indent...
8[7Cindented [24;18H[K[23;1H {[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif ( k() )[24;1H[K[23;5H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[9M[1;24r[15;9H{[16;9Hl();[17;9H} else { /* Start (two words) end */[18;9Hm();[19;9H}
n(); /* should be under the if () */
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino={s,fs
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 25C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H]]=/ foo[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino={s,fs
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Hvoid bar(void)
{[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h foo
[?25l30 lines to indent...
31[7Cindented [24;19H[K[23;1H {[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;1Hvoid func(void)
{
a = 1;[4;9H{[5;9Hb = 2;[6;9H}
c = 3;
d = 4;
}
/* foo */
STARTTEST
:set cino=
/while
ohere[34m^[[m
ENDTEST
a()
{
do {
a = a +[22;7Ha;
} while ( a );[8C/* add text under this line */[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 25C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hwhile
[?25l[23;5H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;3Hhere[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif ( a )
i[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[4M[1;24r[20;7Ha;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino= com=
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 109C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H/comment
olabel2: b();[34m^M[mlabel3 /* post */:[34m^M[m/* pre */ label4:[34m^M[mf(/*com*/);[34m^M[mif (/*com*/)[34m^^[23;1HM[mcmd();[34m^[[m[24;1H[K[22;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino= com=
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hcomment
[?25l[1;23r[1;1H[6M[1;24r[19;1Ha()
{
label1:[22;13H/* hmm */[23;13H// comment[24;1H[K[23;16H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[1;1H[6M[1;24r[18;1Hlabel2: b();
label3 /* post */:
/* pre */ label4:[21;9Hf(/*com*/);[22;9Hif (/*com*/)[23;13Hcmd();[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set comments& comments^=s:/*,m:**,ex:*/
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 53C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/simple
=5j[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments& comments^=s:/*,m:**,ex:*/
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hsimple
[?25l[1;23r[1;1H[3M[1;24r[22;1H/*
* A simple comment[24;1H[K[23;7H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;2H* A simple comment[23;20H[K[23;2H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H*/[24;1H[K[23;2H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[19;1H/*
** A different comment
*/
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=c0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 70C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H:set comments& comments-=s1:/* comments^=s0:/*
2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=c0
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments& comments-=s1:/* comments^=s0:/*
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;5H/*********[19;7HA comment.
*********/
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=c0,C1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 73C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H:set comments& comments-=s1:/* comments^=s0:/*
2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=c0,C1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments& comments-=s1:/* comments^=s0:/*
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;5H/*********
A comment.
*********/
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 17C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 &&[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;9H([18;10Hc2 ||[19;10Hc3[20;9H) && c4;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(s
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 &&[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;9H([18;10Hc2 ||[19;10Hc3[20;9H) && c4;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(s,U1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 28C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(s,U1
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 &&[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;9H([18;13Hc2 ||[19;13Hc3[20;9H) && c4;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif ( c1[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;12H&& ( c2[19;19H|| c3))[20;9Hfoo;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,w1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 28C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,w1
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif ( c1[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;9H&& ( c2[19;13H|| c3))[20;9Hfoo;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(s
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
8 lines to indent...
9[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 && ([24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;9Hc2 ||[15;9Hc3[16;9H) && c4;
if ([18;9Hc1 && c2[19;8H)[20;9Hfoo;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(s,m1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 28C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(s,m1
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
8 lines to indent...
9[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 && ([24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;9Hc2 ||[15;9Hc3
) && c4;
if ([18;9Hc1 && c2
)[20;9Hfoo;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=b1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=b1
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
9 lines to indent...
10 lines indented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hswitch (x)[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[11M[1;24r[13;5H{[14;9Hcase 1:[15;13Ha = b;[16;9Hbreak;[17;9Hdefault:[18;13Ha = 0;[19;9Hbreak;
}
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,W5
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 26C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,W5
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
10 lines to indent...
11[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hinvokeme([24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[12M[1;24r[12;10Hargu,[13;10Hment);
invokeme([15;10Hargu,[16;10Hment[17;10H);
invokeme(argu,[19;14Hment[20;13H);
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=/6
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=/6
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
3 lines to indent...
4[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hstatement;[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[5M[1;24r[19;11H// comment 1[20;11H// comment 2
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 34C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H2kdd]]/comment 1/+1
==[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=
[?25l[23;1H[?12l[?25h[21;1H[?25l==[21;3H[K[22;1HENDTEST[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25hcomment 1/+1
[?25l[1;23r[1;1H[3M[1;24r[21;5Hstatement;[22;8H// comment 1
// comment 2[24;1H[K[23;4H[?12l[?25h[?25l // comment 2[23;8H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=g0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=g0
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hclass CAbc
{[24;1H[K[23;1H[?12l[?25h[?25l
6 lines to indent...
7[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hint Test() { return FALSE; }[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[8M[1;24r[17;1Hpublic: // comment
void testfall();
protected:
void testfall();
};
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,gs,hs
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 29C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,gs,hs
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hclass Foo : public Bar
{[24;1H[K[23;1H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hpublic:[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;9Hvirtual void method1(void) = 0;[18;9Hvirtual void method2(int arg1,[19;30Hint arg2,[20;30Hint arg3) = 0;
};
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=+20
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 24C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=+20
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;5Hvoid
foo()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif (a)[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;5H{
} else[20;9Hasdf;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,W2s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 27C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,W2s
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H{[24;1H[K[23;1H[?12l[?25h[?25l
34 lines to indent...
35[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haverylongfunctionnamelongfunctionnameaverylongfunctionname()->asd([24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[1;21Hdec)->asdfasdfasdf([2;29Hasdfadsf,[3;29Hasdfasdf,[4;29Hasdfasdf,[5;29H),[6;13Hfunc(asdfadf,[7;18Hasdfasdf),[8;13Hasdasdf[9;13H);
}
STARTTEST
:set cino=M1
2kdd]]=][
ENDTEST
int main ()
{
if (cond1 &&[20;13Hcond2[21;13H)[22;9Hfoo;
}[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=M1
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h[17;1H[?25l[24;1H4 lines to indent...
5[7Cindented [24;18H[K[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,ts
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 26C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd2j=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,ts
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd2j=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h
[?25l
7 lines to indent...
8[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hvoid func(int a[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[9M[1;24r[15;1H#if defined(FOO)[16;11H, int b[17;11H, int c
#endif[19;10H)
{
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd2j=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd2j=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h
[?25l
8 lines to indent...
9[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hvoid[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;1Hfunc(int a
#if defined(FOO)[16;6H, int b[17;6H, int c
#endif
)
{
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 22C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd2j=7][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino&
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd2j=7][
ENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h
[?25l
69 lines to indent...
50
7[8Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hvoid func(void)[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[1;9Hint a,[2;9Hint b)
{
}[6;5Hvoid
func6([8;9Hint a)
{
}
STARTTEST
:set cino&
:set cino+=l1
2kdd2j=][
ENDTEST
void func(void)
{
int tab[] =
{[22;9H1, 2, 3,[23;9H4, 5, 6};[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino&
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino+=l1
[?25l[16;1H[?12l[?25h[14;1H[?25l[14;23r[23;1H
[1;24r[24;1H[K[14;1H[?12l[?25h
[?25l[24;1H22 lines to indent...
23[7Cindented [24;19H[K[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;13Hbreak;[2;9Hcase baz: {[3;13Hprintf("baz");[4;13Hbreak;[5;9H}[6;9Hcase quux:[7;13Hprintf("But don't break the indentation of this instruction\n");[8;13Hbreak;
}
}
STARTTEST
:set cino&
2kdd2j=][
ENDTEST
void func(void)
{
cout << "a"
<< "b"
<< ") :"
<< "c";
}[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 21C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino&
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H6 lines to indent...
7[7Cindented [24;18H[K[19;5H << "b"
<< ") :"
<< "c";[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set com=s1:/*,m:*,ex:*/
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 38C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H]]3jofoo();[34m^[[m[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset com=s1:/*,m:*,ex:*/
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Hvoid func(void)
{[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;5H/*[22;6H* This is a comment.[23;6H*/[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;5Hfoo();[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 21C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd2j=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino&
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd2j=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h
[?25l
8 lines to indent...
9[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hvoid func(void)[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;1H{
for (int i = 0; i < 10; ++i)[16;9Hif (i & 1) {[17;13Hfoo(1);[18;9H} else[19;13Hfoo(0);
baz();
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=k2s,(0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 27C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd3j=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(0
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd3j=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hvoid func(void)[24;1H[K[23;1H[?12l[?25h[?25l
23 lines to indent...
24[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H{[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[2;5Hif ( c1[3;13H&& ( c2[4;23H|| c3))[5;9Hfoo;
func( c1[7;11H&& ( c2[8;20H|| c3))[9;9Hfoo;
}
STARTTEST
:set cino=k2s,(s
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 27C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(s
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H23 lines to indent...
24[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[2;5Hif ( c1[3;13H&& ( c2[4;17H|| c3))[5;9Hfoo;
func( c1[7;9H&& ( c2[8;13H|| c3))[9;9Hfoo;
}
STARTTEST
:set cino=k2s,(s,U1
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 30C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(s,U1
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H24 lines to indent...
25[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;13H&& (c22345[2;17H|| c3))[3;9Hprintf("foo\n");[5;5Hc = c1 &&[6;9H([7;13Hc2 ||[8;13Hc3[9;9H) && c4;
}
STARTTEST
:set cino=k2s,(0,W4
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 30C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(0,W4
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H29 lines to indent...
30[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;13H&& ( c2[2;20H|| c3))[3;9Hfoo;[5;5Ha_long_line([6;9Hargument,[7;9Hargument);
a_short_line(argument,[9;18Hargument);
}
STARTTEST
:set cino=k2s,u2
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 27C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,u2
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H18 lines to indent...
19[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;9Hfoo;
if (c1 &&[3;13H(c2 || c3))
{
}
if (c123456789[7;13H&& (c22345[8;15H|| c3))[9;9Hprintf("foo\n");
}
STARTTEST
:set cino=k2s,(0,w1
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 30C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(0,w1
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H27 lines to indent...
28[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[2;5Hif ( c1[3;13H&& ( c2[4;17H|| c3))[5;9Hfoo;
func( c1[7;10H&& ( c2[8;14H|| c3))[9;9Hfoo;
}
STARTTEST
:set cino=k2,(s
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1[20;7H&& condition2)[21;9Haction();
function(argument1[23;9H&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 26C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2,(s
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H14 lines to indent...
15[7Cindented [24;19H[K[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;5Hif (c1 && (c2 ||[15;11Hc3))[16;9Hfoo;
if (c1 &&[18;7H(c2 || c3))
{
}
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=N-s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 47C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^NAMESPACESTART
=/^NAMESPACEEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=N-s
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^NAMESPACESTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HNAMESPACESTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^NAMESPACEEND
[?25l81 lines to indent...
50
82[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;1Hnamespace test test2
{
1111111111111111111;
}
namespace111111111
{
111111111111111111;
}
NAMESPACEEND
STARTTEST
:set cino=j1,J1
/^JSSTART
=/^JSEND
ENDTEST
JSSTART
var bar = {
foo: {
that: this,
some: ok,
},[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSEND
[?25l12 lines to indent...
13[7Cindented [24;19H[K[20;1H foo: {
that: this,
some: ok,
},[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;5H"bar":{[15;9Ha : 2,[16;9Hb: "123abc",[17;9Hx: 4,[18;9H"y": 5
}
}
JSEND
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=j1,J1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^JSSTART
=/^JSEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HJSSTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^JSEND
[?25l5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[8M[1;24r[16;1Hvar foo = [
1,
2,
3
];
JSEND
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=j1,J1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^JSSTART
=/^JSEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HJSSTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^JSEND
[?25l7 lines to indent...
8[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;1Hfunction bar() {
var foo = [[16;9H1,[17;9H2,[18;9H3
];
}
JSEND
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=j1,J1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^JSSTART
=/^JSEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HJSSTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^JSEND
[?25l58 lines to indent...
509[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;21Hreturn false;[2;17H}[3;17H_arguments[0]=options;[4;17Hmethod.apply(this,_arguments);[5;13H}[6;9H});
}
})(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: [[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSEND
[?25l14 lines to indent...
15[7Cindented [24;19H[K[20;1H $(this).data(class_name+'_public',$.extend({},{
foo: 'bar',
bar: 2,
foobar: [[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[12M[1;24r[12;13H1,[13;13H2,[14;13H3[15;9H],[16;9Hcallback: function(){[17;13Hreturn true;[18;9H}
}, options||{}));
}
JSEND
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=j1,J1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^JSSTART
=/^JSEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HJSSTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^JSEND
[?25l16 lines to indent...
17[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;17H2,[2;17H3[3;13H],[4;13Hcallback: function(){[5;17Hreturn true;[6;13H}[7;9H}, options||{}));
}
})(jQuery);
JSEND
STARTTEST
:set cino=j1,J1,+2
/^JSSTART
=/^JSEND
ENDTEST
JSSTART
// Results of JavaScript indent
// 1
(function(){
var a = [
'a',[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 38C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1,+2
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSEND
[?25l149 lines to indent...
100
50 lines to indent...
150 lines indented [24;20H[K[22;1H var a = [
'a',[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;1Hvar 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[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 48C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin cino&
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hstart of define
[?25l[18;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hend of define
[?25l11 lines to indent...
12[7Cindented [24;19H[K[22;1H BBB\
CCC[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[8M[1;24r[17;1H#define CNT \
1 + \
2 + \
4
/* end of define */
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 61C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l226 fewer lines[24;16H[K[1;1H c,
d,
e,[3;7H[K[4;1H f,[4;7H[K[5;1H g,[5;8H[K[6;1H h,[6;7H[K[7;1H i;[7;7H[K[8;1HJSEND[9;1H[K[10;1H[K[11;1H/* start of define */
{[12;2H[K[13;1H}[13;5H[K[14;1H#define AAA \
BBB\
CCC[16;9H[K[17;5H[K[18;1H#define CNT \
1 + \
2 + \[20;11H[K[21;5H4
/* end of define */[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/start of AUTO/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test4.in" 34 lines, 960 characters[1;1HTest 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[13C" split to Xxx, autocmd will do :brew
G?this is a
othis should be auto-indented[34m^[[m
:[19C" Append text with autoindent to this file
:au! BufEnter Xxx
:buf Xxx[12C" go to Xxx, no autocmd anymore
G?this is a
othis should be in column 1[34m^[[m:wq " append text without autoindent to Xxx
G:r Xxx[13C" include Xxx in the current file
:set fo+=r[10C" issue #57 do not move cursor on <c-o> when autoindent is ss[21;1Het
Go# abcdef[34m^[[m2hi
[34m^O[md0[34m^[[mo# abcdef[34m^[[m2hi[34m^O[md0[34m^[[m:[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for autocommand that changes current buffer on BufEnter event.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 20 lines, 678 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:?startstart?,$w! test.out
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter Xxx brew
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hstart of
[?25l[1;23r[1;1H[2M[1;24r[22;1Hstartstart
start of test file Xxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h.,/end of/w! Xxx " write test file Xxx
[?25l"Xxx" [24;7H[K[24;7H[New] 7L, 124C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ai modeline modelines=3
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx " split to Xxx, autocmd will do :brew
[?25l"Xxx" [24;7H[K[24;7H7L, 124C[1;1HTest for autocommand that changes current buffer on BufEnter event.
Check if modelines are interpreted for the correct buffer.[3;1H[K[4;1HSTARTTEST[4;10H[K[5;3Ho small.vim[5;21H[K[6;1H:set nocompatible viminfo+=nviminfo
:au BufEnter Xxx brew[7;22H[K[8;1H/start of[8;21H[K[9;2H.,/end of/w![7C" write test file Xxx
:set ai modeline modelines=3[10;29H[K[11;1H:sp Xxx [9C" split to Xxx, autocmd will do :brew
[1m[7mtest4.in [m[13;1H:set fo+=r[13Cssue #57 do not move cursor on <c-o> when autoindent is ss[14;1Het[14;3H[K[15;1HGo# abcdef[34m^[[m2hi
[34m^O[md0[34m^[[mo# abcdef[34m^[[m2hi[34m^O[md0[34m^[[m:
:?startstart?,$w! test.out[17;27H[K[18;2Hqa![18;5H[K[19;1HENDTEST[20;1H[K[21;1Hstartstart[22;6H of test file Xxx
[7mtest4.in [m[24;2Htest4.in" line 1 of 34 --2%-- col 1[1;1H[?12l[?25h[?25l:qa![1;6H[K[2;1HENDTEST[2;8H[K[4;1Hstartstart
start of test file Xxx
vim: set noai :[6;16H[K[7;1H this is a test
this is a test
this is a test[9;23H[K[10;1H this is a test[10;23H[K[11;1Hend of test file Xxx[11;21H[K[11;1H[?12l[?25h[?25l[24;1H[K[24;1H?[?12l[?25hthis is a
[?25l[10;9H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;1H[K[11;1H this should be auto-indented[12;10H[1m[7m[+][m[23;10H[7m[+][11;36H[?12l[?25h[?25l[1;11r[m[11;1H
[1;24r[11;1Hend of test file Xxx[?12l[?25h[?25l[24;1H:[?12l[?25h " Append text with autoindent to this file
[?25l[11;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau! BufEnter Xxx
[?25l[11;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbuf Xxx " go to Xxx, no autocmd anymore
[?25l"Xxx" [24;7H[K[24;7H7L, 124C[1;1Hstart of test file Xxx
vim: set noai :
this is a test
this is a test
this is a test
end of test file Xxx[7;21H[K[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxxt [1;1H[?12l[?25h[7;1H[?25l[m[24;1H[K[24;1H?[?12l[?25hthis is a
[?25l[6;9H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;1H[K[7;11r[7;1H[L[1;24r[7;1Hthis should be in column 1[12;5H[1m[7m[+][7;26H[?12l[?25h[?25l[24;1H[m:[?12l[?25hwq " append text without autoindent to Xxx
[?25l"Xxx[24;7H[K[24;7H8L, 151C written[1;1H:au BufEnter Xxx brew[1;22H[K[2;1H/start of[2;10H[K[3;1H:.,/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[6;12H[K[7;1Hothis should be auto-indented[34m^[[m
: " Append text with autoindent to this file
:au! BufEnter Xxx[9;18H[K[10;1H:buf Xxx " go to Xxx, no autocmd anymore[10;52H[K[11;1HG?this is a[11;12H[K[12;1Hothis should be in column 1[34m^[[m:wq " append text without autoindent to Xxx[12;73H[K[13;1HG:r Xxx [13Cnclude Xxx in the current file[13;55H[K[14;1H:set fo+=r[10C" issue #57 do not move cursor on <c-o> when autoindent is ss[15;1Het[15;3H[K[16;1HGo# abcdef[34m^[[m2hi[16;16H[K[17;1H[34m^O[md0[34m^[[mo# abcdef[34m^[[m2hi[34m^O[md0[34m^[[m:
:?startstart?,$w! test.out
:qa![19;5H[K[20;1HENDTEST[21;1H[K[22;6Hstar[22;11H[K[23;1Hstart of test file Xxx[23;23H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[7M[1;24r[17;1Hvim: set noai :[18;9Hthis is a test[19;9Hthis is a test[20;9Hthis is a test[21;9Hthis is a test[22;9Hthis should be auto-indented
end of test file Xxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hr Xxx " include Xxx in the current file
[?25l"Xxx" [24;20H[K[24;7H8L, 151C[1;23r[23;1H
[1;24r[23;1Hstart of test file Xxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset fo+=r " issue #57 do not move cursor on <c-o> when autoindent is
[23;80Hs[24;1Het
[?25l[1;1H[L[1;1H:au! BufEnter Xxx[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[7M[1;24r[17;1Hvim: set noai :[18;9Hthis is a test[19;9Hthis is a test[20;9Hthis is a test[21;9Hthis is a test
this should be in column 1
end of test file Xxx
[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1H# abcdef[?12l[?25h[?25l
[1m-- INSERT --
-- (insert)- --[1;23r[m[23;1H
[1;24r[22;6H[K[23;1H# def[?12l[?25h[?25l[24;4H[1mINSERTt --[m[24;13H[K[23;1Hdef[23;4H[K[23;1Ho[?12l[?25hd[24;1H[K[?25l[23;1H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1H# abcdef[?12l[?25h[?25l
[1m-- INSERT --
-- (insert)- --[23;6H[?12l[?25h[?25l
-- INSERTt --[m[24;13H[K[23;1Hdef[23;4H[K[23;1H:[?12l[?25hd[24;1H[K[?25l[23;1H[?12l[?25h[?25l
:[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?startstart?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 20L, 330C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test5.in" 29 lines, 949 characters[1;1HTest 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[15C" write test file Xxx
:sp Xxx[25C" split to Xxx
:bwipe[26C" delete buffer Xxx, now we're back here
G?this is a
othis is some more text[34m^[[m
:[31C" Append some text to this file
:?start?,$w! test.out[11C" Write current file contents
:bwipe test.out[17C" delete alternate buffer
:au bufleave test5.in bwipe
:bwipe![25C" delete current buffer, get an empty one
ithis is another test line[34m^[[m:w >>test.out
:[31C" append an extra line to the output file
:qa!
ENDTEST
start of test file Xxx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for autocommand that deletes the current buffer on BufLeave event.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 16 lines, 664 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufLeave Xxx bwipe
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hstart of
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx " write test file Xxx
[?25l"Xxx" [24;7H[K[24;7H[New File] 7 lines, 124 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx " split to Xxx
[?25l"Xxx" [24;7H[K[24;7H7 lines, 124 characters[1;1Hstart of test file Xxx[1;23H[K[2;1Hvim: set noai :[2;16H[K[3;9Hthis is a test
this is a test
this is a test
this is a test
end of test file Xxx
[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxx [m[13;2H?start?,$w! test.out[13CWrite current file contents[13;62H[K[14;2Hbwipe test.out [13Cdelete alternate buffer[14;58H[K[15;2Hau bufleave test5.in bwipe[15;33H[K[16;2Hbwipe! " delete current buffer, get an empty one
ithis is another test line[34m^[[m:w >>test.out[17;42H[K[18;1H: " append an extra line to the output file
:qa![19;33H[K[20;1HENDTEST[21;1H[K[22;1Hstart of test file Xxx
[7mtest5.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbwipe " delete buffer Xxx, now we're back here
[?25l[1;1HTest for autocommand that deletes the current buffer on BufLeave event.
Also test deleting the last buffer, should give a new, empty buffer.[3;9H[K[4;1HSTARTTEST[4;10H[K[5;1H:so small.vim[5;14H[K[6;1H:au BufLeave Xxx bwipe
/start of[7;10H[K[8;1H:.,/end of/w! Xxx " write test file Xxx[8;54H[K[9;1H:sp Xxx " split to Xxx[9;47H[K[10;1H:bwipe " delete buffer Xxx, now we're back here[10;73H[K[11;1HG?this is a[11;12H[K[12;1Hothis is some more text[34m^[[m[12;26H[K[13;2H [13CAppend some text to this file
:?start?,$w! test.out[13CWrite current file contents
:bwipe test.out " delete alternate buffer
:au bufleave test5.in bwipe[16;33H[K[17;1H:bwipe! " delete current buffer, get an empty one
ithis is another test line[34m^[[m:w >>test.out[18;42H[K[19;2H [28C" append an extra line to the output file
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1Hstart of test file Xxx[23;23H[K[24;1H"test5.in" line 23 of 29 --79%-- col 1[24;39H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[6M[1;24r[18;1Hvim: set noai :[19;9Hthis is a test[20;9Hthis is a test[21;9Hthis is a test[22;9Hthis is a test
end of test file Xxx[24;1H[K[23;1H[?12l[?25h[?25l
?[?12l[?25hthis is a
[?25l[22;9H[?12l[?25h[?25l
this is some more text[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hend of test file Xxx[24;1H[K[23;20H[?12l[?25h[?25l
:[?12l[?25h " Append some text to this file
[?25l[23;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?start?,$w! test.out " Write current file contents
[?25l"test.out" [24;12H[K[24;12H[New File] 8 lines, 147 characters written[23;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe test.out " delete alternate buffer
[?25l[23;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau bufleave test5.in bwipe
[?25l[23;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe! " delete current buffer, get an empty one
[?25l[1m[37m[41mError detected while processing BufLeave Auto commands for "test5.in":[m[24;71H[K[24;1H
[1m[37m[41mE89: No write since last change for buffer 1 (add ! to override)[m
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[2L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25lthis is another test line[?12l[?25h[?25l[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 26 characters appended[1;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h " append an extra line to the output file
[?25l[1;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test7.in" 26 lines, 675 characters[1;1HTest for autocommand that changes the buffer list, when doing ":ball".
STARTTEST
:so small.vim
/^start of
A1[34m^[[m:.,/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[17C" open window for all args, close Xxx2
:.,$w! test.out[10C" Write contents of this file
[34m^W^W[m:w >>test.out[8C" Append contents of second window (Xxx1)
[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa!
ENDTEST
start of test file Xxx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 508 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of
[?25l[23;1H[?12l[?25h[?25l[22C1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx1 " write test file Xxx1
[?25l"Xxx1" [24;9H[K[24;8H[New File] 4 lines, 77 characters written[23;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx1
[?25l"Xxx1" [24;8H[K[24;8H4 lines, 77 characters[1;1Hstart of test file Xxx1[1;24H[K[2;9Hthis is a test
this is a test
end of test file Xxx
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxx1 [m[13;2Hclose[13;7H[K[14;2Hau BufReadPost Xxx2 bwipe
$r4:ball " open window for all args, close Xxx2
:.,$w! test.out[12CWrite contents of this file[16;55H[K[17;1H[34m^W^W[m:w >>test.out[10CAppend contents of second window (Xxx1)[18;6H/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![19;5H[K[20;1HENDTEST[21;1H[K[22;1Hstart of test file Xxx1
[7mtest7.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[2;9H[K[3;1HSTARTTEST[3;10H[K[4;1H:so small.vim[4;14H[K[5;1H/^start of[5;11H[K[6;1HA1[34m^[[m:.,/end of/w! Xxx1 " write test file Xxx1[6;48H[K[7;1H:sp Xxx1[7;9H[K[8;1H:close[8;7H[K[9;1H$r2:.,/end of/w! Xxx2 " write test file Xxx2[9;48H[K[10;1H:sp Xxx2[10;9H[K[11;1H:close[11;7H[K[12;1H$r3:.,/end of/w! Xxx3 " write test file Xxx3[12;48H[K[13;2Hsp Xxx3
:close[14;7H[K[15;1H:au BufReadPost Xxx2 bwipe[15;28H[K[16;1H$r4:ball [12Copen window for all args, close Xxx2
:.,$w! test.out [10CWrite contents of this file[17;55H[K[18;6Hw >>test.out " Append contents of second window (Xxx1)[18;67H[K[19;1H[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1Hstart of test file Xxx1[23;24H[K[23;23H[?12l[?25h[?25l2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx2 " write test file Xxx2
[?25l"Xxx2" [24;9H[K[24;8H[New File] 4 lines, 77 characters written[23;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx2
[?25l"Xxx2" [24;8H[K[24;8H4 lines, 77 characters[1;1Hstart of test file Xxx2[1;24H[K[2;9Hthis is a test
this is a test
end of test file Xxx
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxx2 [m[13;2Hclose[13;7H[K[14;2Hau BufReadPost Xxx2 bwipe
$r4:ball " open window for all args, close Xxx2
:.,$w! test.out[12CWrite contents of this file[16;55H[K[17;1H[34m^W^W[m:w >>test.out[10CAppend contents of second window (Xxx1)[18;6H/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![19;5H[K[20;1HENDTEST[21;1H[K[22;1Hstart of test file Xxx2
[7mtest7.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[2;9H[K[3;1HSTARTTEST[3;10H[K[4;1H:so small.vim[4;14H[K[5;1H/^start of[5;11H[K[6;1HA1[34m^[[m:.,/end of/w! Xxx1 " write test file Xxx1[6;48H[K[7;1H:sp Xxx1[7;9H[K[8;1H:close[8;7H[K[9;1H$r2:.,/end of/w! Xxx2 " write test file Xxx2[9;48H[K[10;1H:sp Xxx2[10;9H[K[11;1H:close[11;7H[K[12;1H$r3:.,/end of/w! Xxx3 " write test file Xxx3[12;48H[K[13;2Hsp Xxx3
:close[14;7H[K[15;1H:au BufReadPost Xxx2 bwipe[15;28H[K[16;1H$r4:ball [12Copen window for all args, close Xxx2
:.,$w! test.out [10CWrite contents of this file[17;55H[K[18;6Hw >>test.out " Append contents of second window (Xxx1)[18;67H[K[19;1H[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1Hstart of test file Xxx2[23;24H[K[23;23H[?12l[?25h[?25l3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx3 " write test file Xxx3
[?25l"Xxx3" [24;9H[K[24;8H[New File] 4 lines, 77 characters written[23;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx3
[?25l"Xxx3" [24;8H[K[24;8H4 lines, 77 characters[1;1Hstart of test file Xxx3[1;24H[K[2;9Hthis is a test
this is a test
end of test file Xxx
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxx3 [m[13;2Hclose[13;7H[K[14;2Hau BufReadPost Xxx2 bwipe
$r4:ball " open window for all args, close Xxx2
:.,$w! test.out[12CWrite contents of this file[16;55H[K[17;1H[34m^W^W[m:w >>test.out[10CAppend contents of second window (Xxx1)[18;6H/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![19;5H[K[20;1HENDTEST[21;1H[K[22;1Hstart of test file Xxx3
[7mtest7.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[2;9H[K[3;1HSTARTTEST[3;10H[K[4;1H:so small.vim[4;14H[K[5;1H/^start of[5;11H[K[6;1HA1[34m^[[m:.,/end of/w! Xxx1 " write test file Xxx1[6;48H[K[7;1H:sp Xxx1[7;9H[K[8;1H:close[8;7H[K[9;1H$r2:.,/end of/w! Xxx2 " write test file Xxx2[9;48H[K[10;1H:sp Xxx2[10;9H[K[11;1H:close[11;7H[K[12;1H$r3:.,/end of/w! Xxx3 " write test file Xxx3[12;48H[K[13;2Hsp Xxx3
:close[14;7H[K[15;1H:au BufReadPost Xxx2 bwipe[15;28H[K[16;1H$r4:ball [12Copen window for all args, close Xxx2
:.,$w! test.out [10CWrite contents of this file[17;55H[K[18;6Hw >>test.out " Append contents of second window (Xxx1)[18;67H[K[19;1H[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1Hstart of test file Xxx3[23;24H[K[23;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPost Xxx2 bwipe
[?25l[23;23H[?12l[?25h[?25l4[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hball " open window for all args, close Xxx2
[?25l"Xxx1"[24;23H[K[24;8H4 lines, 77 characters
"Xxx2" 4 lines, 77 characters
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.,$w! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 4 lines, 77 characters written
[32mPress ENTER or type command to continue[?12l[?25h[27m[23m[m[H[2J[?25l[1;1H:close
:au BufReadPost Xxx2 bwipe
$r4:ball[17C" open window for all args, close Xxx2
:.,$w! test.out[10C" Write contents of this file
[34m^W^W[m:w >>test.out[8C" Append contents of second window (Xxx1)
[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa!
ENDTEST
start of test file Xxx4
[1m[7mtest7.in [+] [m[12;1Hstart of test file Xxx1[13;9Hthis is a test[14;9Hthis is a test
end of test file Xxx
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mXxx1 [10;23H[?12l[?25h
test7.in [+][m[1m[7m [m[7m [m[23;1H[1m[7mXxx1 [12;1H[?25l[24;1H[m:[?12l[?25hw >>test.out " Append contents of second window (Xxx1)
[?25l"test.out" [24;12H[K[24;12H4 lines, 77 characters appended[12;1H[?12l[?25h[11;1H[1m[7mtest7.in [+] [m[23;1H[7mXxx1[m[1m[7m [m[7m [10;23H[?25l[m[24;1H[K[24;1H:[?12l[?25h/^start of/,$w >>test.out " Append contents of last window (this file)
[?25l[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[24;1H"test.out" [24;12H[K[24;12H4 lines, 77 characters appended[10;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test8.in" 46 lines, 1236 characters[1;1HTest 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[34m^[[m:.,/end of/w! Xxx1 " write test file Xxx1
$r2:.,/end of/w! Xxx2 " write test file Xxx2
:e! Xxx2[16C" edit Xxx2
:bdel test8.in[10C" delete this file from the buffer list
:e Xxx1[17C" edit Xxx1
:w[22C" write it, will unload it and give an error msg
:w! test.out[12C" Write contents of this file
:e! Xxx2[16C" start editing Xxx2
:bwipe test.out[9C" remove test.out from the buffer list
:w[22C" write it, will delete the buffer and give an error msg[19;1H:w >>test.out[11C" Append contents of this file
:au! BufWritePre
:func CloseAll()
let i = 0
while i <= bufnr('$')[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for BufWritePre autocommand that deletes or unloads the buffer.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 37 lines, 1054 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[19M[1;24r[5;5Hif i != bufnr('%') && bufloaded(i)[6;7Hexe 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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufWritePre Xxx1 bunload
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufWritePre Xxx2 bwipe
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of
[?25l[1;23r[23;1H
[1;24r[23;1Hstart of Xxx[24;1H[K[23;1H[?12l[?25h[?25l[12C1[?12l[?25h[?25l
:[?12l[?25h.,/end of/w! Xxx1 " write test file Xxx1
[?25l"Xxx1" [24;9H[K[24;8H[New File] 3 lines, 31 characters written[23;13H[?12l[?25h[?25l2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx2 " write test file Xxx2
[?25l"Xxx2" [24;9H[K[24;8H[New File] 3 lines, 31 characters written[23;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xxx2 " edit Xxx2
[?25l"Xxx2" [24;8H[K[24;8H3 lines, 31 characters[1;1Hstart of Xxx2
test[2;14H[K[3;1Hend of Xxx[3;11H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbdel test8.in[34m^I^I[m" delete this file from the buffer list
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xxx1 " edit Xxx1
[?25l"Xxx1" [24;25H[K[24;8H3 lines, 31 characters[1;13H1
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw " write it, will unload it and give an error msg
[?25l"Xxx2"[24;25H[K[24;8H3 lines, 31 characters
[1m[37m[41mE203: Autocommands deleted or unloaded buffer to be written[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 3 lines, 31 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he! Xxx2 " start editing Xxx2
[?25l"Xxx2" [24;8H[K[24;8H3 lines, 31 characters[1;1H[3L[1;1Hstart of Xxx2[2;9Htest
end of Xxx[24;1H[K[24;1H"Xxx2" 3 lines, 31 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe test.out " remove test.out from the buffer list
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw " write it, will delete the buffer and give an error ms
[23;80Hg[24;1H[?25l[23;1H"Xxx1"[23;25H[K[23;8H3 lines, 31 characters
[1m[37m[41mE203: Autocommands deleted or unloaded buffer to be written[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out " Append contents of this file
[?25l"test.out" [24;12H[K[24;12H3 lines, 31 characters appended
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau! BufWritePre
[?25l[1;1H[3L[1;1Hstart of Xxx1[2;9Htest
end of Xxx[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[8L[?25l[1;1Hstart of Xxx1[2;9Htest
end of Xxx
[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfunc WriteToOut()
[?25l
: [?12l[?25h edit! test.out
[?25l: [?12l[?25h $put ='VimLeave done'
[?25l: [?12l[?25h write
[?25l: [?12l[?25hendfunc
[1;1H[4L[?25l[1;1Hstart of Xxx1[2;9Htest
end of Xxx
[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset viminfo='100,nviminfo
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufUnload * call CloseAll()
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau VimLeave * call WriteToOut()
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he small.vim
[?25l[1m[37m[41mError detected while processing function CloseAll:[m
[33mline 4:[m
[1m[37m[41mE16: Invalid range: 0bunload[m
"small.vim" 1 line, 1 character
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsp mbyte.vim
[?25l"mbyte.vim" [24;13H[K[24;13H0 lines, 0 characters[1;1H[4L[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[12;1H[1m[7mmbyte.vim [m[13;1H[K[23;1H[7msmall.vim [m[24;1H[K[24;1H"mbyte.vim" 0 lines, 0 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq
[?25l[1m[37m[41mError detected while processing function CloseAll:[m
[33mline 4:[m
[1m[37m[41mE16: Invalid range: 0bunload
[m
"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test9.in" 12 lines, 255 characters[1;1HTest 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
[1m[34m~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for Bufleave autocommand that deletes the buffer we are about to edit.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 117 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufLeave test9.in bwipe yy
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he yy
[?25l[1m[37m[41mE143: Autocommands unexpectedly deleted new buffer yy[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h/^start of/,$w! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 2 lines, 42 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test14.in" 99 lines, 1606 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for "vaBiB", end could be wrong.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 56 lines, 1141 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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):[15;9H{[16;17Hcmd;[17;17H{[18;25Hcmd; /* <-- Start cursor here */[19;25H{[20;25H}[21;17H}[22;9H}[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hStart cursor here
[?25l[18;40H[?12l[?25h[?25l[?12l[?25h[?25l[17;17H[7m{
cmd; /* <-- Start cursor here */
{
}
[?12l[?25h[?25l[16;1H cmd;
[21;17H}[?12l[?25h[?25l[m
6 fewer lines[24;15H[K[16;1H }[16;10H[K[17;1H[K[18;1HPiece of Java[18;14H[K[19;1H{[19;2H[K[20;1H tt m1 {[20;16H[K[21;1H t1;[22;11He1[16;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?Bug?,/Piece/-2w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 3 lines, 44 characters written[16;9H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^- Bug
[?25l[31msearch hit BOTTOM, continuing at TOP[14;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hs/u/~u~/
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hs/i/~u~/
[?25l[14;7Huuun "vPPPP" on this text (Webb):
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hs/o/~~~/
[?25l[14;20Huuuuuuuuun this text (Webb):
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 48 characters appended[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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>
[23;80H"[24;1H
[?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
[1;1H[5L[?25l[1;1H:$put =@/
/^substitute
:keeppatterns s/asdf/xyz/
:$put =@/
/^substitute[24;1H[K[14;1H[?12l[?25h[?25l[24;1H:[?12l[?25hexe "normal " . tt
[?25l[15;23r[15;1H[L[1;24r[15;1HABC !a[34m^O[mg[34m^G[m8[24;1H[K[15;12H[?12l[?25h[?25l[24;1H:[?12l[?25hunlet tt
[?25l[15;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[15;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset vb
[?25l[15;12H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Piece
[?25l[19;1H[?12l[?25h[21;15H[?25l{A[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 10 characters appended[21;16H[?12l[?25h[22;16H[?25l[1;23r[1;1H[2M[1;24r[23;9Htt m2 {[24;1H[K[23;15H[?12l[?25h[?25l{B[?12l[?25h[?25l
:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 10 characters appended[23;16H[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[20;17Ht2;[21;9H} e2[23;9Htt m3 {[24;1H[K[23;15H[?12l[?25h[?25l{C[?12l[?25h[?25l
:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 10 characters appended[23;16H[?12l[?25h[?25l{DC[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[23;16H[?12l[?25h[22;1H[15;15H[?25l{EA[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[15;16H[?12l[?25h[14;1H[?25l{F[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 3 characters appended[14;2H[?12l[?25h[17;9H[?25l}G e1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 7 characters appended[17;10H[?12l[?25h
[?25l[1;23r[1;1H[5M[1;24r[19;17Hif (x)[20;17H{[21;25Ht3;[22;17H}[23;9H} e3[24;1H[K[23;9H[?12l[?25h[?25l}H e3[?12l[?25h[?25l
:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 7 characters appended[23;10H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[24;1H[K[23;1H[?12l[?25h[?5h[?5l[?25l}I[?12l[?25h[?25l
:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 3 characters appended[23;2H[?12l[?25h[22;9H[?25l}JH e3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 8 characters appended[22;10H[?12l[?25h[21;16H[15;9H[?25l}K e2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 7 characters appended[15;10H[?12l[?25h[8;1H[?25l{LF[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 4 characters appended[8;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[8;2H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^foobar
[?25l[1;23r[1;1H[2M[1;24r[23;1Hfoobar[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet startline = line('.')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall search('foobar', 'c')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcall search('^$', 'c')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall search('^$', 'bc')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25htwo
[?25l[1;23r[1;1H[3M[1;24r[21;1Hsubstitute foo asdf
one two[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25hcall search('.', 'c')
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), getline('.')[col('.') - 1:])
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^substitute
[?25l[31msearch hit BOTTOM, continuing at TOP[21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hs/foo/bar/
[?25l[21;12Hbar
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =@/
[?25l[1;23r[1;1H[6M[1;24r[18;1Hsearch()
0
1
1
two
foo[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^substitute
[?25l[31msearch hit BOTTOM, continuing at TOP[15;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hkeeppatterns s/asdf/xyz/
[?25l[15;16Hxyz[15;19H[K[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =@/
[?25l[1;23r[23;1H
[1;24r[23;1H^substitute[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^substitute
[?25l[31msearch hit BOTTOM, continuing at TOP[14;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =@0
[?25l[1;23r[23;1H
[1;24r[23;1Hsubstitute bar xyz[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25hbar /e
[?25l[23;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =@0
[?25l[1;23r[23;1H
[1;24r[23;1Hsubstitute bar xyz[24;1H[K[23;1H[?12l[?25h[22;1H[?25l
:[?12l[?25hkeeppatterns /xyz
[?25l[23;1H[?12l[?25h[?25l
/bar /e[24;8H[K[24;1H[23;1Hxyz[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^search()/,$w >>test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H9 lines, 58 characters appended[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test15.in" 136 lines, 2246 characters[1;1HTests 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[34m^R[m
:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
/^aa
ggu
:?test for :left?,$w! test.out
:qa!
ENDTEST[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :right on text with embedded TAB.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 401 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=65
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;9Htest for :left[24;1H[K[23;8H[?12l[?25h[?25l
:[?12l[?25h/^\s*test for :left/,/^\s*test for :center/ left
[?25l[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[23;1Htest for :left[23;15H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^\s*test for :center/,/^\s*test for :right/ center
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^\s*test for :right/,/^xxx/-1 right
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fo+=tcroql tw=72
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hxxxxxxxx$
[?25l[27m[23m[m[H[2J[1;40Hasxa;ofa[9Caxxxoike[2;39Hasdfaqwer[9Caxxxoike[3;47Ha[9Caxxxoikey[4;46Hfa[9Caxxxoikey[5;45Hdfa[9Caxxxoikey[6;44Hsdfa[9Caxxxoikey[7;43Hasdfa[9Caxxxoikey[8;42Hxasdfa[9Caxxxoikey[9;41Hasxxdfa[9Caxxxoikey[10;40Hasxa;ofa[9Caxxxoikey[11;39Hasdfaqwer[9Caxxxoikey
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[19;50H[?12l[?25h
[?25l[13;23r[23;1H
[1;24r[13;6H xx xxxxxx xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx[14;62Hxx xxxxxxx.
xxxx xxxx.[15;11H[K[17;65Hxxxxxx[18;9Hx: xxxx xxxxxxx, xx xxxx[7C xxxxxxx[18;51H[K[23;1H[1m[34m~ [18;1H[?12l[?25h[17;1H
[?25l[24;1H[m:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" undo/redo here to make the next undo only work on the following changes
[?25l[18;1H[?12l[?25h[?25l[24;1H1 more line; before #1 0 seconds ago[24;38H[K[27m[23m[m[H[2J[1;1H0gq6kk
:set nocp viminfo+=nviminfo
:" undo/redo here to make the next undo only work on the following changes
u[34m^R[m
:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
/^aa
ggu
:?test for :left?,$w! test.out
:qa!
ENDTEST[12;9Htest for :left[13;11Ha[13Ca[14;13Hfa[10Ca[15;11Hdfa[11Ca[16;17Hsdfa[12Ca[17;11Hasdfa[9Ca[18;17Hxasdfa[10Ca
asxxdfa[9Ca[21;9Htest for :center[22;11Ha[13Ca[23;13Hfa[10Cafd asdf[12;8H[?12l[?25h[?25l[24;1H1 line less; after #1 0 seconds ago[12;1Htest for :left[12;15H[K[13;1Ha[9C a[13;25H[K[14;1Hfa[10C a[14;25H[K[15;1Hdfa[7C a[15;25H[K[16;1Hsdfa[12Ca[16;18H[K[17;1Hasdfa a[17;25H[K[18;1Hxasdfa[10Ca[18;18H[K[21;9H test for :center[22;11H [13C a[14Ca[23;13H [8Cfa [8Cafd asdf[12;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hmap gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^aa
[?25l[27m[23m[m[H[2J[1;41Hasxxdfa[9Caxxxoike[2;40Hasxa;ofa[9Caxxxoike[3;39Hasdfaqwer[9Caxxxoike[4;47Ha[9Caxxxoikey[5;46Hfa[9Caxxxoikey[6;45Hdfa[9Caxxxoikey[7;44Hsdfa[9Caxxxoikey[8;43Hasdfa[9Caxxxoikey[9;42Hxasdfa[9Caxxxoikey[10;41Hasxxdfa[9Caxxxoikey[11;40Hasxa;ofa[9Caxxxoikey[12;39Hasdfaqwer[9Caxxxoikey
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[21;1H[?12l[?25h[?25l
:.,.+2s/^/x/
3 substitutions on 3 lines[21;1Hxaa aa aa aa
xbb bb bb bb
xcc cc cc cc
[?12l[?25h[22;1H[21;1H[?25l[24;1H[K[24;1H:set tw=3
[21;1H[?12l[?25h[?25l
3 more lines[1;23r[23;1H
[1;24r[20;5H[K[21;1Haa[21;3H[K[22;1Haa[22;3H[K[23;1Haa[24;1H[K[24;1H3 more lines[23;1H[?12l[?25h[?25l
3 fewer lines; before #2 0 seconds ago[20;1Haa aa aa aa
bb bb bb bb
cc cc cc cc
[1m[34m~ [20;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25h?test for :left?,$w! test.out
[?25l"test.out"[24;12H[K[24;12H[New] 111L, 2304C written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test19.in" 33 lines, 692 characters[1;1HTests 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=[34m^V[mx7f t_kb=[34m^V[mx08
/some
r[7C:set noexpandtab
/other
r
:" Test replacing with Tabs and then backspacing to undo it
0wR[21C[34m^H^H^H^[[m
:" Test replacing with Tabs
0wR[21C[34m^[[m
:" Test that copyindent works with expandtab set
:set expandtab smartindent copyindent ts=8 sw=8 sts=8
o{
x[34m^[[m:set nosol
/Second line/
fwdv_:?^start?,$w! test.out
:qa![1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 19 lines, 447 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[23;1H
[1;24r[23;1HENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset smarttab expandtab ts=8 sw=4
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make sure that backspace works, no matter what termcap is used
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset t_kD=^[34m^?[m t_kb=^[34m^H
[?25l[27m[23m[m[H[2J[2;1HSTARTTEST
:so small.vim
:set smarttab expandtab ts=8 sw=4
:" make sure that backspace works, no matter what termcap is used
:set t_kD=[34m^V[mx7f t_kb=[34m^V[mx08
/some
r[7C:set noexpandtab
/other
r
:" Test replacing with Tabs and then backspacing to undo it
0wR[21C[34m^H^H^H^[[m
:" Test replacing with Tabs
0wR[21C[34m^[[m
:" Test that copyindent works with expandtab set
:set expandtab smartindent copyindent ts=8 sw=8 sts=8
o{
x[34m^[[m:set nosol
/Second line/
fwdv_:?^start?,$w! test.out
:qa!
ENDTEST
[?12l[?25h[?25l
/[?12l[?25hsome
[?25l[1;23r[1;1H[2M[1;24r[22;1Hstart text[23;17Hsome test text[24;1H[K[23;17H[?12l[?25h[?25l ome test text[23;20H[?12l[?25h[?25l
:[?12l[?25hset noexpandtab
[?25l[23;20H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hother
[?25l[1;23r[1;1H[2M[1;24r[22;1Htest text[23;17Hother test text[24;1H[K[23;17H[?12l[?25h[?25l ther test text[23;20H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Ha cde[?12l[?25h[?25l
:[?12l[?25h" Test replacing with Tabs and then backspacing to undo it
[?25l[23;9H[?12l[?25h
[?25l[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hf ghi[24;1H[K[23;4H[?12l[?25h[?25l
:[?12l[?25h" Test replacing with Tabs
[?25l[23;4H[?12l[?25h
[?25l [7Chi[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest text[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25h" Test that copyindent works with expandtab set
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset expandtab smartindent copyindent ts=8 sw=8 sts=8
[?25l[23;9H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1H{[23;9Hx[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25hset nosol
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hSecond line/
[?25l[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;3HSecond line beginning with whitespace[24;1H[K[23;3H[?12l[?25h[22C[?25l
with whitespace[23;18H[K[23;3H[?12l[?25h[?25l
:[?12l[?25h?^start?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 10 lines, 121 characters written[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test20.in" 28 lines, 398 characters[1;1HTests 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$[34m^V[mjjlld
/456$
[34m^V[mjj"bP
:/56$/,$-1w! test.out
:qa!
ENDTEST
123456
234567
345678
test text test tex start here[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests Blockwise Visual when there are TABs before the text.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 11 lines, 107 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso tiny.vim
[?25l[18;1H[?12l[?25h[?25l[1;23r[1;1H[5M[1;24r[19;17Hsome text[20;17Htest text
test text
Ox[34m^[[mjAy[34m^[[mkdd[24;1H[K[23;1H[?12l[?25h[22;1H[?25lx[23;1H[K[22;1H[?12l[?25h
[?25ly[?12l[?25h[22;1H[?25ly
Ox[34m^[[mjAy[34m^[[mkdd[22;1H[?12l[?25h[?25l
2 changes; before #1 0 seconds ago[22;1H[K[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1H123456
234567
345678[16;1H[K[17;1Htest text test tex start here
some text[18;26H[K[19;17Htest
test text[20;17H[K[21;1H[K[22;1HOx[34m^[[mjAy[34m^[[mkdd
[7mtest20.in [1;1H[?12l[?25h[?25l[1;11r[m[1;1H[L[1;24r[1;1Hx[12;11H[1m[7m[+][m[24;1H[K[1;1H[?12l[?25h
[?25ly[?12l[?25h[1;1H[?25l[1;11r[11;1H
[1;24r[11;1H[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H1 line less; before #1 0 seconds ago[1;1H[K[12;11H[1m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hquit!
[?25l[1;1H:so tiny.vim
G0"ay$k@au[2;11H[K[3;1H:new[3;5H[K[4;1H@auY:quit![4;11H[K[5;1HGP[5;3H[K[6;1H/start here$[6;13H[K[7;1H"by$[34m^V[mjjlld[7;12H[K[8;1H/456$[8;6H[K[9;1H[34m^V[mjj"bP[9;8H[K[10;1H:/56$/,$-1w! test.out[10;22H[K[11;1H:qa![11;5H[K[12;1HENDTEST[12;8H[K[13;1H[K[14;1H123456
234567
345678[17;1H[K[18;1Htest text test tex start here[19;17Hsome
[7Ctest text
test text[22;1H[K[23;1HOx[34m^[[mjAy[34m^[[mkdd[23;13H[K[23;1H[?12l[?25h[?25l[23;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HOx[34m^[[mjAy[34m^[[mkdd[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25hstart here$
[?25l[31msearch hit BOTTOM, continuing at TOP[17;20H[?12l[?25h[?25l[?12l[?25h[?25l[m[7ms[18;20H[?12l[?25h[?25le[19;20H[?12l[?25h[?25l[17;21Ht[18;21H [19;20Ht[?12l[?25h[?25l[17;22Ha[18;22Ht[19;21H [?12l[?25h[?25l[m[17;20Hrt here[17;27H[K[18;20Hext[18;23H[K[19;20Hex[19;23H[K[17;20H[?12l[?25h[18;20H[?25l[24;1H[K[24;1H/[?12l[?25h456$
[?25l[31msearch hit BOTTOM, continuing at TOP[13;4H[?12l[?25h[?25l[?12l[?25h[?25l[m[7m4
[m234[?12l[?25h[?25l[7m5
[m345[?12l[?25h[?25l[?12l[?25h[?25l[13;4Hstart here56
234start here67
345start here78[13;13H[?12l[?25h[14;13H[?25l[24;1H[K[24;1H:[?12l[?25h/56$/,$-1w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 10 lines, 106 characters written[14;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test22.in" 13 lines, 197 characters[1;1HTests for file with some lines ending in CTRL-M, some not[34m^M
^M[m
STARTTEST
:set ta tx
:e!
:$-3,$w! test.out
:qa!
ENDTEST
this lines ends in a[34m^M[m
this one doesn't
this one does[34m^M[m
and the last one doesn't
[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for file with some lines ending in CTRL-M, some not[34m^M[m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 4 lines, 38 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ta tx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he!
[?25l"test22.in" 13 lines, 197 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$-3,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 4 lines, 79 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test23.in" 15 lines, 282 characters[1;1HTests 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
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for complicated + argument to :edit command[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 7 lines, 125 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$-1w! Xfile1
[?25l"Xfile1" [24;10H[K[24;10H[New File] 1 line, 8 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! Xfile2
[?25l"Xfile2" [24;10H[K[24;10H[New File] 1 line, 8 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w
[?25l"Xfile1" [24;10H[K[24;10H1 line, 8 characters
foo|bar
"Xfile1" 1 line, 11 characters written
"Xfile2" 1 line, 8 characters
foo/bar
"Xfile2" 1 line, 12 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 12 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfile1
[?25l"Xfile1" 1 line, 11 characters[1;1H[7L[1;1HfooPIPEbar
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[24;1H[K[24;1H"Xfile1" 1 line, 11 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >> test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test24.in" 89 lines, 1301 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with backslash and other special characters inside [][24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 51 lines, 519 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[2;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\x]
[?25l[15;6H[?12l[?25h[?25ltext test text[15;20H[K[15;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\t\]]
[?25l[16;8H[?12l[?25h[?25ltext test tex[16;20H[K[16;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[]y]
[?25l[17;11H[?12l[?25h[?25ltest text[17;20H[K[17;11H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\]]
[?25l[18;6H[?12l[?25h[?25ltext test text[18;20H[K[18;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[y^]
[?25l[19;13H[?12l[?25h[?25lst text[19;20H[K[19;13H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[$y]
[?25l[20;8H[?12l[?25h[?25lxt test text[20;20H[K[20;8H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\x61]
[?25l[21;7H[?12l[?25h[?25lext test text x61[21;25H[K[21;7H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\x60-\x64]
[?25l[22;7H[?12l[?25h[?25lext test text x60-x64[22;29H[K[22;7H[?12l[?25h[23;7H
[?25l[24;1H[K[24;1H/[?12l[?25h[\x785]
[?25l[23;6H[?12l[?25h[?25ltext test text x78 5[23;27H[K[23;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\o143]
[?25l[1;23r[23;1H
[1;24r[23;1Htestc text test text o143[24;1H[K[23;5H[?12l[?25h[?25l text test text o143[23;26H[K[23;5H[?12l[?25h[?25l
/[?12l[?25h[\o140-\o144]
[?25l[1;23r[23;1H
[1;24r[23;1Htesdt text test text o140-o144[24;1H[K[23;4H[?12l[?25h[?25lt text test text o140-o14[23;31H[K[23;4H[?12l[?25h[?25l
/[?12l[?25h[\o417]
[?25l[1;23r[23;1H
[1;24r[23;1Htest7 text test text o41 7[24;1H[K[23;5H[?12l[?25h[?25l text test text o41 7[23;27H[K[23;5H[?12l[?25h[?25l
/[?12l[?25h\%x42
[?25l[1;23r[23;1H
[1;24r[23;1Htest text tBest text \%x42[24;1H[K[23;12H[?12l[?25h[?25lest text \%x42[23;27H[K[23;12H[?12l[?25h[?25l
/[?12l[?25h\%o103
[?25l[1;23r[23;1H
[1;24r[23;1Htest text teCst text \%o103[24;1H[K[23;13H[?12l[?25h[?25lst text \%o103[23;28H[K[23;13H[?12l[?25h[?25l
/[?12l[?25h[\x00]
[?25l[1;23r[23;1H
[1;24r[23;1Htest text [34m^@[mtest text [\x00][24;1H[K[23;11H[?12l[?25h[?25ltest text [\x00][23;28H[K[23;11H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest te[34m^@[mxt t[34m^D[mest t[34m^P[mext [\x00-\x10][23;11H[?12l[?25h[?25l
:[?12l[?25hs/[\x00-\x10]//g
[?25l3 substitutions on 1 line[23;8Hxt test text [\x00-\x10][23;33H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest \xyztext test text [\x-z][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/[\x-z]\+//
[?25l[23;6Htext test text [\x-z][23;28H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest text tev\uyst text [\u-z][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/[\u-z]\{2,}//
[?25l[23;13Hst text [\u-z][23;28H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)\+//
[?25l[23;4H xx [23;10H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a*\)\+//
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a*\)*//
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)\{2,3}/A/
[?25l[23;4HAaa xx[23;10H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)\{-2,3}/A/
[?25l[23;4HAaaa x[23;11H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaa12aa xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)*\(12\)\@>/A/
[?25l[23;4HAaa xx[23;10H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx foobar xbar xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(foo\)\@<!bar/A/
[?25l[23;12HA xx[23;16H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx an file xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(an\_s\+\)\@<=file/A/
[?25l[23;7HA xx[23;12H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hx= 9;[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/XX/
[?25l[23;1HXX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hhh= 77;[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/
[?25l[23;1HYY 77;[23;7H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/aaa/xyz/
[?25l[23;2Hxyz
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Hxyz[24;1H[K[23;2H[?12l[?25h[?25l
:[?12l[?25hs/~/bcd/
[?25l[23;2Hbcd
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Hbcdbcdbcd[24;1H[K[23;2H[?12l[?25h[?25l
:[?12l[?25hs/~\+/BB/
[?25l[23;2HBB[23;4H[K[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?start?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 32L, 586C written[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test26.in" 44 lines, 750 characters[1;1HTest 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[34m^V^[[m
: if i == 9
: break
: endif
: if i == 5
: continue
: else
: let j = 9
: while j > 0
:[8Cif has("ebcdic")[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for :execute, :while and :if[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 39 lines, 696 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: let j = 9
: while j > 0
:[8Cif has("ebcdic")
:[10Cexecute "normal" j . "a" . j . "\x27"
:[8Celse
:[10Cexecute "normal" j . "a" . j . "\x1b"
:[8Cendif
:[8Clet 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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet i = 0
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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^[34m^[
[m
[?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:[8C[?12l[?25h: if has("ebcdic")
[?25l:[10C[?12l[?25h: execute "normal" j . "a" . j . "\x27"
[?25l:[10C[?12l[?25h: else
[?25l:[10C[?12l[?25h: execute "normal" j . "a" . j . "\x1b"
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: let j = j - 1
[?25l:[8C[?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
[27m[23m[m[H[2J[?25l[1;1H: 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[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h't,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 10 lines, 159 characters written[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test28.in" 23 lines, 364 characters[1;1HTest for sourcing a file with CTRL-V's at the end of the line
STARTTEST
:/firstline/+1,/lastline/-1w! Xtestfile
:so Xtestfile
Gmm__1[34m^[^[[m__2[34m^[[m__3[34m^[^[[m__4[34m^[[m__5[34m^[[m:'m,$s/[34m^@[m/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[34m^V[m
map __2 asd[34m^V^V[m
map __3 asd[34m^V^V[m
map __4 asd[34m^V^V^V[m
map __5 asd[34m^V^V^V[m
lastline[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for sourcing a file with CTRL-V's at the end of the line[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 114 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/firstline/+1,/lastline/-1w! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;13H[New File] 10 lines, 148 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso Xtestfile
[?25l[10;1H[?12l[?25h[23;1H[11C[?25l[1;23r[23;1H
[1;24r[22;1Hsd
map __2 asd[34m^[[m[24;1H[K[23;12H[?12l[?25h[?25l[2Csecond[?12l[?25hd [?25lsd[34m^[[?12l[?25h^[[m [13C[?25l[23;24Hsd[34m^@[mmap __5 asd[34m^@[?12l[?25h[?25l[m[2Cfifth[?12l[?25h[?25l
:[?12l[?25h'm,$s/[34m^@[m/0/g
[?25l[23;26H0map __5 asd0fifth[23;44H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h'm,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 2 lines, 45 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test29.in" 230 lines, 4261 characters[1;1HTest 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+=j[14;1Hj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j joinspaces
j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptionss[16;1H+=j
j05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j nojoinspaces compatible
j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj4Jy3l$pjd/STARTTEST/-2
ENDTEST
firstline
asdfasdf.
asdf[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for joining lines and marks in them[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 11 lines, 478 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nojoinspaces
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpoptions-=j
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hfirstline/
[?25l[24;11H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H/[?12l[?25h^STARTTEST/-1
[?25l[12C+-1
37 fewer lines[24;15H[K[22;1HSTARTTEST
/^{/+1[22;1H[?12l[?25h[?25l[24;4Hmore lines[24;14H[K[22;1Hasdfasdf.
asdf[23;5H[K[22;1H[?12l[?25h[?25l[10Casdf
asdfasdf.[22;10H[?12l[?25h[23;10H[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[24;1H[K[23;11H[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[14C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[8C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[15C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hzx cvn.[?12l[?25h
zx cv[?25l[1;23r[1;1H[3M[1;24r[21;1Has dfg?
hjkl iop!
ert[22;6H[?12l[?25h
hjkl i[20;7H[?25l. as dfg? hjkl iop! ert
zx cvn.
as dfg?[22;8H[K[23;1Hhjkl iop![20;26H[?12l[?25h er[?25lt er[?12l[?25h
zx cv[26C[?25lrn[?12l[?25h[20;23H[10C[?25lnop[?12l[?25h[?25l[24;1H:[?12l[?25hset cpoptions+=j
[?25l[20;35H[?12l[?25h[21;7H
zx cv[23;6H
hjkl i[21;7H[?25l. as dfg? hjkl iop! ert[22;1H[K[23;1HSTARTTEST[21;26H[?12l[?25h er[?25lt er[?12l[?25h
zx cv[26C[?25lrn[?12l[?25h[21;23H[10C[?25lnop[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpoptions-=j joinspaces
[?25l[21;35H[?12l[?25h
[?25l
37 more lines[24;14H[K[23;1Hasdfasdf.
[?12l[?25h[?25l[11Casdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[24;1H[K[23;10H[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[14C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[8C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[15C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hzx cvn.[?12l[?25h
zx cv[?25l[1;23r[1;1H[2M[1;24r[22;1Has dfg?
hjkl iop![?12l[?25h
hjkl i[21;7H[?25l. as dfg? hjkl iop! ert
zx cvn.
as dfg?[23;8H[K[21;28H[?12l[?25h er[?25lt e[?12l[?25h
zx cv[29C[?25len[?12l[?25h[21;25H[11C[?25lnop[?12l[?25h[?25l
:[?12l[?25hset cpoptions+=j
[?25l[21;38H[?12l[?25h[22;7H
zx cv[?25l[1;23r[23;1H
[1;24r[23;1Hhjkl iop![24;1H[K[23;6H[?12l[?25h
hjkl i[21;7H[?25l. as dfg? hjkl iop! ert[22;1H[K[23;1HSTARTTEST[21;27H[?12l[?25h er[?25lt er[?12l[?25h
zx cv[27C[?25lrn[?12l[?25h[21;24H[10C[?25lnop[?12l[?25h[?25l
:[?12l[?25hset cpoptions-=j nojoinspaces compatible
[?25l[21;36H[?12l[?25h
[?25l
37 more lines[24;14H[K[23;1Hasdfasdf.
[?12l[?25h[?25l[11Casdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[24;1H[K[23;10H[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[14C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[8C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[15C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hzx cvn.[?12l[?25h[?25l. as dfg? hjkl iop! ert[23;8H[?12l[?25h[22C[?25lt a[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hzx cvn.[?12l[?25h[?25l
/[?12l[?25hSTARTTEST/-2
[?25l[11C+-2
4 fewer lines[24;14H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H12 lines, 147 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[12M[1;24r[12;1H:set comments=s1:/*,mb:*,ex:*/,://
:set nojoinspaces fo=j
:set backspace=eol,start
:.,+3join
j4J
:.,+2join
j3J
:.,+2join
j3J
:.,+2join
jj3J
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset comments=s1:/*,mb:*,ex:*/,://
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nojoinspaces fo=j
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset backspace=eol,start
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,+3join
[?25l[23;1H/* Make sure the previous comment leader is not removed. */
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l/* Make sure the previous comment leader is not removed. */
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+2join
[?25l[23;1H// Should the next comment leader be left alone? Yes.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l// Should the next comment leader be left alone? Yes.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+2join
[?25l[23;1H/* Here the comment leader should be left intact. */ // And so should this one.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l/* Here the comment leader should be left intact. */ // And so should this one.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+2join
[?25l[23;1Hif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haction();[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25lif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haction();
[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:" Test with backspace set to the non-compatible setting
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H17 lines, 347 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:inoremap <c-u> <left><c-u>
Avim3[34m^U^[[m
:iunmap <c-u>
Avim4[34m^U^U^[[m
:" Test with backspace set to the compatible setting
:set backspace= visualbell
A vim5[34m^[[mA[34m^U^U^[[m
A vim6[34m^[[mAzwei[34m^G[mu[34m^U^[[m
:inoremap <c-u> <left><c-u>
A vim7[34m^U^U^[[m
: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test with backspace set to the non-compatible setting
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^\d\+ this
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp bs=2
[?25l[14;1H[?12l[?25h[?25l[26C[?12l[?25h[15;27Hd [?25lvim2[?12l[?25h[?25l[15;28H[K[15;27H[?12l[?25h[16;24H[?25l[24;1H[K[24;1H:[?12l[?25hset cpo-=<
[?25l[16;24H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <c-u> <left><c-u>
[?25l[16;24H[?12l[?25h[?25ld3[?12l[?25h[17;24H[?25l[24;1H[K[24;1H:[?12l[?25hiunmap <c-u>
[?25l[17;24H[?12l[?25h[?25l[17;1H[K[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h" Test with backspace set to the compatible setting
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset backspace= visualbell
[?25l[18;1H[?12l[?25h[?25l[28Cvim5[?12l[?25h[?5h[?5l[?5h[?5l[19;27H[?25ld vim6[?12l[?25h6 [?25lzwei[?12l[?25h[?25l[19;33H[K[19;32H[?12l[?25h[20;32H[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <c-u> <left><c-u>
[?25l[20;32H[?12l[?25h[?5h[?5l[?5h[?5l[?25l[15Cvim7[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hset compatible novisualbell
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H21 lines, 356 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj3J
:.,+2join
j3J
:.,+2join
jj3J
j:.,+2join
jj3J
j:.,+5join
j6J
oSome code![34m^M[m// Make sure backspacing does not remove this comment leader.[34m^[[m0i[34m^HH[11;1H^[[m
ENDTEST
{
/*
* Make sure the previous comment leader is not removed.
*/
/*
* Make sure the previous comment leader is not removed.
*/[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments=sO:*\ -,mO:*\ \ ,exO:*/
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments+=s1:/*,mb:*,ex:*/,://
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments+=s1:>#,mb:#,ex:#<,:<
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpoptions-=j joinspaces fo=j
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset backspace=eol,start
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,+3join
[?25l[15;23r[15;1H[3M[1;24r[15;1H/* Make sure the previous comment leader is not removed. */[21;1H/* List:
* - item1
* foo bar baz[24;1H[K[15;1H[?12l[?25h
[?25l[16;23r[16;1H[3M[1;24r[16;1H/* Make sure the previous comment leader is not removed. */[21;2H* foo bar baz
* - item2
* foo bar baz[16;1H[?12l[?25h
[?25l[24;1H:[?12l[?25h.,+8join
[?25l[17;1H/* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz */[18;1H[K[19;1H/* List:[19;9H[K[20;4H- item1[20;11H[K[22;4H foo bar baz
* - item2[23;11H[K[17;1H[?12l[?25h
[?25l/* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz */[19;1H[K[20;1H// Should the next comment leader be left alone?
// Yes.[21;8H[K[22;2H[K[23;1H// Should the next comment leader be left alone?[18;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h.,+2join
[?25l[19;23r[19;1H[2M[1;24r[19;4HShould the next comment leader be left alone? Yes.
// Yes.[24;1H[K[19;1H[?12l[?25h
[?25l// Should the next comment leader be left alone? Yes.[21;1H[K[22;2H* Here the comment leader should be left intact. */
// And so should this one.[20;1H[?12l[?25h
[?25l
:[?12l[?25h.,+2join
[?25l[21;1H/* Here the comment leader should be left intact. */ // And so should this one.[22;1H[K[23;2H* Here the comment leader should be left intact. */[21;1H[?12l[?25h
[?25l/* Here the comment leader should be left intact. */ // And so should this one.[23;1H[K[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h.,+2join
[?25l[23;1Hif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haction();[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25lif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haction();
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+2join
[?25l[23;1Hint i = 7 /* foo *// 3 // comment
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H;[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25lint i = 7 /* foo *// 3 // comment
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H;
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+5join
[?25l[23;1H># Note that the last character of the ending comment leader (left angle bracket[23;1H[1m[34m@ [1;23r[m[1;1H[3M[1;24r[20;1H># Note that the last character of the ending comment leader (left angle brackett[21;1H) is a comment leader itself. Make sure that this comment leader is not removed [22;1Hfrom the next line #< < On this line a new comment is opened which spans 2 liness[23;1H. This comment should retain its comment leader.[24;1H[K[20;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l># Note that the last character of the ending comment leader (left angle bracket[23;1H[1m[34m@ [1;23r[m[1;1H[3M[1;24r[20;1H># Note that the last character of the ending comment leader (left angle brackett[21;1H) is a comment leader itself. Make sure that this comment leader is not removed [22;1Hfrom the next line #< < On this line a new comment is opened which spans 2 liness[23;1H. This comment should retain its comment leader.[20;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HSome code!
// Make sure backspacing does not remove this comment leader.[?12l[?25h
[?25l[22;11H// Make sure backspacing does not remove this comment leader.
}[23;2H[K[22;10H[?12l[?25h
[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 61 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[23;19H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:?firstline?+1,$w! test.out[24;1H[K[23;19H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l74 fewer lines[24;15H[K[1;1H// Should the next comment leader be left alone? Yes.[1;56H[K[2;1H/* 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();[5;14H[K[6;1Hif (condition) // Remove the next comment leader! OK, I will.
action();[7;14H[K[8;1Hint i = 7 /* foo *// 3 // comment
;[9;4H[K[10;1Hint i = 7 /* foo *// 3 // comment[10;34H[K[11;1H ;[11;3H[K[12;1H># Note that the last character of the ending comment leader (left angle brackett[13;1H) is a comment leader itself. Make sure that this comment leader is not removed [14;1Hfrom the next line #< < On this line a new comment is opened which spans 2 liness[15;1H. This comment should retain its comment leader.[15;49H[K[16;1H># Note that the last character of the ending comment leader (left angle brackett[17;1H) is a comment leader itself. Make sure that this comment leader is not removed [18;1Hfrom the next line #< < On this line a new comment is opened which spans 2 liness[19;1H. This comment should retain its comment leader.
Some code!// Make sure backspacing does not remove this comment leader.
}[22;2H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?firstline?+1,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 97 lines, 3018 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test31.in" 95 lines, 1832 characters[1;1HTest for commands that close windows and/or buffers:
:quit
:close
:hide
:only
:sall
:all
:ball
:buf
:edit
STARTTEST
:so small.vim
GA 1[34m^[[m:$w! Xtest1
$r2:$w! Xtest2
$r3:$w! Xtest3
:n! Xtest1 Xtest2
A 1[34m^[[m: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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for commands that close windows and/or buffers:[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[12;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 80 lines, 1697 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:" 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[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h
[?25l[9C1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! Xtest1
[?25l"Xtest1" [24;10H[K[24;10H[New File] 1 line, 11 characters written[23;10H[?12l[?25h[?25l2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! Xtest2
[?25l"Xtest2" [24;10H[K[24;10H[New File] 1 line, 11 characters written[23;10H[?12l[?25h[?25l3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! Xtest3
[?25l"Xtest3" [24;10H[K[24;10H[New File] 1 line, 11 characters written[23;10H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hn! Xtest1 Xtest2
[?25l"Xtest1" [24;10H[K[24;10H1 line, 11 characters[1;1Htesttext 1[1;11H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[11C1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for working :n when hidden set; write "testtext 2"
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hn
[?25l"Xtest2" 1 line, 11 characters[1;10H2[1;12H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 11 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for failing :rew when hidden not set; write "testtext 2 2"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[11C2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hrew
[?25l[1m[37m[41mE37: No write since last change (add ! to override)[1;12H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for working :rew when hidden set; write "testtext 1 1"
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hrew
[?25l"Xtest1" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)[1;10H1 1
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for :all keeping a buffer when it's modified; write "testtext 1 1 1"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[13C1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp
[?25l[12;1H[1m[7mXtest1 [+] [m[13;1Htesttext 1 1 1[13;15H[K[23;1H[7mXtest1 [+] [1;14H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hn Xtest2 Xtest3
[?25l"Xtest2" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)[1;10H2 2[1;14H[K[12;6H[1m[7m2 [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hall
[?25l"Xtest3" 1 line, 11 characters[27m[23m[m[H[2J[1;1Htesttext 1 1 1
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7mXtest1 [+] [m[9;1Htesttext 2 2
[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[1m[7mXtest2 [+] [m[16;1Htesttext 3
[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mXtest3 [9;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h1wincmd w
[?25l[8;1H[1m[7mXtest1 [+] [m[15;1H[7mXtest2 [+][m[1m[7m [m[7m [1;14H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 15 characters appended[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test abandoning changed buffer, should be unloaded even when 'hidden' set
[?25l[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" write "testtext 2 2" twice
[?25l[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[1;14H[?12l[?25h[?25l1 1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[27m[23m[m[H[2J[1;1Htesttext 2 2
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXtest2 [+] [m[13;1Htesttext 3
[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mXtest3 [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hunhide
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":hide" hides anyway when 'hidden' not set; write "testtext 3"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[13C2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhide
[?25l[1;10H3[1;12H[K[12;1H[1m[34m~ [13;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":edit" failing in modified buffer when 'hidden' not set
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" write "testtext 3 3"
[?25l[1;1H[?12l[?25h[?25l[11C3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtest1
[?25l[1m[37m[41mE37: No write since last change (add ! to override)[1;12H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":edit" working in modified buffer when 'hidden' set; write "testtext 1
[23;80H"[24;1H[?25l[1;1H[L[1;1Htesttext 3 3[24;1H[K[1;12H[?12l[?25h[?25l[24;1H:[?12l[?25hset hidden
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtest1
[?25l"Xtest1" 1 line, 11 characters[1;10H1[1;12H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":close" not hiding when 'hidden' not set in modified buffer;
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" write "testtext 3 3 3"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xtest3
[?25l"Xtest3" [Modified] line 1 of 1 --100%-- col 1 (file 2 of 2)[1;10H3 3[12;1H[1m[7mXtest3 [+] [m[13;1Htesttext 1[13;11H[K[23;1H[7mXtest1 [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[13C3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1m[37m[41mE37: No write since last change (add ! to override)[1;14H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 15 characters appended[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":close!" does hide when 'hidden' not set in modified buffer;
[?25l[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" write "testtext 1"
[?25l[1;14H[?12l[?25h[?25l3 3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose!
[?25l[1;10H1[1;12H[K[12;1H[1m[34m~ [13;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":all!" hides changed buffer; write "testtext 2 2 2"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xtest4
[?25l"Xtest4" [New File][1;1H[K[12;1H[1m[7mXtest4 [m[13;1Htesttext 1[13;11H[K[23;1H[7mXtest1 [1;1H[?12l[?25h[?25l[m 4[12;8H[1m[7m[+][1;2H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?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)
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[1;1H[2L[1;1Htesttext 2 2 2
[1m[34m~ [m[11;1H[1m[7mXtest2 [+] [m[12;1Htesttext 3 3 3 3[12;17H[K[13;1H[1m[34m~ [m[23;6H[7m3 [+][m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 15 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":q!" and hidden buffer.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbw! Xtest1 Xtest2 Xtest3 Xtest4
[?25l"test31.in"[24;13H[K[24;13H95 lines, 1832 characters
4 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsp Xtest1
[?25l"Xtest1" [24;10H[K[24;10H1 line, 11 characters[1;1H[2L[1;1Htesttext 1
[1m[34m~ [11;1H~ [m[12;1H[1m[7mXtest1 [m[13;1H:w >>test.out[13;14H[K[14;1H:q![14;4H[K[15;1H:w >>test.out[15;14H[K[16;1H:q![16;4H[K[17;1H:call append(line('$'), "Oh, Not finished yet.")[17;49H[K[18;1H:w >>test.out[18;14H[K[19;1H:qa![19;5H[K[20;1HENDTEST[20;8H[K[21;1H[K[22;1Htesttext[22;9H[K[23;1H[7mtest31.in [m[24;1H[K[24;1H"Xtest1" 1 line, 11 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd w
[?25l[12;1H[7mXtest1[m[1m[7m [m[7m [m[23;1H[1m[7mtest31.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbw!
[?25l[12;1H[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset modified
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbot sp Xtest2
[?25l"Xtest2" [24;10H[K[24;10H1 line, 11 characters[11;1H[7mXtest1 [+] [m[12;1Htesttext 2[12;11H[K[23;1H[1m[7mXtest2 [12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset modified
[?25l[23;8H[1m[7m[+][12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbot sp Xtest3
[?25l"Xtest3" [24;10H[K[24;10H1 line, 11 characters[27m[23m[m[H[2J[1;1Htesttext 1
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7mXtest1 [+] [m[9;1Htesttext 2
[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7mXtest2 [+] [m[16;1Htesttext 3
[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7mXtest3 [16;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hset modified
[?25l[23;8H[1m[7m[+][16;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd t
[?25l[8;1H[1m[7mXtest1 [+] [m[23;1H[7mXtest3 [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhide
[?25l[27m[23m[m[H[2J[1;1Htesttext 2
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXtest2 [+] [m[13;1Htesttext 3
[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mXtest3 [+] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hq!
[?25l[1;10H3[12;1H[1m[34m~ [13;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[1m[37m[41mE37: No write since last change[m
[1m[37m[41mE162: No write since last change for buffer "Xtest1"[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test33.in" 34 lines, 616 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for 'lisp'[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 63 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset lisp
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^(defun
[?25l[12;1H[?12l[?25h[?25l[24;1H22 lines to indent...
23[7Cindented [24;19H[K[13;1H (format nil "~(~A~).html" base))
(let ((ti (gensym)))
`(with-open-file (*standard-output*
[8C(html-file ,name)
[7C:direction :output
:if-exists :supersede)
(let ((,ti ,title))
[15C(as title ,ti)
[17C(with center[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^(defun/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 23 lines, 544 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test34.in" 87 lines, 1833 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for user functions.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 78 lines, 1621 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[8L[?25l[1;1H: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[24;1H[K[22;1H[?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
[1;1H[6L[?25l[1;1H: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))[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc Expr1()
[?25l
: [?12l[?25h: normal! v
[?25l: [?12l[?25h: return "111"
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc Expr2()
[?25l
: [?12l[?25h: call search('XX', 'b')
[?25l: [?12l[?25h: return "222"
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc ListItem()
[?25l
: [?12l[?25h: let g:counter += 1
[?25l: [?12l[?25h: return g:counter . '. '
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc ListReset()
[?25l
: [?12l[?25h: let g:counter = 0
[?25l: [?12l[?25h: return ''
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc FuncWithRef(a)
[?25l
: [?12l[?25h: unlet g:FuncRef
[?25l: [?12l[?25h: return a:a
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hlet g:FuncRef=function("FuncWithRef")
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet counter = 0
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <expr> ( ListItem()
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <expr> [ ListReset()
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25himap <expr> + Expr1()
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25himap <expr> * Expr2()
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet retval = "nop"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^here
[?25l[23;1H[?12l[?25h[?25lher$[24;1H[K[24;1H=[?12l[?25hTable("xxx", 4, "asdf")
[?25l[24;1H[K[24;1H=[?12l[?25hCompute(45, 0, "retval")
[?25l[24;1H[K[24;1H=[?12l[?25hretval
[?25l[24;1H[K[24;1H=[?12l[?25hCompute(45, 5, "retval")
[?25l[24;1H[K[24;1H=[?12l[?25hretval
[?25l[24;1H[K[24;1H=[?12l[?25hg:FuncRef(333)
[?25l[1m[37m[41mError detected while processing function Expr1:[m
[33mline 1:[m
[1m[37m[41mE523: Not allowed here[m
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[4L[?25l[1;1H: $put =(0&&(function('tr'))(1, 2, 3))
: $put =(1&&(function('tr'))(1, 2, 3))
:catch
: $put ='!!! Unexpected exception:'[5;6H$put =v:exception
:endtry[6;8H[K[7;2H$-9,$w! test.out[7;18H[K[8;2Hdelfunc Table
:delfunc Compute[9;17H[K[10;2Hdelfunc Expr1[10;15H[K[11;2Hdelfunc Expr2
:delfunc ListItem[13;10HListReset
:unlet retval counter
:q![15;4H[K[16;1HENDTEST[16;8H[K[17;1H[K[18;1Hxxx4asdf fail nop ok 9 333
XX111-XX[19;9H[K[20;1H---222---
1. one[21;7H[K[22;1H2. two[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l1. one again[?12l[?25h[?25l
:[?12l[?25hcall append(line('$'), max([1, 2, 3]))
[?25l[23;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall extend(g:, {'max': function('min')})
[?25l[1m[37m[41mE704: Funcref variable name must start with a capital: max[23;12H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), max([1, 2, 3]))
[?25l[23;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[23;80Hi[24;1Hng
[?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
[1;1H[10L[?25l[1;1H: $put =v:exception
:endtry
:$-9,$w! test.out
:delfunc Table
:delfunc Compute
:delfunc Expr1
:delfunc Expr2
:delfunc ListItem
:delfunc ListReset
:unlet retval counter
:q![11;4H[K[12;1HENDTEST[12;8H[K[13;1H[K[14;1Hxxx4asdf fail nop ok 9 333
XX111-XX
---222---
1. one
2. two[18;7H[K[19;1H1. one again
3[20;2H[K[21;1H3[21;2H[K[22;1H0[22;2H[K[23;2H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$-9,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 10 lines, 81 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc Table
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc Compute
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc Expr1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc Expr2
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc ListItem
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc ListReset
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hunlet retval counter
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test36.in" 108 lines, 2025 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest character classes in regexp using regexpengine 0, 1, 2.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 101 lines, 1850 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hp: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
:[?12l[?25hs/\%#=0\D//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\D//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\D//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^0-9]//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^0-9]//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^0-9]//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\O//g
[?25l74 substitutions on 1 line[21;1H01234567[21;9H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=2\O//g
[?25l74 substitutions on 1 line[21;1H01234567[21;9H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
:[?12l[?25hs/\%#=1[^0-7]//g
[?25l74 substitutions on 1 line[22;1H01234567[22;9H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^0-7]//g
[?25l74 substitutions on 1 line[22;1H01234567[22;9H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\X//g
[?25l60 substitutions on 1 line[21;1H0123456789ABCDEFabcdef[21;23H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=2\X//g
[?25l60 substitutions on 1 line[21;1H0123456789ABCDEFabcdef[21;23H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=1[^0-9A-Fa-f]//g
[?25l60 substitutions on 1 line[21;1H0123456789ABCDEFabcdef[21;23H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\W//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\W//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\W//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0\H//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\H//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\H//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^A-Za-z_]//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^A-Za-z_]//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^A-Za-z_]//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0\A//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\A//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\A//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^A-Za-z]//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^A-Za-z]//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^A-Za-z]//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0\L//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\L//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\L//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^a-z]//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^a-z]//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^a-z]//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\U//g
[?25l70 substitutions on 1 line[21;1HABCDEFGHIXYZ[21;14H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=2\U//g
[?25l70 substitutions on 1 line[21;1HABCDEFGHIXYZ[21;14H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
:[?12l[?25hs/\%#=1[^A-Z]//g
[?25l70 substitutions on 1 line[22;1HABCDEFGHIXYZ[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^A-Z]//g
[?25l70 substitutions on 1 line[22;1HABCDEFGHIXYZ[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test37.in" 116 lines, 3262 characters[1;1HTest 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
[34m^W[mt:
:resize 8
/^start of window 1$/
zt:
:set scrollbind
[34m^W[mj:
:resize 7
/^start of window 2$/
zt:
:set scrollbind
:" -- start of tests --[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for 'scrollbind'. <eralston@computer.org> Do not add a line below![24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 72 lines, 1498 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[3;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1HHk[34m^W[mtH[34m^W[mjHyy[34m^W[mbp[34m^W[mtyy[34m^W[mbp:
[34m^W[mt:set noscb
ggL[34m^W[mj:set noscb
ggL:set scb
[34m^W[mt:set scb
[34m^W[mtG[34m^W[mjG[34m^W[mt:syncbind
Hk[34m^W[mjH[34m^W[mtHyy[34m^W[mbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
[34m^W[mtH3k[34m^W[mjH[34m^W[mtHyy[34m^W[mbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
:" ***** done with tests *****
:w! test.out[13C" 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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noscrollbind
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt=ver,jump
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrolloff=2
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nowrap
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noequalalways
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset splitbelow
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST using two windows open to one buffer, one extra empty window
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsplit
[?25l[1;1H[34m^W[mtH3k[4C[34m^W[mtHyy[2Cbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
:" ***** done with tests *****
:w! test.out [9C" Write contents of this file
:qa![4;5H[K[5;1HENDTEST[5;9H[K[6;1H[K[7;1H[K[8;1Hstart of window 1[8;18H[K[9;1H. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[10;51H[K[11;1H[7mtest37.in [m[12;1HHk[34m^W[mjH[34m^W[mtHyy[34m^W[mbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
[34m^W[mtH3k[34m^W[mjH[34m^W[mtHyy[34m^W[mbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
:" ***** done with tests *****
:w! test.out [8C" Write contents of this file
:qa![16;5H[K[17;1HENDTEST[17;8H[K[18;1H[K[19;1H[K[20;1Hstart of window 1[20;18H[K[21;9H1[39C1[22;9H2[39C2
[1m[7mtest37.in [18;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnew
[?25l[12;1H:w! test.out " Write contents of this file
:qa![13;5H[K[14;1HENDTEST[14;8H[K[15;1H[K[16;1H[K[17;1H[7mtest37.in [m[19;1H[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [18;1H[?12l[?25h[11;1Htest37.in [m[23;1H[7m[No Name][m[1m[7m [m[7m [6;1H[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hresize 8
[?25l[1;1H:" ***** done with tests *****[1;31H[K[2;2Hw! test.out " Write contents of this file
:qa![3;5H[K[4;1HENDTEST[5;1H[K[7;1Hstart of window 1
. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
[1m[7mtest37.in [m[10;1H:" ***** done with tests *****[10;31H[K[11;1H:w! test.out " Write contents of this file[11;55H[K[12;2Hqa![12;5H[K[13;1HENDTEST[14;1H[K[16;1Hstart of window 1[5;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of window 1$/
[?25l[24;21H[K[24;1H[1;8r[8;1H
[1;24r[8;1H. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[24;1H[K[6;1H[?12l[?25h[?25l[1;8r[1;1H[3M[1;24r[6;1H. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03
. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04
. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollbind
[?25l[3;1H[?12l[?25h[9;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7mtest37.in [14;1H[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hresize 7
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of window 2$/
[?25l[24;21H[K[24;1H[10;1Hend of window 1[10;16H[K[11;1H[K[12;1H[K[13;1Hstart of window 2
. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01
. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03[13;1H[?12l[?25h[?25l[10;16r[16;1H
[1;24r[16;1H. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04[24;1H[K[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollbind
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" -- start of tests --
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST scrolling down
[?25l[12;1H[?12l[?25h
[?25l[1;8r[1;1H[5M[1;24r[4;1H. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07
. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08
. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09
. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10[10;16r[10;1H[5M[1;24r[12;1H. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07
. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08
. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09[24;1H[K[14;1H[?12l[?25h[12;1H[17;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [18;1H[?25l[m
. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[19;50H[K[23;11H[1m[7m[+][19;1H[?12l[?25h[?25l[m0[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [19;1H[?25l[m
. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[20;50H[K[20;1H[?12l[?25h[?25l1[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H
[?25l[1;8r[m[1;1H[6M[1;24r[3;1H. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12
. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13
. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14
. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15
end of window 1[10;16r[10;1H[6M[1;24r[11;1H. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10
. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13
. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15[6;1H[?12l[?25h[3;1H[9;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [20;1H[?25l[m
. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[21;50H[K[21;1H[?12l[?25h[?25l2[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[17;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [21;1H[?25l[m
. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[22;50H[K[22;1H[?12l[?25h[?25l3[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST scrolling up
[?25l[22;1H[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[1;8r[m[1;1H[5L[1;24r[1;1H. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04
. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07
. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08[10;9H4[39C4[11;8H05[38C05[12;8H06[38C06[13;8H07[38C07[14;8H08[38C08[15;8H09[38C09[16;9H0[39C0[24;1H[K[4;1H[?12l[?25h[9;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7mtest37.in [14;1H[12;1H[9;1Htest37.in [m[17;1H[7mtest37.in[m[1m[7m [m[7m [4;1H[3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
[?12l[?25h[?25l4[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[17;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
[?12l[?25h[?25l5[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[?25l[1;8r[m[1;1H[4L[1;24r[1;1Hstart of window 1
. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[10;16r[10;1H[4L[1;24r[10;1Hstart of window 2
. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01
. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
[?12l[?25h[9;1H[1m[7mtest37.in [m[17;1H[7mtest37.in[m[1m[7m [m[7m [6;1H[3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7mtest37.in [13;1H[12;1H[m[17;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
[?12l[?25h[?25l6[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l7[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST horizontal scrolling
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt+=hor
[?25l[22;1H[?12l[?25h[?25l[18;1H[K[19;1H0[7C5 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
1[7C5 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[18;1H[?12l[?25h[?25l[18;22r[18;1H[4M[1;24r[19;1H4 line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
5 line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[24;1H[K[22;1H[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[1;1H 1[1;3H[K[2;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01[2;35H[K[3;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[3;35H[K[4;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[4;35H[K[5;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[5;35H[K[6;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[6;35H[K[7;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06[7;35H[K[8;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07[8;35H[K[10;1H 2[10;3H[K[11;1HUTSRQPONMLKJIHGREDCBA9876543210 01[11;35H[K[12;1HUTSRQPONMLKJIHGREDCBA9876543210 02[12;35H[K[13;1HUTSRQPONMLKJIHGREDCBA9876543210 03[13;35H[K[14;1HUTSRQPONMLKJIHGREDCBA9876543210 04[14;35H[K[15;1HUTSRQPONMLKJIHGREDCBA9876543210 05[15;35H[K[16;1HUTSRQPONMLKJIHGREDCBA9876543210 06[16;35H[K[3;1H[?12l[?25h[9;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[17;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[mUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[?25l[m[1;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09[2;33H10[3;33H11[4;33H12[5;33H13[6;33H14[7;33H15[8;1H[K[10;1HUTSRQPONMLKJIHGREDCBA9876543210 09[11;33H10[12;33H11[13;33H12[14;33H13[15;33H14[16;33H15[13;1H[?12l[?25h[?25l[1;1H. 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[12;1H[?12l[?25h[?25l[?12l[?25h[17;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l[18;22r[22;1H
[1;24r[24;1H[K[22;1H[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;16H
[9;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt-=hor
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" ****** tests using two different buffers *****
[?25l[22;1H[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7mtest37.in [12;1H[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[9;1H[K[10;1H[K[11;1Hstart of window 2[11;18H[K[12;8H0[39C0[13;8H0[39C0[14;8H0[39C0[15;8H0[39C0[16;8H0[39C0[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noscrollbind
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start of window 2$/,/^end of window 2$/y
[?25l18 lines yanked[24;16H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[8;1H[7mtest37.in [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [m[17;1H[1m[7m[No Name] [9;1H[?12l[?25h[8;1Htest37.in [m[17;1H[7m[No Name][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [9;1H[?25l[m[24;1H4 more lines[10;1H[K[11;1H[K[12;1H[K[13;1H[K[17;11H[1m[7m[+][10;1H[?12l[?25h
[?25l[m[24;1H18 more lines[14;1Hstart of window 2[14;18H[K[15;1H. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01[15;50H[K[16;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[16;50H[K[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[14;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[24;1H[K[24;1H/[?12l[?25h^start of window 1$/
[?25l[24;21H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[m[1;1HENDTEST[1;8H[K[2;1H[K[3;1H[K[4;1Hstart of window 1[4;18H[K[5;8H01[38C01[6;8H02[38C02[7;8H03[38C03[4;1H[?12l[?25h[?25l[1;7r[7;1H
[1;24r[7;1H. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollbind
[?25l[3;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [14;1H[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of window 2$/
[?25l[24;21H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[14;1H[?12l[?25h[?25l[9;16r[m[9;1H[3M[1;24r[14;1H. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04
. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[24;1H[K[11;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollbind
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" -- start of tests --
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST scrolling down
[?25l[11;1H[?12l[?25h
[?25l[1;7r[1;1H[5M[1;24r[3;1H. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07
. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08
. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09[9;16r[9;1H[5M[1;24r[12;1H. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07
. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08
. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09
. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10[24;1H[K[14;1H[?12l[?25h[11;1H[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
[?12l[?25h[?25l0[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
[?12l[?25h[?25l1[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H
[?25l[1;7r[m[1;1H[6M[1;24r[2;1H. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10
. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12
. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13
. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14
. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15[9;16r[9;1H[6M[1;24r[11;1H. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13
. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[5;1H[?12l[?25h[3;1H[8;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
[?12l[?25h[?25l2[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[17;1H[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
[?12l[?25h[?25l3[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST scrolling up
[?25l[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[1;9H4[39C4[2;8H05[38C05[3;8H06[38C06[4;8H07[38C07[5;8H08[38C08[6;8H09[38C09[7;9H0[39C0[9;16r[9;1H[5L[1;24r[9;1H. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04
. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07
. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08[24;1H[K[4;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [14;1H[11;1H[8;1Htest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [4;1H[3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
[?12l[?25h[?25l4[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[17;1H[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
[?12l[?25h[?25l5[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[?25l[1;7r[m[1;1H[4L[1;24r[1;1Hstart of window 1
. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[9;16r[9;1H[4L[1;24r[9;1Hstart of window 2
. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01
. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [12;1H[11;1H[m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
[?12l[?25h[?25l6[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l7[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST horizontal scrolling
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt+=hor
[?25l[22;1H[?12l[?25h[?25l[18;1H[K[19;1H0[7C5 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
1[7C5 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[18;1H[?12l[?25h[?25l3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
4[7C6 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
5[7C6 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l[18;22r[22;1H
[1;24r[24;1H[K[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[1;1H 1[1;3H[K[2;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01[2;35H[K[3;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[3;35H[K[4;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[4;35H[K[5;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[5;35H[K[6;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[6;35H[K[7;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06[7;35H[K[9;1H 2[9;3H[K[10;1HUTSRQPONMLKJIHGREDCBA9876543210 01[10;35H[K[11;1HUTSRQPONMLKJIHGREDCBA9876543210 02[11;35H[K[12;1HUTSRQPONMLKJIHGREDCBA9876543210 03[12;35H[K[13;1HUTSRQPONMLKJIHGREDCBA9876543210 04[13;35H[K[14;1HUTSRQPONMLKJIHGREDCBA9876543210 05[14;35H[K[15;1HUTSRQPONMLKJIHGREDCBA9876543210 06[15;35H[K[16;1HUTSRQPONMLKJIHGREDCBA9876543210 07[16;35H[K[3;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[17;1H[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[mUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[?25l[m[1;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09[2;33H10[3;33H11[4;33H12[5;33H13[6;33H14[7;33H15
UTSRQPONMLKJIHGREDCBA9876543210 09[10;33H10[11;33H11[12;33H12[13;33H13[14;33H14[15;33H15[16;33H16[12;1H[?12l[?25h[?25l[1;1H. 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[11;1H[?12l[?25h[?25l[?12l[?25h[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l[18;22r[22;1H
[1;24r[24;1H[K[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;16H
[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt-=hor
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST syncbind
[?25l[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset noscb
[?25l[3;1H[?12l[?25h[?25l[1;1HTest for 'scrollbind'. <eralston@computer.org> Do not add a line below!
STARTTEST[2;11H[K[3;1H:so small.vim[3;14H[K[4;1H:set noscrollbind[4;18H[K[5;1H:set scrollopt=ver,jump[5;24H[K[6;1H:set scrolloff=2[6;17H[K[7;1H:set nowrap[7;12H[K[1;1H[?12l[?25h[5;1H
[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset noscb
[?25l[11;1H[?12l[?25h[?25l[9;1H[K[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1Hstart of window 2[14;18H[K[15;8H01[38C01[16;8H02[38C02[9;1H[?12l[?25h[14;1H[?25l[24;1H[K[24;1H:[?12l[?25hset scb
[?25l[14;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset scb
[?25l[5;1H[?12l[?25h[?25l[1;1H. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13[1;50H[K[2;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
end of window 2[5;16H[K[6;1H[K[7;1Hend of test37.in (please don't delete this line)
end of window 2
[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [7;1H[?12l[?25h[?25l[m[1;1Hzt:[1;4H[K[2;1H:set scrollbind[2;16H[K[3;1H:" -- start of tests --[3;24H[K[4;1H:" TEST scrolling down[4;23H[K[5;1HL5jHyy[34m^W[mbpr0[34m^W[mtHyy[34m^W[mbpr1[34m^W[mtL6jHyy[34m^W[mbpr2[34m^W[mkHyy[34m^W[mbpr3:
:" TEST scrolling up
[34m^W[mtH4k[34m^W[mjH[34m^W[mtHyy[34m^W[mbpr4[34m^W[mkHyy[34m^W[mbpr5[34m^W[mk3k[34m^W[mtH[34m^W[mjHyy[34m^W[mbpr6[34m^W[mtHyy[34m^W[mbpr7:
[7mtest37.in[m[1m[7m [m[7m [9;16r[m[9;1H[2L[1;24r[9;1H. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[17;1H[1m[7m[No Name] [+] [m[24;1H[K[11;1H[?12l[?25h[?25l[24;1H:[?12l[?25hsyncbind
[?25l[11;1H[?12l[?25h[?25l[1;7r[1;1H[L[1;24r[1;1H/^start of window 2$/[9;16r[9;1H[L[1;24r[9;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[24;1H[K[11;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H:set scrollbind
[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset noscb
[?25l[3;1H[?12l[?25h[?25l[1;1HTest for 'scrollbind'. <eralston@computer.org> Do not add a line below!
STARTTEST
:so small.vim[3;14H[K[4;2Hset noscrollbind[4;18H[K[5;2Hset scrollopt=ver,jump
:set scrolloff=2[6;17H[K[7;2Hset nowrap[7;12H[K[1;1H[?12l[?25h[5;1H
[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset noscb
[?25l[11;1H[?12l[?25h[?25l[9;1H[K[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1Hstart of window 2[14;18H[K[15;1H. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01[15;50H[K[16;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[16;50H[K[9;1H[?12l[?25h[14;1H[?25l[24;1H[K[24;1H:[?12l[?25hset scb
[?25l[14;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset scb
[?25l[5;1H[?12l[?25h[?25l[1;1H. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13[1;50H[K[2;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
end of window 2[5;16H[K[6;1H[K[7;1Hend of test37.in (please don't delete this line)
end of window 2
[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [7;1H[?12l[?25h[?25l[m[1;1Hzt:[1;4H[K[2;1H:set scrollbind[2;16H[K[3;1H:" -- start of tests --[3;24H[K[4;1H:" TEST scrolling down[4;23H[K[5;1HL5jHyy[34m^W[mbpr0[34m^W[mtHyy[34m^W[mbpr1[34m^W[mtL6jHyy[34m^W[mbpr2[34m^W[mkHyy[34m^W[mbpr3:
:" TEST scrolling up
[34m^W[mtH4k[34m^W[mjH[34m^W[mtHyy[34m^W[mbpr4[34m^W[mkHyy[34m^W[mbpr5[34m^W[mk3k[34m^W[mtH[34m^W[mjHyy[34m^W[mbpr6[34m^W[mtHyy[34m^W[mbpr7:
[7mtest37.in[m[1m[7m [m[7m [9;16r[m[9;1H[2L[1;24r[9;1H. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[17;1H[1m[7m[No Name] [+] [m[24;1H[K[11;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[?25l[24;1H[m:[?12l[?25hsyncbind
[?25l[5;1H[?12l[?25h[3;1H[?25l[1;7r[1;1H[L[1;24r[1;1H/^start of window 2$/[9;16r[9;1H[L[1;24r[9;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[24;1H[K[3;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [12;1H[11;1H[8;1Htest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H:set scrollbind
[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[1;7r[m[1;1H[4L[1;24r[1;1Hzt:
:set scrollbind
[34m^W[mj:
:resize 7[9;16r[9;1H[4L[1;24r[9;1H. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10
. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13[24;1H[K[4;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [15;1H[11;1H[8;1Htest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [4;1H[3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H[34m^W[mj:
[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" ***** done with tests *****
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 33 lines, 1329 characters written[23;1H[1m[7mtest.out] [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test38.in" 35 lines, 455 characters[2;1HTest Virtual replace mode.
STARTTEST
:so small.vim
:" make sure that backspace works, no matter what termcap is used
:set t_kD=[34m^V[mx7f t_kb=[34m^V[mx08
ggdGa
abcdefghi
jk lmn
opq rst
[34m^D[muvwxyz
[34m^[[mgg:set ai
:set bs=2
gR0[34m^D[m 1
A
BCDEFGHIJ[18;9HKL
MNO
PQR[34m^[[mG:ka
o0[34m^D[m
abcdefghi
jk lmn[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 29 lines, 407 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[11M[1;24r[13;5Hopq rst
[34m^D[muvwxyz
[34m^[[m'ajgR0[34m^D[m 1
A
BCDEFGHIJ[18;9HKL
MNO
PQR[34m^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^[[m:$
iab cdefghi jkl[34m^[[m0gRAB......CDEFGHI.J[34m^[[mo[34m^[[m:
iabcdefghijklmnopqrst[34m^[[m0gRAB IJKLMNO QR[34m^[[m:wq! test.out
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make sure that backspace works, no matter what termcap is used
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset t_kD=^[34m^?[m t_kb=^[34m^H
[?25l[27m[23m[m[H[2J[1;1H[34m^[[mgg:set ai
:set bs=2
gR0[34m^D[m 1
A
BCDEFGHIJ[6;9HKL
MNO
PQR[34m^[[mG:ka
o0[34m^D[m
abcdefghi
jk lmn
opq rst
[34m^D[muvwxyz
[34m^[[m'ajgR0[34m^D[m 1
A
BCDEFGHIJ[17;9HKL
MNO
PQR[34m^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^[[m:$
iab cdefghi jkl[34m^[[m0gRAB......CDEFGHI.J[34m^[[mo[34m^[[m:
iabcdefghijklmnopqrst[34m^[[m0gRAB IJKLMNO QR[34m^[[m:wq! test.out
ENDTEST
[?12l[?25h[?25l[1;23r[1;1H[12L[1;24r[2;1HTest Virtual replace mode.
STARTTEST
:so small.vim
:" make sure that backspace works, no matter what termcap is used
:set t_kD=[34m^V[mx7f t_kb=[34m^V[mx08
ggdGa
abcdefghi
jk lmn
opq rst
[34m^D[muvwxyz[1;1H[?12l[?25h[?25l
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l
abcdefghi[2;10H[K[3;1Hjk lmn[3;12H[K[4;1H opq rst[4;12H[K[5;1Huvwxyz[5;7H[K[6;1H[K[6;1H[?12l[?25h[1;1H[?25l[24;1H[K[24;1H:[?12l[?25hset ai
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bs=2
[?25l[1;1H[?12l[?25h[?25l 1
A[2;3H[K[3;1H BCDEFGHIJ[3;11H[K[4;5H KL[4;11H[K[5;1H MNO[6;9HPQR[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hka
[?25l[6;9H[?12l[?25h[?25l[7;1H[K[8;1Habcdefghi[8;10H[K[9;1Hjk lmn[9;12H[K[10;1H opq rst[10;12H[K[11;1Huvwxyz[11;7H[K[12;1H[K[12;1H[?12l[?25h[6;9H
[?25l 1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$
[?25l[12;1H[?12l[?25h[?25lab cdefghi jkl[?12l[?25h
[?25lAB......CDEFGHI.J[?12l[?25h[?25l[13;1H[K[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25labcdefghijklmnopqrst[?12l[?25h
[?25lAB IJKLMNO QR[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test39.in" 118 lines, 2435 characters[2;1HTest Visual block mode commands
And test "U" in Visual mode, also on German sharp S.
#define BO_ALL 0x0001
#define BO_BS[7C0x0002
#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[34m^V[mjj>wll[34m^V[mjlll>
:" Test shift-left of a block
G$hhhh[34m^V[mkk<
:" Test block-insert
Gkl[34m^V[mkkkIxyz[34m^[[m
:" Test block-replace
Gllll[34m^V[mkkklllrq
:" Test block-change[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 75 lines, 2061 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[10;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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!
ENDTEST[14;17Hline1[15;17Hline2[16;17Hline3
aaaaaa
bbbbbb
cccccc
dddddd
xaaa[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" This only works when 'encoding' is "latin1", don't depend on the environment
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=latin1
[?25l[27m[23m[m[H[2J[1;1H: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!
ENDTEST[14;17Hline1[15;17Hline2[16;17Hline3
aaaaaa
bbbbbb
cccccc
dddddd
xaaa[13;1H[?12l[?25h[?25l[24;1H/[?12l[?25h^abcde
[?25l[1;23r[1;1H[18M[1;24r[6;1Hbbbb
cccc
dddd
yaaa
bbb
A23
4567
B23
4567
C23
4567
abcdefghijklm[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" Test shift-right of a block
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Habcdefghijklm[24;1H[K[23;1H[?12l[?25habcd[?25l[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5H[7me[m
abcdefghijklm
abcd[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5H[7me[m
abcdefghijklm
abcd[?12l[?25h[?25l
3 lines >ed 1 time[21;5H efghijklm
abcd efghijklm
abcd efghijklm[21;8H[?12l[?25h ef[?25l[?12l[?25h[?25l[7mg[22;15H[?12l[?25h[?25l[21;16Hh[22;15Hg[?12l[?25h[?25l[21;17Hi[22;16Hh[?12l[?25h[?25l[21;18Hj[22;17Hi[?12l[?25h[?25l[m[21;15H ghijklm[22;15H ghijklm[21;16H[?12l[?25h[22;16H[?25l[24;1H[K[24;1H:[?12l[?25h" Test shift-left of a block
[?25l[22;16H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Habcdefghijklm[24;1H[K[23;1H[?12l[?25h[12C[?25l[?12l[?25h[?25l[7mi[22;9H[?12l[?25h[?25l [21;9H[?12l[?25h[?25l[m
3 lines <ed 1 time[21;9Hef [22;9Hefghijklm[22;18H[K[23;9Hi[21;9H[?12l[?25h[22;9H[?25l[24;1H[K[24;1H:[?12l[?25h" Test block-insert
[?25l[22;9H[?12l[?25h
[22;1Ha[?25l[?12l[?25h[?25l[7mb[21;2H[?12l[?25h[?25lb[20;2H[?12l[?25h[?25lb[19;2H[?12l[?25h[?25l[m
ab
ab
ab[19;2Hxyzbcdefghijklm
axyzbcd
axyzbcd
axyzbcd[19;2H[?12l[?25h
a[?25l[24;1H[K[24;1H:[?12l[?25h" Test block-replace
[?25l[20;2H[?12l[?25h
abcd[?25l[?12l[?25h[?25l[7me[22;5H[?12l[?25h[?25lb[21;5H[?12l[?25h[?25lb[20;5H[?12l[?25h[?25lb[21;6Hc[22;6Hc[23;6Hf[20;6H[?12l[?25h[?25lc[21;7Hd[22;7Hd[23;7Hg[20;7H[?12l[?25h[?25ld[21;8H [22;8H [23;8Hh[20;8H[?12l[?25h[?25l[mqqqq
axyzqqqq
axyzqqqq
abcdqqqq[20;5H[?12l[?25h
axyz[?25l[24;1H[K[24;1H:[?12l[?25h" Test block-change
[?25l[21;5H[?12l[?25h
[12C[22;17H[?25l[?12l[?25h[?25l[7mj[?12l[?25h[?25li[?12l[?25h[?25l[21;12H [22;11Hghijkl[21;11H[?12l[?25h[?25l[20;13Hef[m[21;15H [22;11Hg[3Ckl[20;12H[?12l[?25h[?25lmno[21;12Hmno[22;12Hmno[20;14H[?12l[?25h[21;14H[?25l[24;1H[K[24;1H:[?12l[?25h$-4,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 5 lines, 108 characters written[21;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test block-insert using cursor keys for movement
[?25l[21;14H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^aaaa/
[?25l[24;7H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[1;23r[m[1;1H[5L[1;24r[1;1Haaaaaa
bbbbbb
cccccc
dddddd[24;1H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexe ":norm! l\<C-V>jjjlllI\<Right>\<Right> \<Esc>"
[?25l[1;4H aaa
bbb bbb
ccc ccc
ddd ddd[1;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^aa/,/^$/w >> test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H5 lines, 37 characters appended[1;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hxaaa$/
[?25l[24;7H[K[24;1H[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! \<C-V>jjjI<>\<Left>p\<Esc>"
[?25l[6;1H<p>xaaa
<p>bbbb
<p>cccc
<p>dddd[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/xaaa$/,/^$/w >> test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H5 lines, 33 characters appended[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block was created with the last <C-v>$
[?25l[6;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^A23$/
[?25l[24;7H[K[24;1H[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! l\<C-V>j$Aab\<Esc>"
[?25l[15;4Hab
4567ab[15;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" [24;13H[K[24;12H3 lines, 14 characters appended[15;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block was created with the middle <C-v>$ (1)
[?25l[15;2H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^B23$/
[?25l[24;7H[K[24;1H[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! l\<C-V>j$hAab\<Esc>"
[?25l[18;5Hab
4567ab[18;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" [24;13H[K[24;12H3 lines, 15 characters appended[18;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block was created with the middle <C-v>$ (2)
[?25l[18;2H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^C23$/
[?25l[24;7H[K[24;1H[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! l\<C-V>j$hhAab\<Esc>"
[?25l[21;4Hab
456ab7[21;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" [24;13H[K[24;12H3 lines, 14 characters appended[21;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block insert when virtualedit=all and utf-8 encoding
[?25l[21;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=all enc=utf-8
[?25l[27m[23m[m[H[2J[1;1Haaa aaa
bbb bbb
ccc ccc
ddd ddd
<p>xaaa
<p>bbbb
<p>cccc
<p>dddd
yaaa
[34m<bf><bf><bf>[m
bbb
A23ab
4567ab
B23 ab
4567ab
C23ab
456ab7[21;2H[?12l[?25h[?25l
:[?12l[?25h/\t\tline
[?25l[31msearch hit BOTTOM, continuing at TOP[1;23r[m[1;1H[4L[1;24r[1;17Hline1[2;17Hline2[3;17Hline3[24;1H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[1;17H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexe ":norm! 07l\<C-V>jjIx\<Esc>"
[?25l[1;8Hx[2;8Hx[3;8Hx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" [24;13H[K[24;12H4 lines, 49 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block append when virtualedit=all
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! 012l\<C-v>jjAx\<Esc>"
[?25l[1;14Hx line1[2;14Hx line2[3;14Hx line3[1;10H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve= enc=latin1
[?25l[27m[23m[m[H[2J[1;8Hx x line1[2;8Hx x line2[3;8Hx x line3
aaa aaa
bbb bbb
ccc ccc
ddd ddd
<p>xaaa
<p>bbbb
<p>cccc
<p>dddd
yaaa
bbb
A23ab
4567ab
B23 ab
456ab7
axyzbcdefghijklm
axyzqqqq mno[8Cghijklm
axyzqqqqef mno[8Cghijklm
axyzqqqqefgmnoklm
abcdqqqqijklm[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
the [?25l
:[?12l[?25h" VU must uppercase a whole line
[?25l[23;4H[?12l[?25h[?25l[1;23r[23;1H
[?25l
:[?12l[?25h" same, when it's the last line in the buffer
[?25l[23;1H[?12l[?25h[?25l[?12l[?25h[?25l[1;23r[23;1H
[?25l
:[?12l[?25h" Uppercase two lines
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1Hblah di[22;8H[K[23;1Hdoh dut[24;1H[K[23;7H[?12l[?25h[?25l
[7mdoh du[mt[7m [?12l[?25h[?25l[22;1Hblah d[mi[7m [23;7Ht[22;7H[?12l[?25h[?25l[m
BLAH DI[22;8H[K[23;1HDOH DUT[23;8H[K[22;7H[?12l[?25h[23;7H[?25l[1;23r[23;1H
:[?12l[?25h" Uppercase part of two lines
[?25l[23;7H[?12l[?25h[?25l
[1m[34m~ [22;1H[?12l[?25h[?25l[m
333the yo[?12l[?25h[?25lut[?12l[?25h[?25l[m[22;10HUTUSSEUU END
333THE YOUTU[22;10H[?12l[?25h[21;7H[22;10H[?25l
:[?12l[?25h" visual replace using Enter or NL
[?25l[22;10H[?12l[?25h
[?25l[1;23r[1;1H[3M[1;24r[21;1H123456789
123456789
123456789[24;1H[K[23;9H[?12l[?25h[21;9H
12345[?25l[?12l[?25h[?25l[7m6[22;6H6[23;6H[?12l[?25h[?25l[m[21;6H[K[22;1H789[22;4H[K[23;6H[K[21;5H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1H789
12345
789
[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1H98765
98765
98765[?12l[?25h[21;5H
98[?25l[?12l[?25h[?25l[7m7
[m98[7m7
[m98[?12l[?25h[?25l[21;3H[34m^M[m65
98[34m^M[m65
98[34m^M[m65[21;3H[?12l[?25h
98
[?25l[1;23r[1;1H[3M[1;24r[21;1H123456789
123456789
123456789[?12l[?25h[21;9H
12345[?25l[?12l[?25h[?25l[7m6[22;6H6[23;6H[?12l[?25h[?25l[m[21;6H[K[22;1H789[22;4H[K[23;6H[K[21;5H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1H789
12345
789
[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1H98765
98765
98765[?12l[?25h[21;5H
98[?25l[?12l[?25h[?25l[7m7
[m98[7m7
[m98[?12l[?25h[?25l[21;3H[34m^@[m65
98[34m^@[m65
98[34m^@[m65[21;3H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test cursor position. When ve=block and Visual block mode and $gj
[?25l[21;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=block
[?25l[21;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! 2k\<C-V>$gj\<Esc>"
[?25l[20;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet cpos=getpos("'>")
[?25l[20;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='col:'.cpos[2].' off:'.cpos[3]
[?25l[1;23r[23;1H
[1;24r[23;1Hcol:4 off:0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" block_insert when replacing spaces in front of the block with tabs
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ts=8 sts=4 sw=4
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h4,7y
[?25l4 lines yanked[23;1H[?12l[?25h[?25l
4 more lines[24;13H[K[1;23r[23;1H
[1;24r[24;1H[K[24;1H4 more lines[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H#define BO_ALL 0x0001[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hexe ":norm! f0\<C-V>2jI\<tab>\<esc>"
[?25l[1;23r[1;1H[2M[1;24r[21;21H 0x0001
#define BO_BS[11C0x0002
#define BO_CRSR[9C0x0004[24;1H[K[21;24H[?12l[?25h[?25l
:[?12l[?25h/^the/,$w >> test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H31 lines, 322 characters appended[21;24H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test40.in" 63 lines, 1536 characters[1;1HTest for "*Cmd" autocommands
STARTTEST
:so small.vim
:/^start/,$w! Xxx[15C" write lines below to Xxx
:au BufReadCmd XtestA 0r Xxx|$del
:e XtestA[23C" will read text of Xxd instead
:au BufWriteCmd XtestA call append(line("$"), "write")
:w[30C" will append a line to the file
:r XtestA[23C" should not read anything
:[31C" now we have:
:[31C" 1 start of Xxx
:[31C" 2[13Ctest40
:[31C" 3 end of Xxx
:[31C" 4 write
:au FileReadCmd XtestB '[r Xxx
:2r XtestB[22C" will read Xxx below line 2 instead
:[31C" 1 start of Xxx
:[31C" 2[13Ctest40
:[31C" 3 start of Xxx
:[31C" 4[13Ctest40
:[31C" 5 end of Xxx
:[31C" 6 end of Xxx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for "*Cmd" autocommands[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 55 lines, 1455 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$w >>test.out[18C" append "end of Xxx" to test.out
:au BufReadCmd XtestE 0r test.out|$del
:sp XtestE[22C" split window with test.out
5Goasdf[34m^[^W^W[m:"
:au BufWriteCmd XtestE w! test.out
:wall[27C" will write other window to test.out
:[31C" 1 start of Xxx
:[31C" 2[13Ctest40
:[31C" 3 start of Xxx
:[31C" 4[13Ctest401
:[31C" 5 end of Xxx
:[31C" 6 asdf
:[31C" 7 end of Xxx
:[31C" 8 write
:[31C" 9[13Ctest401
:[31C" 10 end of Xxx
:[31C" 11 end of Xxx
:qa!
ENDTEST
start of Xxx[22;9Htest40
end of Xxx[19;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start/,$w! Xxx[34m^I^I[m" write lines below to Xxx
[?25l"Xxx" [24;7H[K[24;7H[New File] 3 lines, 32 characters written[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadCmd XtestA 0r Xxx|$del
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he XtestA[34m^I^I^I[m" will read text of Xxd instead
[?25l"Xxx" [24;7H[K[24;7H3 lines, 32 characters[1;1Hstart of Xxx[1;13H[K[2;1H test40[2;16H[K[3;1Hend of Xxx[3;33H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau BufWriteCmd XtestA call append(line("$"), "write")
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw[34m^I^I^I^I[m" will append a line to the file
[?25l[4;1Hwrite[4;6H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hr XtestA[34m^I^I^I[m" should not read anything
[?25l[1m[37m[41mE484: Can't open file XtestA[m[24;29H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" now we have:
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 1[34m^I[mstart of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 2[34m^I^I[mtest40
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 3[34m^I[mend of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 4[34m^I[mwrite
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileReadCmd XtestB '[r Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h2r XtestB[34m^I^I^I[m" will read Xxx below line 2 instead
[?25l"Xxx" [24;7H[K[24;7H3 lines, 32 characters[3;23r[3;1H[3L[1;24r[3;1Hstart of Xxx[4;9Htest40
end of Xxx[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[34m^I^I^I^I[m" 1[34m^I[mstart of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 2[34m^I^I[mtest40
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 3[34m^I[mstart of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 4[34m^I^I[mtest40
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 5[34m^I[mend of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 6[34m^I[mend of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 7[34m^I[mwrite
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileWriteCmd XtestC '[,']copy $
[?25l[3;1H[?12l[?25h[4;9H[?25ltest401[?12l[?25h[5;10H[?25l[24;1H[K[24;1H:[?12l[?25h4,5w XtestC[34m^I^I^I[m" will copy lines 4 and 5 to the end
[?25l[8;1H test401[8;16H[K[9;1Hend of Xxx[9;11H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hr XtestC[34m^I^I^I[m" should not read anything
[?25l[1m[37m[41mE484: Can't open file XtestC[m[24;29H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 1[34m^I[mstart of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 2[34m^I^I[mtest40
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 3[34m^I[mstart of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 4[34m^I^I[mtest401
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 5[34m^I[mend of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 6[34m^I[mend of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 7[34m^I[mwrite
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 8[34m^I^I[mtest401
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 9[34m^I[mend of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FILEAppendCmd XtestD '[,']w! test.out
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XtestD[34m^I^I^I[m" will write all lines to test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 9 lines, 91 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XtestD[34m^I^I^I[m" should not read anything
[?25l[1m[37m[41mE484: Can't open file XtestD[m[24;30H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w >>test.out[34m^I^I^I[m" append "end of Xxx" to test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadCmd XtestE 0r test.out|$del
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp XtestE[34m^I^I^I[m" split window with test.out
[?25l"test.out" [24;12H[K[24;12H10 lines, 102 characters[10;1Hend of Xxx[10;11H[K[12;1H[1m[7mXtestE [m[13;1Hend of Xxx[13;11H[K[14;1Hwrite[14;6H[K[15;1H test401[15;16H[K[16;1Hend of Xxx[16;11H[K[23;1H[7mXtestA [10;1H[?12l[?25h[5;1H[?25l[6;11r[m[6;1H[L[1;24r[6;1Hasdf[12;8H[1m[7m[+][m[24;1H[K[6;4H[?12l[?25h[12;1H[7mXtestE [+][m[1m[7m [m[7m [m[23;1H[1m[7mXtestA [16;1H[?25l[24;1H[m:[?12l[?25h"
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufWriteCmd XtestE w! test.out
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwall[34m^I^I^I^I[m" will write other window to test.out
[?25l"test.out" [24;12H[K[24;12H11 lines, 107 characters written[12;8H[7m [16;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 1[34m^I[mstart of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 2[34m^I^I[mtest40
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 3[34m^I[mstart of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 4[34m^I^I[mtest401
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 5[34m^I[mend of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 6[34m^I[masdf
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 7[34m^I[mend of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 8[34m^I[mwrite
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 9[34m^I^I[mtest401
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 10[34m^I[mend of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 11[34m^I[mend of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test41.in" 24 lines, 421 characters[1;1HTest 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[34m^[[mkY3000p2GY3000p
:w! Xtest
:%d
:e! Xtest
:.w! test.out
3003G:.w >>test.out
6005G:.w >>test.out
:qa!
ENDTEST[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for writing and reading a file of over 100 Kbyte[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 13 lines, 196 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[10;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%d
[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25lThis is the start
This is the leader[2;19H[K[3;1HThis is the middle[3;19H[K[4;1HThis is the trailer[4;20H[K[5;1HThis is the end[5;16H[K[5;15H[?12l[?25h[4;15H[?25l[24;1H3000 more lines[24;16H[K[5;13Htrailer
This is the trailer[6;20H[K[7;1HThis is the trailer[7;20H[K[8;1HThis is the trailer[8;20H[K[9;1HThis is the trailer[9;20H[K[10;1HThis is the trailer[10;20H[K[11;1HThis is the trailer[11;20H[K[12;1HThis is the trailer[12;20H[K[13;1HThis is the trailer[13;20H[K[14;1HThis is the trailer[14;20H[K[15;1HThis is the trailer[15;20H[K[16;1HThis is the trailer[16;20H[K[17;1HThis is the trailer[17;20H[K[18;1HThis is the trailer[18;20H[K[19;1HThis is the trailer[19;20H[K[20;1HThis is the trailer[20;20H[K[21;1HThis is the trailer[21;20H[K[22;1HThis is the trailer[22;20H[K[23;1HThis is the trailer[23;20H[K[5;1H[?12l[?25h[2;1H[?25l[3;13Hleader[4;13Hleader[4;19H[K[5;13Hleader[5;19H[K[6;13Hleader[6;19H[K[7;13Hleader[7;19H[K[8;13Hleader[8;19H[K[9;13Hleader[9;19H[K[10;13Hleader[10;19H[K[11;13Hleader[11;19H[K[12;13Hleader[12;19H[K[13;13Hleader[13;19H[K[14;13Hleader[14;19H[K[15;13Hleader[15;19H[K[16;13Hleader[16;19H[K[17;13Hleader[17;19H[K[18;13Hleader[18;19H[K[19;13Hleader[19;19H[K[20;13Hleader[20;19H[K[21;13Hleader[21;19H[K[22;13Hleader[22;19H[K[23;13Hleader[23;19H[K[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest
[?25l"Xtest" [24;9H[K[24;9H[New File] 6005 lines, 117092 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%d
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest
[?25l"Xtest" [24;9H[K[24;9H6005 lines, 117092 characters[1;1HThis is the start
This is the leader[2;19H[K[3;1HThis is the leader[3;19H[K[4;1HThis is the leader[4;19H[K[5;1HThis is the leader[5;19H[K[6;1HThis is the leader[6;19H[K[7;1HThis is the leader[7;19H[K[8;1HThis is the leader[8;19H[K[9;1HThis is the leader[9;19H[K[10;1HThis is the leader[10;19H[K[11;1HThis is the leader[11;19H[K[12;1HThis is the leader[12;19H[K[13;1HThis is the leader[13;19H[K[14;1HThis is the leader[14;19H[K[15;1HThis is the leader[15;19H[K[16;1HThis is the leader[16;19H[K[17;1HThis is the leader[17;19H[K[18;1HThis is the leader[18;19H[K[19;1HThis is the leader[19;19H[K[20;1HThis is the leader[20;19H[K[21;1HThis is the leader[21;19H[K[22;1HThis is the leader[22;19H[K[23;1HThis is the leader[23;19H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 18 characters written[1;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HThis 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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 19 characters appended[12;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HThis 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" [24;12H[K[24;12H1 line, 16 characters appended[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test42.in" 130 lines, 2368 characters[1;1HTest 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[11C" 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[22C" Ignore change from setting 'ff'
o[34m^V^@^[[m:set noeol
:w
:set ffs& nobinary[14C" Allow default test42.in format
:e #
:set ff=unix[20C" Format for files to write
:/^ucs-4$/+1w! Xtest5
:/^ucs-4le$/+1w! Xtest6[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for writing and reading a file starting with a BOM[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 111 lines, 2116 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:e! test.out
:$r Xtest0x
:$r Xtest1x
:$r Xtest2x
:$r Xtest3x
:$r Xtest4x
:$r Xtest5x
:$r Xtest6x
:set nobin ff&[15C" Write the file in default format
:w! test.out
:qa!
ENDTEST
latin-1
utf-8
utf-8
utf-8-err
utf-8[34m~@[merr
ucs-2
ucs-2le
[?25l[24;1H[m:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1H:e! test.out
:$r Xtest0x
:$r Xtest1x
:$r Xtest2x
:$r Xtest3x
:$r Xtest4x
:$r Xtest5x
:$r Xtest6x
:set nobin ff&[15C" Write the file in default format
:w! test.out
:qa!
ENDTEST
latin-1
[34m<fe><fe>[mlatin-1
utf-8
[34m<feff>[mutf-8
utf-8-err
[34m<feff>[mutf-8[34m<80>[merr
ucs-2
[34m<fe><ff>^@[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[m
ucs-2le
[34m<ff><fe>[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[13;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hset fileencodings=ucs-bom,latin-1
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff=unix ffs=unix " This changes the file for DOS and MAC
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Write the test files
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^latin-1$/+1w! Xtest0
[?25l"Xtest0" [24;10H[K[24;10H[New File] 1 line, 10 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^utf-8$/+1w! Xtest1
[?25l"Xtest1" [24;10H[K[24;10H[New File] 1 line, 9 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^utf-8-err$/+1w! Xtest2
[?25l"Xtest2" [24;10H[K[24;10H[New File] 1 line, 13 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^ucs-2$/+1w! Xtest3
[?25l"Xtest3" [24;10H[K[24;10H[New File] 1 line, 14 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^ucs-2le$/+1w! Xtest4
[?25l"Xtest4" [24;10H[K[24;10H[New File] 1 line, 17 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Need to add a NUL byte after the NL byte
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest4 " Ignore change from setting 'ff'
[?25l"Xtest4" [24;10H[K[24;10H1 line, 17 characters[1;1H[34m<ff><fe>[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[m
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h
[?25l[m[34m^@[m[2;3H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noeol
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xtest4" [Incomplete last line] 2 lines, 18 characters written[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ffs& nobinary " Allow default test42.in format
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he #
[?25l"test42.in" [converted] 130 lines, 2385 characters[1;1H:$r Xtest0x[1;12H[K[2;1H:$r Xtest1x
:$r Xtest2x[3;12H[K[4;1H:$r Xtest3x[4;12H[K[5;1H:$r Xtest4x[5;12H[K[6;1H:$r Xtest5x[6;12H[K[7;1H:$r Xtest6x[7;12H[K[8;1H:set nobin ff& " Write the file in default format[8;64H[K[9;1H:w! test.out[9;13H[K[10;1H:qa![10;5H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1Hlatin-1[13;8H[K[14;1Hþ[14;2Hþ[14;3Hlatin-1[14;10H[K[15;1Hutf-8[15;6H[K[16;1H[16;4Hutf-8[16;9H[K[17;1Hutf-8-err[17;10H[K[18;1H[18;4Hutf-8[34m<80>[merr[18;16H[K[19;1Hucs-2[19;6H[K[20;1Hþ[20;2Hÿ[34m^@[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[m[20;20H[K[21;1Hucs-2le[21;8H[K[22;1Hÿþ[22;3Hu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[m[22;24H[K[23;1Hucs-4[23;6H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff=unix " Format for files to write
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^ucs-4$/+1w! Xtest5
[?25l"Xtest5" [24;10H[K[24;10H[converted][New File] 1 line, 30 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^ucs-4le$/+1w! Xtest6
[?25l"Xtest6" [24;10H[K[24;10H[converted][New File] 1 line, 35 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Need to add three NUL bytes after the NL byte
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest6 " ! for when setting 'ff' is a change
[?25l"Xtest6" [24;10H[K[24;10H1 line, 33 characters[1;1H[34m<ff><fe>^@^@[mu[34m^@^@^@[mc[34m^@^@^@[ms[34m^@^@^@[m-[34m^@^@^@[m4[34m^@^@^@[ml[34m^@^@^@[me[34m^@^@^@[m
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h
~ [?25l[m
[34m^@^@^@[m[2;7H[K[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noeol
[?25l[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xtest6" [Incomplete last line] 2 lines, 36 characters written[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nobin
[?25l[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he #
[?25l"test42.in" [converted] 130 lines, 2385 characters[1;1H:$r Xtest0x[1;12H[K[2;1H:$r Xtest1x
:$r Xtest2x[3;12H[K[4;1H:$r Xtest3x[4;12H[K[5;1H:$r Xtest4x[5;12H[K[6;1H:$r Xtest5x[6;12H[K[7;1H:$r Xtest6x[7;12H[K[8;1H:set nobin ff& " Write the file in default format[8;64H[K[9;1H:w! test.out[9;13H[K[10;1H:qa![10;5H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1Hlatin-1[13;8H[K[14;1Hþ[14;2Hþ[14;3Hlatin-1[14;10H[K[15;1Hutf-8[15;6H[K[16;1H[16;4Hutf-8[16;9H[K[17;1Hutf-8-err[17;10H[K[18;1H[18;4Hutf-8[34m<80>[merr[18;16H[K[19;1Hucs-2[19;6H[K[20;1Hþ[20;2Hÿ[34m^@[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[m[20;20H[K[21;1Hucs-2le[21;8H[K[22;1Hÿþ[22;3Hu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[m[22;24H[K[23;1Hucs-4[23;6H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check that editing a latin-1 file doesn't see a BOM
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest0
[?25l"Xtest0" [24;10H[K[24;10H[converted] 1 line, 12 characters[1;1Hþ[1;2Hþ[1;3Hlatin-1[1;10H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir! >test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=latin1
nobomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hþ[1;2Hþ[1;3Hlatin-1
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 12 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bomb fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest0x
[?25l"Xtest0x" [24;11H[K[24;11H[converted][New File] 1 line, 12 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check utf-8
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest1
[?25l"Xtest1" [24;10H[K[24;10H1 line, 9 characters[1;1Hutf-8[1;6H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=utf-8
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hutf-8
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 6 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=utf-8
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest1x
[?25l"Xtest1x" [24;11H[K[24;11H[New File] 1 line, 9 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check utf-8 with an error (will fall back to latin-1)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest2
[?25l"Xtest2" [24;10H[K[24;10H[converted] 1 line, 17 characters[1;1H[1;4Hutf-8[34m<80>[merr
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=latin1
nobomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1H[1;4Hutf-8[34m<80>[merr
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 17 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=utf-8
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest2x
[?25l"Xtest2x" [24;11H[K[24;11H[New File] 1 line, 17 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check ucs-2
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest3
[?25l"Xtest3" [24;10H[K[24;10H[converted] 1 line, 8 characters[1;1Hucs-2[1;6H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=utf-16
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hucs-2
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 6 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=ucs-2
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest3x
[?25l"Xtest3x" [24;11H[K[24;11H[converted][New File] 1 line, 8 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check ucs-2le
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest4
[?25l"Xtest4" [24;10H[K[24;10H[converted] 1 line, 10 characters[1;6Hle
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=utf-16le
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hucs-2le
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 8 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=ucs-2le
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest4x
[?25l"Xtest4x" [24;11H[K[24;11H[converted][New File] 1 line, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check ucs-4
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest5
[?25l"Xtest5" [24;10H[K[24;10H[converted] 1 line, 10 characters[1;5H4[1;6H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=ucs-4
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hucs-4
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 6 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=ucs-4
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest5x
[?25l"Xtest5x" [24;11H[K[24;11H[converted][New File] 1 line, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check ucs-4le
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest6
[?25l"Xtest6" [24;10H[K[24;10H[converted] 1 line, 12 characters[1;6Hle
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=ucs-4le
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hucs-4le
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 8 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=ucs-4le
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest6x
[?25l"Xtest6x" [24;11H[K[24;11H[converted][New File] 1 line, 12 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check the files written with BOM
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H35 lines, 275 characters[1;1H[K[2;1H[K[3;1H fileencoding=latin1[3;22H[K[4;1Hnobomb[4;7H[K[5;1H[34m<fe><fe>[mlatin-1[5;16H[K[6;1H[K[7;1H[K[8;1H fileencoding=utf-8[8;21H[K[9;1H bomb[9;7H[K[10;1Hutf-8[10;6H[K[11;1H[K[12;1H[K[13;1H fileencoding=latin1[13;22H[K[14;1Hnobomb[14;7H[K[15;1H[34m<feff>[mutf-8[34m<80>[merr[15;19H[K[16;1H[K[17;1H[K[18;1H fileencoding=utf-16[18;22H[K[19;1H bomb[19;7H[K[20;1Hucs-2[20;6H[K[21;1H[K[22;1H[K[23;1H fileencoding=utf-16le[23;24H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r Xtest0x
[?25l"Xtest0x" [24;11H[K[24;11H1 line, 10 characters[1;23r[1;1H[13M[1;24r[11;3Hbomb
ucs-2le[15;3Hfileencoding=ucs-4
bomb
ucs-4[20;3Hfileencoding=ucs-4le
bomb
ucs-4le
[34m<fe><fe>[mlatin-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest1x
[?25l"Xtest1x" [24;11H[K[24;11H1 line, 9 characters[1;23r[23;1H
[1;24r[23;1H[34m<feff>[mutf-8[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest2x
[?25l"Xtest2x" [24;11H[K[24;11H1 line, 17 characters[1;23r[23;1H
[1;24r[23;1H[23;4Hutf-8[34m<80>[merr[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest3x
[?25l"Xtest3x" [24;11H[K[24;11H1 line, 14 characters[1;23r[23;1H
[1;24r[23;1H[34m<fe><ff>^@[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest4x
[?25l"Xtest4x" [24;11H[K[24;11H[Incomplete last line] 2 lines, 18 characters[1;23r[23;1H
[1;24r[23;1H[34m<ff><fe>[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest5x
[?25l"Xtest5x" [24;11H[K[24;11H1 line, 28 characters[1;23r[1;1H[2M[1;24r[22;1H[34m^@
^@^@<fe><ff>^@^@^@[mu[34m^@^@^@[mc[34m^@^@^@[ms[34m^@^@^@[m-[34m^@^@^@[m4[34m^@^@^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest6x
[?25l"Xtest6x" [24;11H[K[24;11H[Incomplete last line] 2 lines, 36 characters[1;23r[23;1H
[1;24r[23;1H[34m<ff><fe>^@^@[mu[34m^@^@^@[mc[34m^@^@^@[ms[34m^@^@^@[m-[34m^@^@^@[m4[34m^@^@^@[ml[34m^@^@^@[me[34m^@^@^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset nobin ff& " Write the file in default format
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H44 lines, 409 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test43.in" 34 lines, 473 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with various magic settings.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 19 lines, 268 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^1
[?25l[1;23r[23;1H
[1;24r[23;1H1 a aa abb abbccc[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25ha*b\{2}c\+/e
[?25l[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\Md\*e\{2}f\+/e
[?25l[1;23r[23;1H
[1;24r[23;1H2 d dd dee deefff[24;1H[K[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l
:[?12l[?25hset nomagic
[?25l[23;16H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hg\*h\{2}i\+/e
[?25l[1;23r[23;1H
[1;24r[23;1H3 g gg ghh ghhiii[24;1H[K[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l
/[?12l[?25h\mj*k\{2}l\+/e
[?25l[1;23r[23;1H
[1;24r[23;1H4 j jj jkk jkklll[24;1H[K[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l
/[?12l[?25h\vm*n{2}o+/e
[?25l[1;23r[23;1H
[1;24r[23;1H5 m mm mnn mnnooo[24;1H[K[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l
/[?12l[?25h\V^aa$
[?25l[1;23r[23;1H
[1;24r[23;1H6 x ^aa$ x[24;1H[K[23;5H[?12l[?25h[?25laa$ x[23;10H[K[23;5H[?12l[?25h[?25l
:[?12l[?25hset magic
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\v(a)(b)\2\1\1/e
[?25l[1;23r[23;1H
[1;24r[23;1H7 (a)(b) abbaa[24;1H[K[23;14H[?12l[?25h[?25l[23;14H[K[23;13H[?12l[?25h[?25l
/[?12l[?25h\V[ab]\(\[xy]\)\1
[?25l[1;23r[23;1H
[1;24r[23;1H8 axx [ab]xx[24;1H[K[23;7H[?12l[?25h[?25lab]x[23;12H[K[23;7H[?12l[?25h[?25l
:[?12l[?25h$
[?25l[1;23r[1;1H[2M[1;24r[22;1H9 foobar[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset undolevels=100
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H?[?12l[?25hbar?
[?25l[24;5H[K[24;1H[22;6H[K[23;1H[1m[34m~ [22;5H[?12l[?25h[?25l[m
1 more line; before #2 0 seconds ago[22;6Hbar[23;1H[K[22;6H[?12l[?25h[?25l
9 foo
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?^1?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 11L, 137C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test44.in" 81 lines, 1492 characters[1;1HTests 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
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with multi-byte encoding and various magic settings.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
: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
: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
:[?12l[?25h" Test \%u, [\u] and friends
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" c
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%u20ac
[?25l[1;23r[23;1H
:[?12l[?25h" d
[?25l[23;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\u4f7f\u5929]\+
[?25l[1;23r[23;1H
:[?12l[?25h" e
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%U12345678
[?25l[1;23r[23;1H
:[?12l[?25h" f
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\U1234abcd\u1234\uabcd]
[?25l[1;23r[23;1H
:[?12l[?25h" g
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%d21879b
[?25l[1;23r[23;1H
:[?12l[?25h" j Test backwards search from a multi-byte char
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hx
[?25l[1;23r[23;1H
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" l Test what 7.3.192 fixed
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^l
[?25l[1;23r[23;1H
2 d dd dee deeff
3 g gg ghh ghhii
4 j jj jkk jkkll
5 m mm mnn mnnoo
g abb
[7mtest.out [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =['dog(a', 'cat(']
[?25l[2;1Hdog(a[2;6H[K[3;1Hcat([3;5H[K[12;11H[1m[7m[+][3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25h(/e+
[?25l/(/e+1
[3;4H[?12l[?25h[?25l[24;1H[31msearch hit BOTTOM, continuing at TOP[2;5H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbd!
[?25l[1;1H1 a aa abb abbcc
2 d dd dee deeff
3 g gg ghh ghhii
e y
[1;24r[24;1H[K[23;1H[?12l[?25h[?25la[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hcat(
[?12l[?25h[?25l
:[?12l[?25hw!
[?25l"test.out" 25L, 271C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test45.in" 90 lines, 1953 characters[1;1HTests 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{{ [34m^[[mr{jj:call append("$", foldlevel("."))
kYpj:call append("$", foldlevel("."))[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for folding. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 73 lines, 1820 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:new
iTest fdm=indent and :move bug END
line2[4;9HTest fdm=indent START[5;9Hline3[6;9Hline4[34m^[[m
: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" We also need the +syntax feature here.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has("syntax")
[?25l
: [?12l[?25h e! test.ok
[?25l: [?12l[?25h w! test.out
[?25l: [?12l[?25h qa!
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:new
iTest fdm=indent and :move bug END
line2[4;9HTest fdm=indent START[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" basic test if a fold can be created, opened, moving to the end and closed
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^1
[?25l[14;1H[?12l[?25h[?25l[34m[47m+-- 3 lines: 1 aa--------------------------------------------------------------[m[15;1H4 dd {{{
5 ee {{{ }}}
6 ff }}}
7 gg[18;6H[K[19;1H8 hh[19;6H[K[20;1H9 ii
a jj
b kk
last[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", "manual " . getline(foldclosed(".")))
[?25l[14;1H[?12l[?25h[?25l1 aa[14;5H[K[15;1H2 bb[15;6H[K[16;1H3 cc[16;6H[K[17;1H4 dd {{{
5 ee {{{ }}}
6 ff }}}
7 gg
8 hh
9 ii
a jj[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldclosed("."))
[?25l[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", getline("."))
[?25l[16;1H[?12l[?25h[?25l[14;1H[34m[47m+-- 3 lines: 1 aa--------------------------------------------------------------[m[15;1H4 dd {{{
5 ee {{{ }}}
6 ff }}}
7 gg[18;6H[K[19;1H8 hh[19;6H[K[20;1H9 ii
a jj
b kk
last[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", getline(foldclosed(".")))
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test folding with markers.
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fdm=marker fdl=1 fdc=3
[?25l[1;1H[34m[47m [m:new
[34m[47m [miTest fdm=indent and :move bug END
[34m[47m [mline2
[34m[47m [m Test fdm=indent START
[34m[47m [m line3
[34m[47m [m line4[34m^[[m
[34m[47m [m:set fdm=indent
[34m[47m [m:1m1
[34m[47m [m2jzc:m0
[34m[47m [m:%w >> test.out
[34m[47m [m:qa!
[34m[47m [mENDTEST
[34m[47m
[m1 aa[14;8H[K[15;1H[34m[47m [m2 bb[15;8H[K[16;1H[34m[47m [m3 cc[16;8H[K[17;1H[34m[47m- [m4 dd {{{
[34m[47m|- [m5 ee {{{ }}}
[34m[47m| [m6 ff }}}
[34m[47m [m7 gg
[34m[47m [m8 hh
[34m[47m [m9 ii
[34m[47m [ma jj[16;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^5
[?25l[18;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", "marker " . foldlevel("."))
[?25l[18;4H[?12l[?25h[17;4H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[17;4H[?12l[?25h[18;4H[?25l[20;23r[20;1H[L[1;24r[19;4H{{ [19;7H[K[20;1H[34m[47m| [m6 ff }}}[24;1H[K[19;6H[?12l[?25h[?25l[19;2H[34m[47m-[m[3C{[20;2H[34m[47m|
|
|
|[19;6H[?12l[?25h[20;6H[21;6H[?25l
[m:[?12l[?25hcall append("$", foldlevel("."))
[?25l[21;6H[?12l[?25h[20;6H[?25l[21;4H6 ff }}}
[34m[47m [m[2C7 gg
[34m[47m [m[2C8 hh[21;4H[?12l[?25h[22;4H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[22;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test folding with indent
[?25l[22;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fdm=indent sw=2
[?25l[4;1H[34m[47m-+[m[1C[34m[47m+--- 3 lines: Test fdm=indent START-----------------------------------------[m[5;4H:set fdm=indent[6;4H:1m1[6;12H[K[7;4H2jzc:m0[7;11H[K[8;5H%w >> test.out[9;4H:qa![9;8H[K[10;4HENDTEST[10;11H[K[11;4H[K[12;4H1 aa[12;8H[K[13;4H2 bb[14;4H3 cc[15;4H4 dd {{{[16;4H5 ee {{{ }}}
[34m[47m [m[2C{{{[17;7H[K[18;1H[34m[47m [m[1C6 ff }}}[18;13H[K[19;1H[34m[47m [m[1C6 ff }}}
[34m[47m [m[1C7 gg[20;9H[K[21;1H[34m[47m [m[2C8 hh[21;9H[K[22;4H9 ii[23;4Ha jj[20;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^2 b
[?25l[31msearch hit BOTTOM, continuing at TOP[13;4H[?12l[?25h[?25l[m
[34m[47m-[m[2C 2 bb[?12l[?25h[14;5H[?25l
[34m[47m|-[m[1C 3 cc[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", "indent " . foldlevel("."))
[?25l[14;7H[?12l[?25h[13;7H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[13;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test syntax folding
[?25l[13;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fdm=syntax fdl=0
[?25l[4;1H[34m[47m [m[1C Test fdm=indent START[4;33H[K[5;4H line3[5;17H[K[6;4H line4[34m^[[m[7;4H:set fdm=indent[8;5H1m1[8;8H[K[9;4H2jzc:m0[10;4H:%w >> test.out[11;4H:qa![12;4HENDTEST
[34m[47m [m[13;6H[K[14;1H[34m[47m [m[1C1 aa[14;8H[K[15;4H 2 bb[15;10H[K[16;4H 3 cc[16;13H[K[17;4H4 dd {{{[18;4H5 ee {{{ }}}[19;4H{{{[19;7H[K[20;4H6 ff }}}[21;4H6 ff }}}[22;4H7 gg[23;4H8 hh[15;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn region Hup start="dd" end="ii" fold contains=Fd1,Fd2,Fd3
[?25l[17;1H[34m[47m+[m[2C[34m[47m+-- 8 lines: 4 dd ----------------------------------------------------------[m[18;4Ha jj[18;9H[K[19;4Hb kk[20;4Hlast[20;9H[K[21;4Hmanual 1 aa[22;4H-1[22;6H[K[23;4H3 cc[15;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn region Fd1 start="ee" end="ff" fold contained
[?25l[15;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn region Fd2 start="gg" end="hh" fold contained
[?25l[15;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn region Fd3 start="commentstart" end="commentend" fold contained
[?25l[15;7H[?12l[?25h[?25l[1;23r[1;1H[7M[1;24r[17;1H[34m[47m [m1 aa
[34m[47m [mmarker 2
[34m[47m [m1
[34m[47m [m1
[34m[47m [m0
[34m[47m [mindent 2
[34m[47m [m1[24;1H[K[23;4H[?12l[?25h[10;4H[?25l[24;1H:[?12l[?25hcall append("$", "folding " . getline("."))
[?25l[10;4H[?12l[?25h[9;4H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", getline("."))
[?25l[9;4H[?12l[?25h[10;4H[?25l
[34m[47m--[m[1C4 dd {{{commentstart [10;26H[K[11;1H[34m[47m||[m[1C5 ee {{{ }}}
[34m[47m||[m[1C{{{[12;7H[K[13;1H[34m[47m||[m[1C6 ff }}}
[34m[47m||[m[1C6 ff }}}[14;13H[K[15;1H[34m[47m||[m[1C7 gg
[34m[47m||[m[1C8 hh
[34m[47m||[m[1C9 ii
[34m[47m||[m[1Ca jj[18;8H[K[19;1H[34m[47m||[m[1Cb kk
[34m[47m||[m[1Clast
[34m[47m||[m[1Cmanual 1 aa
[34m[47m||[m[1C-1[22;6H[K[23;1H[34m[47m||[m[1C3 cc[10;25H[?12l[?25h[?25l[10;2H[34m[47m [m[23Ccommentend[11;2H[34m[47m-[14;2H
|-
|
[10;35H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fdl=1
[?25l[11;2H[34m[47m+[m[1C[34m[47m+--- 3 lines: 5 ee ---------------------------------------------------------[m[12;2H[34m[47m [m[1C6 ff }}}[13;2H[34m[47m+[m[1C[34m[47m+--- 2 lines: 7 gg----------------------------------------------------------[m[14;4H9 ii[14;9H[K[15;1H[34m[47m [m[1Ca jj
[34m[47m [m[1Cb kk
[34m[47m [m[2Clast[18;4Hmanual 1 aa[19;4H-1[19;6H[K[20;4H3 cc[21;4H1 aa[21;8H[K[22;4Hmarker 2[23;4H1[23;6H[K[10;35H[?12l[?25h[13;4H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", getline("."))
[?25l[13;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fdl=0
[?25l[10;1H[34m[47m+[m[2C[34m[47m+-- 8 lines: 4 dd commentstart commentend----------------------------------[m[11;1H[34m[47m [m[1Ca jj[11;8H[K[12;1H[34m[47m [m[2Cb kk[12;9H[K[13;1H[34m[47m [m[1Clast[13;8H[K[14;1H[34m[47m [m[2Cmanual 1 aa[15;4H-1[15;6H[K[16;4H3 cc[17;4H1 aa[18;6Hrker 2[18;13H[K[19;4H1[19;5H[K[20;4H1[20;6H[K[21;4H0[21;6H[K[22;4Hindent[10;4H[?12l[?25h[?25l
[34m[47m-[m[2C4 dd {{{commentstart commentend[10;36H[K[11;1H[34m[47m|-[m[1C5 ee {{{ }}}
[34m[47m||[m[1C{{{[12;7H[K[13;1H[34m[47m||[m[1C6 ff }}}
[34m[47m|[m[2C6 ff }}}[14;13H[K[15;1H[34m[47m|-[m[1C7 gg
[34m[47m||[m[1C8 hh
[34m[47m|[m[2C9 ii[18;4Ha jj[18;8H[K[19;4Hb kk[20;4Hlast[21;4Hmanual 1 aa[22;4H-1[22;6H[K[23;4H3 cc[15;7H[?12l[?25h[27m[23m[m[H[2J[?25l[1;1H[34m[47m [m:1m1
[34m[47m [m2jzc:m0
[34m[47m [m:%w >> test.out
[34m[47m [m:qa!
[34m[47m [mENDTEST
[34m[47m
[m1 aa
[34m[47m [m 2 bb
[34m[47m [m 3 cc
[34m[47m- [m4 dd {{{commentstart commentend
[34m[47m|- [m5 ee {{{ }}}
[34m[47m|| [m{{{
[34m[47m|| [m6 ff }}}
[34m[47m| [m6 ff }}}
[34m[47m|- [m7 gg
[34m[47m|| [m8 hh
[34m[47m| [m9 ii
[34m[47m [ma jj
[34m[47m [mb kk
[34m[47m [mlast
[34m[47m [mmanual 1 aa
[34m[47m [m-1
[34m[47m [m3 cc[15;7H[?12l[?25h[16;4H[?25l[24;1H:[?12l[?25hcall append("$", getline("."))
[?25l[16;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test expression folding
[?25l[16;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[12L[?25l[1;1H[34m[47m [m:1m1
[34m[47m [m2jzc:m0
[34m[47m [m:%w >> test.out
[34m[47m [m:qa!
[34m[47m [mENDTEST
[34m[47m
[m1 aa
[34m[47m [m 2 bb
[34m[47m [m 3 cc
[34m[47m- [m4 dd {{{commentstart commentend
[34m[47m|- [m5 ee {{{ }}}
[34m[47m|| [m{{{[24;1H[K[16;4H[?12l[?25h[?25l[24;1H:[?12l[?25hset fdm=expr fde=Flvl()
[?25l[8;1H[34m[47m+[m[2C[34m[47m+-- 11 lines: 2 bb-----------------------------------------------------------[m[9;4Hb kk[9;8H[K[10;1H[34m[47m [m[2Clast[10;9H[K[11;1H[34m[47m [m[1Cmanual 1 aa[11;15H[K[12;1H[34m[47m [m[1C-1[12;6H[K[13;1H[34m[47m [m[1C3 cc[13;9H[K[14;1H[34m[47m [m[2C1 aa[14;9H[K[15;1H[34m[47m [m[1Cmarker 2
[34m[47m [m[1C1[16;6H[K[17;1H[34m[47m [m[2C1[17;6H[K[18;4H0[18;6H[K[19;4Hindent 2[20;4H1[20;5H[K[21;1H[34m[47m+[m[2C[34m[47m+-- 4 lines: folding 9 ii---------------------------------------------------[m[22;4H[1m[34m~ [23;4H~ [8;4H[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25hbb$
[?25l[31msearch hit BOTTOM, continuing at TOP[m[8;1H[34m[47m--[m[1C 2 bb[8;10H[K[9;1H[34m[47m||[m[1C 3 cc
[34m[47m||[m[1C4 dd {{{commentstart commentend
[34m[47m||[m[1C5 ee {{{ }}}
[34m[47m||[m[1C{{{
[34m[47m||[m[1C6 ff }}}
[34m[47m||[m[1C6 ff }}}
[34m[47m||[m[1C7 gg[15;8H[K[16;1H[34m[47m|[m[2C8 hh
[34m[47m|+[m[1C[34m[47m+--- 2 lines: 9 ii----------------------------------------------------------[m[18;4Hb kk[19;4Hlast[19;8H[K[20;4Hmanual 1 aa
[34m[47m [m[2C-1[21;6H[K[22;4H3 cc[22;8H[K[23;4H1 aa[23;8H[K[8;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", "expr " . foldlevel("."))
[?25l[8;8H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hhh$
[?25l[16;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[16;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hii$
[?25l[17;2H[34m[47m-[m[1C9 ii[17;8H[K[18;1H[34m[47m||[m[1Ca jj[19;4Hb kk[20;4Hlast[20;8H[K[21;4Hmanual 1 aa[22;4H-1[22;6H[K[23;4H3 cc[17;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[17;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hkk$
[?25l[19;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[19;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^last/+1,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 18 lines, 96 characters written[19;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfun Flvl
[?25l[19;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;4H[K[8;1H[34m[47m
[m[2;4H[1m[34m~ [3;4H~ [4;4H~ [5;4H~ [6;4H~ [7;4H~ [8;4H~ [9;4H~ [10;4H~ [11;4H~ [m[12;1H[1m[7m[No Name] [m[13;4H5 ee {{{ }}}[14;4H{{{[14;7H[K[15;4H6 ff }}}[16;2H[34m[47m|[m[1C6 ff }}}[17;2H[34m[47m|[m[1C7 gg[18;2H[34m[47m [m[1C8 hh
[34m[47m|-[m[1C9 ii
[34m[47m||[m[1Ca jj[21;4Hb kk[21;8H[K[22;4Hlast
[7mtest45.in [+] [1;4H[?12l[?25h[?25l[mTest fdm=indent and :move bug END[2;4Hline2[2;9H[K[3;4H Test fdm=indent START[3;33H[K[4;4H line3[4;17H[K[5;4H line4[5;17H[K[12;11H[1m[7m[+][5;16H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fdm=indent
[?25l[3;1H[34m[47m+[m[2C[34m[47m+-- 3 lines: Test fdm=indent START------------------------------------------[m[4;4H[1m[34m~ [5;4H~ [3;4H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h1m1
[?25l[1;4H[?12l[?25h[3;4H[?25l[24;1H[K[24;1H:[?12l[?25hm0
[?25l3 lines moved[1;1H[34m[47m+[m[2C[34m[47m+-- 3 lines: Test fdm=indent START------------------------------------------[m[2;4HTest fdm=indent and :move bug END
[34m[47m [m[2Cline2[3;9H[K[1;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%w >> test.out
[?25l"test.out" [24;12H[K[24;12H5 lines, 77 characters appended[12;1H[1m[7mtest.out [+]] [1;4H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test48.in" 83 lines, 1658 characters[1;1HThis 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[34m^N^[[m
:"
:" Using "C" then then <CR> moves the last remaining character to the next
:" line. (Mary Ellen Foster)
j^/are
C[34m^M[mare belong to vim[34m^[[m
:"
:" When past the end of a line that ends in a single character "b" skips
:" that word.
^$15lbC7[34m^[[m
:"
:" Make sure 'i' works[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HThis is a test of 'virtualedit'.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 61 lines, 1442 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:set display=
:"
:" Test for ^Y/^E due to bad w_virtcol value, reported by
:" Roy <royl@netropolis.net>.
^O[34m^[[m3li[34m^E^[[m4li[34m^E^[[m4li[34m^E[m <-- should show the name of a noted text editor[34m^[[m
^o[34m^[[m4li[34m^Y^[[m4li[34m^Y^[[m4li[34m^Y[m <-- and its version number[34m^[[m-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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noswf
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=all
[?25l[13;1H[?12l[?25h[12;1H[?25l[24;1H65 fewer lines[1;23r[1;1H[12M[1;24r[12;1Hthis is a test
"r"
"r"
a[34m^V[mb[34m^M[msd
abcv6efi.him0kl
[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[24;1H65 fewer lines[1;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Insert "keyword keyw", ESC, C CTRL-N, shows "keyword ykeyword".
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Repeating CTRL-N fixes it. (Mary Ellen Foster)
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hw
[?25l[2;12H[?12l[?25h[?25l$[24;1H[32mScanning tags.[m
The only match[2;16H[24;1H[K[2;12Hword[?12l[?25h[3;15H[?25l[24;1H:[?12l[?25h"
[?25l[3;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Using "C" then then <CR> moves the last remaining character to the next
[?25l[3;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" line. (Mary Ellen Foster)
[?25l[3;15H[?12l[?25h[4;15H
[?25l[24;1H[K[24;1H/[?12l[?25hare
[?25l[31msearch hit BOTTOM, continuing at TOP[3;15H[?12l[?25h[?25l[m[15C$[3;15H[K[4;1Hare belong to vim
1 2 3 4 5 6
'i
'C
'a
'A
'D'[10;4H[K[13;1Hthis is a test
"r"
a[34m^V[mb[34m^M[msd[16;9H[K[17;1Habcv6efi.him0kl[19;1H[K[4;17H[?12l[?25h[5;17H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[5;17H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When past the end of a line that ends in a single character "b" skips
[?25l[5;17H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" that word.
[?25l[5;17H[?12l[?25h
[10C[15C[5;11H[?25l$7[?12l[?25h[6;11H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[6;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'i' works
[?25l[6;11H[?12l[?25h
'i' [?25l<-- should be 3 ' '[?12l[?25h[7;25H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[7;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'C' works
[?25l[7;25H[?12l[?25h
'C' [?25l$<-- should be 3 ' '[?12l[?25h[8;25H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[8;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'a' works
[?25l[8;25H[?12l[?25h
'a' [?25l <-- should be 4 ' '[?12l[?25h[9;26H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'A' works
[?25l[9;26H[?12l[?25h
'A' [?25l<-- should be 0 ' '[?12l[?25h[10;22H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[10;22H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'D' works
[?25l[10;22H[?12l[?25h
'D' [?25l<-- 'D' should be intact[?12l[?25h[11;30H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[11;30H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for yank bug reported by Mark Waggoner.
[?25l[11;30H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=block
[?25l[11;14H[?12l[?25h
[8C[?25l[?12l[?25h[?25l[7ma[12;9Ha[13;9Ha[14;9H[?12l[?25h[?25l[m[11;9Ha[12;9Ha[13;9Ha[24;1Hblock of 4 lines yanked[11;9H[?12l[?25h[19;1H[?25l[24;1H3 more lines[24;13H[K[19;1Ha
a[20;2H[K[21;1Ha[21;2H[K[22;1H [22;2H[K[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test "r" beyond the end of the line
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=all
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^"r"
[?25l[31msearch hit BOTTOM, continuing at TOP[14;1H[?12l[?25h[m"r" [?25lx[?12l[?25h[?25lx<-- should be 'x'[?12l[?25h[15;25H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[15;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test "r" on a tab
[?25l[15;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Note that for this test, 'ts' must be 8 (the default).
[?25l[15;25H[?12l[?25h
"r" [?25lx[?12l[?25h[?25lx <-- should be ' x '[?12l[?25h[16;29H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[16;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test to make sure 'x' can delete control characters
[?25l[16;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset display=uhex
[?25l[16;2H[34m<16>[mb[34m<0d>[msd[20C[?12l[?25h
[?25l[34m<16>[mb[34m<0d>[msd[16;12H[K[16;1H[?12l[?25h[?25lb[34m<0d>[msd[16;8H[K[16;1H[?12l[?25h[?25l[34m<0d>[msd[16;7H[K[16;1H[?12l[?25h[?25lsd[16;3H[K[16;1H[?12l[?25h[?25ld[16;2H[K[16;1H[?12l[?25h[?25l[16;1H[K[16;1H[?12l[?25h[?25l[This line should contain only the text between the brackets.][?12l[?25h[17;62H[?25l[24;1H[K[24;1H:[?12l[?25hset display=
[?25l[17;62H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[17;62H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for ^Y/^E due to bad w_virtcol value, reported by
[?25l[17;62H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Roy <royl@netropolis.net>.
[?25l[17;62H[?12l[?25h
[?25l[17;23r[17;1H[L[1;24r[24;1H[K[17;1H[?12l[?25h [?25lv[?12l[?25hv [?25li[?12l[?25hi [?25lm <-- should show the name of a noted text editor[?12l[?25h[18;62H
[?25l[19;23r[19;1H[L[1;24r[19;1H[?12l[?25h [?25l6[?12l[?25h6 [?25l.[?12l[?25h. [?25l0 <-- and its version number[?12l[?25h[18;1H[?25l[18;23r[23;1H
[1;24r[18;5H[?12l[?25h
[?25l[24;1H:[?12l[?25h"
[?25l[19;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for yanking and pasting using the small delete register
[?25l[19;5H[?12l[?25h[1;1H[?25l[24;1H[K[24;1H/[?12l[?25h^foo
[?25l[31msearch hit BOTTOM, continuing at TOP[1;1H[?12l[?25h[?25l[m, bar[1;6H[K[1;1H[?12l[?25h, [?25l[?12l[?25h[?25l[7mba[?12l[?25h[?25l[?12l[?25h[?25l[mfoo[?12l[?25h
keyw[?25l[24;1H[K[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test51.in" 36 lines, 809 characters[1;1HTests 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=#000[11;1Hff00 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for ":highlight". vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 31 lines, 747 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[13M[1;24r[11;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" basic test if ":highlight" doesn't crash
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhighlight
[?25l
SpecialKey [34mxxx[m [34mterm=[mbold [34mctermfg=[m4 [34mguifg=[mBlue
EndOfBuffer [1m[34mxxx[m [34mlinks to[m NonText
NonText[8C[1m[34mxxx[m [34mterm=[mbold [34mcterm=[mbold [34mctermfg=[m4 [34mgui=[mbold [34mguifg=[mBlue
Directory [34mxxx[m [34mterm=[mbold [34mctermfg=[m4 [34mguifg=[mBlue
ErrorMsg[7C[1m[37m[41mxxx[m [34mterm=[mstandout [34mcterm=[mbold [34mctermfg=[m7 [34mctermbg=[m1 [34mguifg=[mWhite
[19C[34mguibg=[mRed
IncSearch [7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mgui=[mreverse
Search[9C[30m[43mxxx[m [34mterm=[mreverse [34mctermfg=[m0 [34mctermbg=[m3 [34mguibg=[mYellow
MoreMsg[8C[32mxxx[m [34mterm=[mbold [34mctermfg=[m2 [34mgui=[mbold [34mguifg=[mSeaGreen
ModeMsg[8C[1mxxx[m [34mterm=[mbold [34mcterm=[mbold [34mgui=[mbold
LineNr[9C[33mxxx[m [34mterm=[munderline [34mctermfg=[m3 [34mguifg=[mBrown
CursorLineNr [33mxxx[m [34mterm=[mbold [34mctermfg=[m3 [34mgui=[mbold [34mguifg=[mBrown
Question[7C[32mxxx[m [34mterm=[mstandout [34mctermfg=[m2 [34mgui=[mbold [34mguifg=[mSeaGreen
StatusLine [1m[7mxxx[m [34mterm=[mbold,reverse [34mcterm=[mbold,reverse [34mgui=[mbold,reverse
StatusLineNC [7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mgui=[mreverse
VertSplit [7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mgui=[mreverse
Title[10C[35mxxx[m [34mterm=[mbold [34mctermfg=[m5 [34mgui=[mbold [34mguifg=[mMagenta
Visual[9C[7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mguibg=[mLightGrey
VisualNOS [1m[4mxxx[m [34mterm=[mbold,underline [34mcterm=[mbold,underline [34mgui=[mbold,underline
WarningMsg [31mxxx[m [34mterm=[mstandout [34mctermfg=[m1 [34mguifg=[mRed
WildMenu[7C[30m[43mxxx[m [34mterm=[mstandout [34mctermfg=[m0 [34mctermbg=[m3 [34mguifg=[mBlack [34mguibg=[mYellow
Folded[9C[34m[47mxxx[m [34mterm=[mstandout [34mctermfg=[m4 [34mctermbg=[m7 [34mguifg=[mDarkBlue
[19C[34mguibg=[mLightGrey
FoldColumn [34m[47mxxx[m [34mterm=[mstandout [34mctermfg=[m4 [34mctermbg=[m7 [34mguifg=[mDarkBlue [34mguibg=[mGrey
DiffAdd[8C[44mxxx[m [34mterm=[mbold [34mctermbg=[m4 [34mguibg=[mLightBlue
DiffChange [45mxxx[m [34mterm=[mbold [34mctermbg=[m5 [34mguibg=[mLightMagenta
DiffDelete [1m[34m[46mxxx[m [34mterm=[mbold [34mcterm=[mbold [34mctermfg=[m4 [34mctermbg=[m6 [34mgui=[mbold [34mguifg=[mBlue
[19C[34mguibg=[mLightCyan
DiffText[7C[1m[41mxxx[m [34mterm=[mreverse [34mcterm=[mbold [34mctermbg=[m1 [34mgui=[mbold [34mguibg=[mRed
SignColumn [34m[47mxxx[m [34mterm=[mstandout [34mctermfg=[m4 [34mctermbg=[m7 [34mguifg=[mDarkBlue [34mguibg=[mGrey
Conceal[8C[37m[40mxxx[m [34mctermfg=[m7 [34mctermbg=[m0 [34mguifg=[mLightGrey [34mguibg=[mDarkGrey
SpellBad[7C[41mxxx[m [34mterm=[mreverse [34mctermbg=[m1 [34mgui=[mundercurl [34mguisp=[mRed
SpellCap[7C[44mxxx[m [34mterm=[mreverse [34mctermbg=[m4 [34mgui=[mundercurl [34mguisp=[mBlue
SpellRare [45mxxx[m [34mterm=[mreverse [34mctermbg=[m5 [34mgui=[mundercurl [34mguisp=[mMagenta
SpellLocal [46mxxx[m [34mterm=[munderline [34mctermbg=[m6 [34mgui=[mundercurl [34mguisp=[mDarkCyan
Pmenu[10C[30m[45mxxx[m [34mctermfg=[m0 [34mctermbg=[m5 [34mguibg=[mLightMagenta
PmenuSel[7C[30m[47mxxx[m [34mctermfg=[m0 [34mctermbg=[m7 [34mguibg=[mGrey
PmenuSbar [47mxxx[m [34mctermbg=[m7 [34mguibg=[mGrey
PmenuThumb [40mxxx[m [34mctermbg=[m0 [34mguibg=[mBlack
TabLine[8C[4m[30m[47mxxx[m [34mterm=[munderline [34mcterm=[munderline [34mctermfg=[m0 [34mctermbg=[m7
[19C[34mgui=[munderline [34mguibg=[mLightGrey
TabLineSel [1mxxx[m [34mterm=[mbold [34mcterm=[mbold [34mgui=[mbold
TabLineFill [7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mgui=[mreverse
CursorColumn [47mxxx[m [34mterm=[mreverse [34mctermbg=[m7 [34mguibg=[mGrey90
CursorLine [4mxxx[m [34mterm=[munderline [34mcterm=[munderline [34mguibg=[mGrey90
ColorColumn [41mxxx[m [34mterm=[mreverse [34mctermbg=[m1 [34mguibg=[mLightRed
Cursor[9Cxxx [34mguifg=[mbg [34mguibg=[mfg
lCursor[8Cxxx [34mguifg=[mbg [34mguibg=[mfg
MatchParen [46mxxx[m [34mterm=[mreverse [34mctermbg=[m6 [34mguibg=[mCyan
Normal[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Search
[?25l
Search[9C[30m[43mxxx[m [34mterm=[mreverse [34mctermfg=[m0 [34mctermbg=[m3 [34mguibg=[mYellow
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" test setting colors.
[?25l[27m[23m[m[H[2J[1;1H: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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi NewGroup term=bold cterm=italic ctermfg=DarkBlue ctermbg=Grey gui= guifg=#0
[23;80H0[24;1Hff00 guibg=Cyan
[?25l[23;1H[1m[37m[41mE418: Illegal value: guifg=#00ff00[m[23;35H[K[24;1H[K[24;1H[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group2 term= cterm=
[?25l[1m[37m[41mE418: Illegal value: cterm=[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group3 term=underline cterm=bold
[?25l[1;1H[2L[1;1H:hi NewGroup
:hi Group2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hredir! >test.out
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi NewGroup
[?25l
NewGroup[7C[3m[34m[47mxxx[23m[m [34mterm=[mbold [34mcterm=[mitalic [34mctermfg=[m4 [34mctermbg=[m7
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group2
[?25l
Group2[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group3
[?25l
Group3[9C[1mxxx[m [34mterm=[munderline [34mcterm=[mbold
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi clear NewGroup
[?25l[1;1H[6L[1;1H:hi NewGroup
:hi Group2
:hi Group3
:hi clear NewGroup
:hi NewGroup
:hi Group2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hhi NewGroup
[?25l
NewGroup[7Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group2
[?25l
Group2[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group2 NONE
[?25l[1;1H[4L[1;1H:hi NewGroup
:hi Group2
:hi Group3
:hi clear NewGroup[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hhi Group2
[?25l
Group2[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi clear
[?25l[27m[23m[m[H[2J[1;1H: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
Group3[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Crash term='asdf
[?25l[1m[37m[41mE475: Invalid argument: term='asdf[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[3L[1;1H:hi NewGroup
:hi Group2
:hi Group3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" filter ctermfg and ctermbg, the numbers depend on the terminal
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H20 lines, 289 characters[1;1H[K[2;1H[K[3;1HNewGroup xxx term=bold cterm=italic ctermfg=4 ctermbg=7[4;1H[K[5;1HGroup2 xxx cleared[6;1H[K[7;1HGroup3 xxx term=underline cterm=bold[8;1H[K[9;1H[K[10;1HNewGroup xxx cleared[11;1H[K[12;1HGroup2 xxx cleared[13;1H[K[14;1H[K[15;1HGroup2 xxx cleared[16;1H[K[17;1H[K[18;1HGroup3 xxx cleared[19;1H[K[20;1HE475: Invalid argument: term='asdf
[1m[34m~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h%s/ctermfg=\d*/ctermfg=2/
[?25l[3;51H2
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%s/ctermbg=\d*/ctermbg=3/
[?25l[3;61H3
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" filter out possibly translated error message
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%s/E475: [^:]*:/E475:/
[?25l[20;7Hterm='asdf[20;17H[K[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" fix the fileformat
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff&
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test53.in" 75 lines, 1763 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for string and html text objects. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 47 lines, 1237 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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>-[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start:/
[?25l[24;9H[K[24;1H[14;1H[?12l[?25h[?25l[7Cfo[14;11H[K[14;8H[?12l[?25h[15;8H
[?25l[?12l[?25h[?25l[7m'foo'[?12l[?25h[?25l 'bar'[?12l[?25h[?25l[m
xxxxxxxxxxxx
[?12l[?25h
[14C[?25lblah[16;13H[K[16;9H[?12l[?25h[17;9H
[12C[?25l"[17;12H[K[17;11H[?12l[?25h[18;11H
[9C[?25l[?12l[?25h[?25l'[7m rep[?12l[?25h[?25l[myyyyy[?12l[?25h[19;11H[?25l[24;1H[K[24;1H:[?12l[?25hset quoteescape=+*-
[?25l[19;11H[?12l[?25h[?25l` b`la[19;12H[K[19;6H[?12l[?25h[20;6H[29C[?25l[?12l[?25h[?25l[7m" sdf"[?12l[?25h[?25l[m"[5C[7m [20;27H[?12l[?25h[?25l"[?12l[?25h[?25l[20;16H asdf" sdf [20;15H[?12l[?25h[?25l[20;7Hah" sdf "
[mvoo "[?12l[?25h[?25lzzzzzzzzzzzzzzzzzzzzzzzzzzzz
voo "[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^<begin
[?25l[22;1H[?12l[?25h
[11C[?25l</i>asdf</b>-[23;25H[K[23;12H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-<b>asdX<i>a<i />sdf</i>asdf</b>-[24;1H[K[23;12H[?12l[?25h
[7C[?25l</b>-[23;10H[K[23;5H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-<b>asdf<i>Xasdf</i>asdf</b>-
-<b>[?12l[?25h[7C[?25lasdf</b>-[23;18H[K[23;9H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-<b>asdX<i>as<b />df</i>asdf</b>-[23;9H[?12l[?25h
[7C[?25l
--[23;3H[K[23;2H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-<b>
-[?12l[?25h[?25l<b></b>[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H</begin>[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hput =matchstr(\"abcd\", \".\", 0, 2) " b
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =matchstr(\"abcd\", \"..\", 0, 2) " bc
[?25l[1;23r[23;1H
[1;24r[23;1Hbc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =matchstr(\"abcd\", \".\", 2, 0) " c (zero and negative -> first match)
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =matchstr(\"abcd\", \".\", 0, -1) " a
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match(\"abcd\", \".\", 0, 5) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match(\"abcd\", \".\", 0, -1) " 0
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 0, 1) " 0
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 0, 2) " 1
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 0, 3) " 2
[?25l[1;23r[23;1H
[1;24r[23;1H2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 0, 4) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 1, 1) " 1
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 2, 1) " 2
[?25l[1;23r[23;1H
[1;24r[23;1H2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 3, 1) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 0, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 0, 2) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 1, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 2, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 3, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 4, 1) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 1) " 0
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 2) " 1
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 3) " 2
[?25l[1;23r[23;1H
[1;24r[23;1H2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 4) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 5) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 1, 1) " 1
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 2, 1) " 2
[?25l[1;23r[23;1H
[1;24r[23;1H2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 3, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 4, 1) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^start:/,/^end:/wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test55.in" 586 lines, 12256 characters[1;1HTests 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])
:"[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for List and Dictionary types. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 580 lines, 12170 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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[34m^R[m=a[34m^M^[[m:"
:lang C
:redir => a
:try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
:redir END
o[34m^R[m=a[34m^M^[[m:"
:"
:/^start:/,$wq! test.out
ENDTEST
start:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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:[8C[?12l[?25h: return "a:". a:a
[?25l:[8C[?12l[?25h:endfunc
[?25l:[8C[?12l[?25h:$put =d.func(string(remove(d, 'func')))
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Nasty: deepcopy() dict that refers to itself (fails when noref used
[23;80H)[24;1H
[?25l:[8C[?12l[?25h:let d = {1:1, 2:2}
[?25l:[8C[?12l[?25h:let l = [4, d, 6]
[?25l:[8C[?12l[?25h:let d[3] = l
[?25l:[8C[?12l[?25h:let dc = deepcopy(d)
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: let dc = deepcopy(d, 1)
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:14]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:let l2 = [0, l, l, 3]
[?25l:[8C[?12l[?25h:let l[1] = l2
[?25l:[8C[?12l[?25h:let l3 = deepcopy(l2)
[?25l:[8C[?12l[?25h:$put ='same list: ' . (l3[1] is l3[2])
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Locked variables
[?25l:[8C[?12l[?25h:for depth in range(5)
[?25l:[10C[?12l[?25h: $put ='depth is ' . depth
[?25l:[10C[?12l[?25h: for u in range(3)
[?25l:[12C[?12l[?25h: unlet l
[?25l:[12C[?12l[?25h: let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]
[?25l:[12C[?12l[?25h: exe "lockvar " . depth . " l"
[?25l:[12C[?12l[?25h: if u == 1
[?25l:[14C[?12l[?25h: exe "unlockvar l"
[?25l:[14C[?12l[?25h: elseif u == 2
[?25l:[14C[?12l[?25h: exe "unlockvar " . depth . " l"
[?25l:[14C[?12l[?25h: endif
[?25l:[12C[?12l[?25h: let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").i
[23;80Hs[24;1Hlocked("l[1][1][0]").'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2][
[23;80H'[24;1H6'][7]")
[?25l:[12C[?12l[?25h: $put =ps
[?25l:[12C[?12l[?25h: let ps = ''
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[1][1][0] = 99
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[1][1] = [99]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[1] = [99]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[2]['6'][7] = 99
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[2][6] = {99: 99}
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[2] = {99: 99}
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l = [99]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: $put =ps
[?25l:[12C[?12l[?25h: endfor
[?25l:[10C[?12l[?25h:endfor
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Unletting locked variables
[?25l:[8C[?12l[?25h:$put ='Unletting:'
[?25l:[8C[?12l[?25h:for depth in range(5)
[?25l:[10C[?12l[?25h: $put ='depth is ' . depth
[?25l:[10C[?12l[?25h: for u in range(3)
[?25l:[12C[?12l[?25h: unlet l
[?25l:[12C[?12l[?25h: let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]
[?25l:[12C[?12l[?25h: exe "lockvar " . depth . " l"
[?25l:[12C[?12l[?25h: if u == 1
[?25l:[14C[?12l[?25h: exe "unlockvar l"
[?25l:[14C[?12l[?25h: elseif u == 2
[?25l:[14C[?12l[?25h: exe "unlockvar " . depth . " l"
[?25l:[14C[?12l[?25h: endif
[?25l:[12C[?12l[?25h: let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").i
[23;80Hs[24;1Hlocked("l[1][1][0]").'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2][
[23;80H'[24;1H6'][7]")
[?25l:[12C[?12l[?25h: $put =ps
[?25l:[12C[?12l[?25h: let ps = ''
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[2]['6'][7]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[2][6]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[2]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[1][1][0]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[1][1]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[1]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: $put =ps
[?25l:[12C[?12l[?25h: endfor
[?25l:[10C[?12l[?25h:endfor
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Locked variables and :unlet or list / dict functions
[?25l:[8C[?12l[?25h:$put ='Locks and commands or functions:'
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='No :unlet after lock on dict:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar 1 d
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: unlet d.a
[?25l:[10C[?12l[?25h: $put ='did :unlet'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:16]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put =':unlet after lock on dict item:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar d.a
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: unlet d.a
[?25l:[10C[?12l[?25h: $put ='did :unlet'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:16]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='filter() after lock on dict item:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar d.a
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: call filter(d, 'v:key != "a"')
[?25l:[10C[?12l[?25h: $put ='did filter()'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:16]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='map() after lock on dict:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar 1 d
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: call map(d, 'v:val + 200')
[?25l:[10C[?12l[?25h: $put ='did map()'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:16]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='No extend() after lock on dict item:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar d.a
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: $put =string(extend(d, {'a': 123}))
[?25l:[10C[?12l[?25h: $put ='did extend()'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:14]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='No remove() of write-protected scope-level variable:'
[?25l:[8C[?12l[?25h:fun! Tfunc(this_is_a_loooooooooong_parameter_name)
[?25l:[10C[?12l[?25h: try
[?25l:[12C[?12l[?25h: $put =string(remove(a:, 'this_is_a_loooooooooong_parameter_na
[23;80Hm[24;1He'))
[?25l:[12C[?12l[?25h: $put ='did remove()'
[?25l:[12C[?12l[?25h: catch
[?25l:[12C[?12l[?25h: $put =v:exception[:14]
[?25l:[12C[?12l[?25h: endtry
[?25l:[10C[?12l[?25h:endfun
[?25l:[10C[?12l[?25h:call Tfunc('testval')
[?25l:[10C[?12l[?25h:"
[?25l:[10C[?12l[?25h:$put ='No extend() of write-protected scope-level variable:'
[?25l:[10C[?12l[?25h:fun! Tfunc(this_is_a_loooooooooong_parameter_name)
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: $put =string(extend(a:, {'this_is_a_loooooooooong_parameter
[23;80H_[24;1Hname': 1234}))
[?25l:[14C[?12l[?25h: $put ='did extend()'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: $put =v:exception[:14]
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h:endfun
[?25l:[12C[?12l[?25h:call Tfunc('testval')
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:$put ='No :unlet of variable in locked scope:'
[?25l:[12C[?12l[?25h:let b:testvar = 123
[?25l:[12C[?12l[?25h:lockvar 1 b:
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: unlet b:testvar
[?25l:[14C[?12l[?25h: $put ='b:testvar was :unlet: '. (!exists('b:testvar'))
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put =v:exception[:16]
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:unlockvar 1 b:
[?25l:[12C[?12l[?25h:unlet! b:testvar
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:$put ='No :let += of locked list variable:'
[?25l:[12C[?12l[?25h:let l = ['a', 'b', 3]
[?25l:[12C[?12l[?25h:lockvar 1 l
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let l += ['x']
[?25l:[14C[?12l[?25h: $put ='did :let +='
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put =v:exception[:14]
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:unlet l
[?25l:[12C[?12l[?25h:let l = [1, 2, 3, 4]
[?25l:[12C[?12l[?25h:lockvar! l
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:unlockvar l[1]
[?25l:[12C[?12l[?25h:unlet l[0:1]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:unlet l[1:2]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:unlockvar l[1]
[?25l:[12C[?12l[?25h:let l[0:1] = [0, 1]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:let l[1:2] = [0, 1]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:unlet l
[?25l:[12C[?12l[?25h:" :lockvar/islocked() triggering script autoloading
[?25l:[12C[?12l[?25h:set rtp+=./sautest
[?25l:[12C[?12l[?25h:lockvar g:footest#x
[?25l:[12C[?12l[?25h:unlockvar g:footest#x
[?25l:[12C[?12l[?25h:$put ='locked g:footest#x:'.islocked('g:footest#x')
[?25l:[12C[?12l[?25h:$put ='exists g:footest#x:'.exists('g:footest#x')
[?25l:[12C[?12l[?25h:$put ='g:footest#x: '.g:footest#x
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" a:000 function argument
[?25l:[12C[?12l[?25h:" first the tests that should fail
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000 = [1, 2]
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught a:000'
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000[0] = 9
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught a:000[0]'
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000[2] = [9, 10]
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught a:000[2]'
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000[3] = {9: 10}
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught a:000[3]'
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:" now the tests that should pass
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000[2][1] = 9
[?25l:[14C[?12l[?25h: call extend(a:000[2], [5, 6])
[?25l:[14C[?12l[?25h: let a:000[3][5] = 8
[?25l:[14C[?12l[?25h: let a:000[3]['a'] = 12
[?25l:[14C[?12l[?25h: $put =string(a:000)
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught ' . v:exception
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" reverse(), sort(), uniq()
[?25l:[12C[?12l[?25h:let l = ['-0', 'A11', 2, 2, 'xaaa', 4, 'foo', 'foo6', 'foo', [0,
[23;80H1[24;1H, 2], 'x8', [0, 1, 2], 1.5]
[?25l:[12C[?12l[?25h:$put =string(uniq(copy(l)))
[?25l:[12C[?12l[?25h:$put =string(reverse(l))
[?25l:[12C[?12l[?25h:$put =string(reverse(reverse(l)))
[?25l:[12C[?12l[?25h:$put =string(sort(l))
[?25l:[12C[?12l[?25h:$put =string(reverse(sort(l)))
[?25l:[12C[?12l[?25h:$put =string(sort(reverse(sort(l))))
[?25l:[12C[?12l[?25h:$put =string(uniq(sort(l)))
[?25l:[12C[?12l[?25h:let l=[7, 9, 'one', 18, 12, 22, 'two', 10.0e-16, -1, 'three', 0xf
[23;80Hf[24;1H, 0.22, 'four']
[?25l:[12C[?12l[?25h:$put =string(sort(copy(l), 'n'))
[?25l:[12C[?12l[?25h:let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0, -0, 0.22, 'bar',
[23;80H'[24;1HBAR', 'Bar', 'Foo', 'FOO', 'foo', 'FOOBAR', {}, []]
[?25l:[12C[?12l[?25h:$put =string(sort(copy(l), 1))
[?25l:[12C[?12l[?25h:$put =string(sort(copy(l), 'i'))
[?25l:[12C[?12l[?25h:$put =string(sort(copy(l)))
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" splitting a string to a List
[?25l:[12C[?12l[?25h:$put =string(split(' aa bb '))
[?25l:[12C[?12l[?25h:$put =string(split(' aa bb ', '\W\+', 0))
[?25l:[12C[?12l[?25h:$put =string(split(' aa bb ', '\W\+', 1))
[?25l:[12C[?12l[?25h:$put =string(split(' aa bb ', '\W', 1))
[?25l:[12C[?12l[?25h:$put =string(split(':aa::bb:', ':', 0))
[?25l:[12C[?12l[?25h:$put =string(split(':aa::bb:', ':', 1))
[?25l:[12C[?12l[?25h:$put =string(split('aa,,bb, cc,', ',\s*', 1))
[?25l:[12C[?12l[?25h:$put =string(split('abc', '\zs'))
[?25l:[12C[?12l[?25h:$put =string(split('abc', '\zs', 1))
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" compare recursively linked list and dict
[?25l:[12C[?12l[?25h:let l = [1, 2, 3, 4]
[?25l:[12C[?12l[?25h:let d = {'1': 1, '2': l, '3': 3}
[?25l:[12C[?12l[?25h:let l[1] = d
[?25l:[12C[?12l[?25h:$put =(l == l)
[?25l:[12C[?12l[?25h:$put =(d == d)
[?25l:[12C[?12l[?25h:$put =(l != deepcopy(l))
[?25l:[12C[?12l[?25h:$put =(d != deepcopy(d))
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" compare complex recursively linked list and dict
[?25l:[12C[?12l[?25h:let l = []
[?25l:[12C[?12l[?25h:call add(l, l)
[?25l:[12C[?12l[?25h:let dict4 = {"l": l}
[?25l:[12C[?12l[?25h:call add(dict4.l, dict4)
[?25l:[12C[?12l[?25h:let lcopy = deepcopy(l)
[?25l:[12C[?12l[?25h:let dict4copy = deepcopy(dict4)
[?25l:[12C[?12l[?25h:$put =(l == lcopy)
[?25l:[12C[?12l[?25h:$put =(dict4 == dict4copy)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" Pass the same List to extend()
[?25l:[12C[?12l[?25h:let l = [1, 2, 3, 4, 5]
[?25l:[12C[?12l[?25h:call extend(l, l)
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" Pass the same Dict to extend()
[?25l:[12C[?12l[?25h:let d = { 'a': {'b': 'B'}}
[?25l:[12C[?12l[?25h:call extend(d, d)
[?25l:[12C[?12l[?25h:$put =string(d)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" Pass the same Dict to extend() with "error"
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: call extend(d, d, "error")
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put =v:exception[:15] . v:exception[-1:-1]
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:$put =string(d)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" test for range assign
[?25l:[12C[?12l[?25h:let l = [0]
[?25l:[12C[?12l[?25h:let l[:] = [1, 2]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:endfun
[27m[23m[m[H[2J[?25l[1;1H:$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[34m^R[m=a[34m^M^[[m:"
:lang C
:redir => a
:try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
:redir END
o[34m^R[m=a[34m^M^[[m:"
:"
:/^start:/,$wq! test.out
ENDTEST
start:[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Test(1, 2, [3, 4], {5: 6}) " This may take a while
[?25l[1m[37m[41mError detected while processing function Test:[m[24;47H[K[24;1H
[33mline 76:[m
[1m[37m[41mE684: list index out of range: 1[m
[33mline 91:[m
[1m[37m[41mE684: list index out of range: 2[m
[33mline 271:[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[33mline 441:[m
[1m[37m[41mE741: Value is locked: l[0:1][m
[33mline 443:[m
[1m[37m[41mE741: Value is locked: l[1:2][m
[33mline 446:[m
[1m[37m[41mE741: Value is locked: l[0:1] = [0, 1][m
[33mline 448:[m
[1m[37m[41mE741: Value is locked: l[1:2] = [0, 1][m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[1;1H['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 122[2;1H, 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]
[1m[34m~ [22;1H[?12l[?25h[?25l
[m:[?12l[?25hdelfunc Test
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hunlet dict
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for patch 7.3.637
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet a = 'No error caught'
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htry|foldopen|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H=[?12l[?25ha
[?25l[23;1HVim(foldopen):E490:[23;20H[K[23;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang C
[?25l[23;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir => a
[?25l[23;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htry|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
[?25l[1m[37m[41mError detected while processing :[m[24;34H[K[24;1H
[1m[37m[41mE492: Not an editor command: foobar|catch|let a = matchstr(v:exception,'^[^ ]*'[m
[23;80H[1m[37m[41m)[24;1H|endtry[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[3L[1;1H['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 122[2;1H, 18, 22, 255, 7, 9, [], {}]
['aa', 'bb'][24;1H[K[23;19H[?12l[?25h[?25l
=[?12l[?25ha
[?25l[1;23r[1;1H[5M[1;24r[21;1HError detected while processing :
E492: Not an editor command: foobar|catch|let a = matchstr(v:exception,'^[^ ]*'))[23;1H|endtry[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test56.in" 21 lines, 457 characters[1;1HTest 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>delfunn[21;1Hc <SID>DoNothing<bar>delfunc <SID>DoLast<cr>
end:
[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for script-local function. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 7 lines, 120 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/+1,/^end:/-1w! Xtest.vim
[?25l"Xtest.vim" [24;13H[K[24;13H[New] 7L, 251C written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsource Xtest.vim
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:call <SNR>4_DoNothing()|call <SNR>4_DoLast()|delfunc <SNR>4_DoNothing|delfunc
[23;80H<[24;1HSNR>4_DoLast
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[L[?25l[1;1HTest for script-local function. vim: set ft=vim :[23;1Hnothing line[23;13H[K[24;1H[K[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h$-1,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test57.in" 545 lines, 4110 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :sort command. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 33 lines, 920 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:/^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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^t01:/+1,/^t02/-1sort
[?25l[15;1H[K[16;1H[K[17;1H 123b[18;2H[K[19;4H2
a123
a
ab[22;3H[K[23;1Habc[23;4H[K[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^t02:/+1,/^t03/-1sort n
[?25l[1;23r[1;1H[9M[1;24r[15;1Hb123
b321
b321
b321b
b322b
c123d
c321d
t02: numeric
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t03:/+1,/^t04/-1sort x
[?25l[27m[23m[m[H[2J[1;1Ha123
b123
c123d
123b
a321
b321
c321d
b321
b321b
b322b
t03: hexadecimal
a
ab
abc
123b
a122
a123
a321
b123
b321
b321[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t04:/+1,/^t05/-1sort u
[?25l[1;23r[1;1H[6M[1;24r[18;1Hb321b
b322b
c123d
c321d
t04: alpha, unique[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t05:/+1,/^t06/-1sort!
[?25l[27m[23m[m[H[2J[1;1Ha123
a321
ab
abc
b123
b321
b321b
b322b
c123d
c321d
t05: alpha, reverse
c321d
c123d
b322b
b321b
b321
b321
b123
abc
ab
a321
a123
a122[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t06:/+1,/^t07/-1sort! n
[?25l[1;23r[1;1H[6M[1;24r[18;1Ha
123b
t06: numeric, reverse
b322b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t07:/+1,/^t08/-1sort! u
[?25l[27m[23m[m[H[2J[1;2H123b
c123d
b123
a123
a122
a
ab
abc
t07: unique, reverse
c321d
c123d
b322b
b321b
b321
b123
abc
ab
a321
a123
a122
a[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t08:/+1,/^t09/-1sort o
[?25l[1;23r[1;1H[4M[1;24r[20;2H123b
t08: octal
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t09:/+1,/^t10/-1sort! x
[?25l[27m[23m[m[H[2J[1;1Ha123
b123
c123d
123b
a321
b321
c321d
b321
b321b
b322b
t09: reverse, hexadecimal
c321d
c123d
b322b
b321b
b321
b321
b123
a321
a123
a122
123b
abc[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t10:/+1,/^t11/-1sort/./
[?25l[1;23r[1;1H[6M[1;24r[18;1Hab
a
t10: alpha, skip first character
a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t11:/+1,/^t12/-1sort/../
[?25l[27m[23m[m[H[2J[1;2H123b
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t12:/+1,/^t13/-1sort/../u
[?25l[1;23r[1;1H[6M[1;24r[18;1Hb123
123b
c123d
abc
t12: alpha, unique, skip first 2 characters
ab[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t13:/+1,/^t14/-1sort/./n
[?25l[27m[23m[m[H[2J[1;1Hb321
b321b
c321d
a122
b322b
a123
b123
123b
c123d
abc
t13: numeric, skip first character
abc
ab
a
a122
a123
b123
c123d
123b
a321
b321[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t14:/+1,/^t15/-1sort/./r
[?25l[1;23r[1;1H[6M[1;24r[18;1Hc321d
b321
b321b
b322b
t14: alpha, sort on first character[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t15:/+1,/^t16/-1sort/../r
[?25l[27m[23m[m[H[2J[1;1Ha321
a123
a122
b321
b123
b322b
b321
b321b
c123d
c321d
t15: alpha, sort on first 2 characters
a[15;2H123b
a123
a122
a321
abc
ab
b123
b321
b322b[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t16:/+1,/^t17/-1sort/./rn
[?25l[1;23r[1;1H[6M[1;24r[18;1Hb321
b321b
c123d
c321d
t16: numeric, sort on first character
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t17:/+1,/^t18/-1sort/\d/
[?25l[27m[23m[m[H[2J[1;1Hb321
b123
c123d
123b
c321d
b322b
b321
b321b
t17: alpha, skip past first digit
abc
ab
a
a321
b321
b321
b321b
c321d
a122
b322b[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t18:/+1,/^t19/-1sort/\d/r
[?25l[1;23r[1;1H[6M[1;24r[18;1Ha123
b123
123b
c123d
t18: alpha, sort on first digit
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t19:/+1,/^t20/-1sort/\d/n
[?25l[27m[23m[m[H[2J[1;1Ha122
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t20:/+1,/^t21/-1sort/\d/rn
[?25l[1;23r[1;1H[6M[1;24r[18;1Ha123
b123
c123d
123b
t20: numeric, sort on first digit
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t21:/+1,/^t22/-1sort/\d\d/
[?25l[27m[23m[m[H[2J[1;1Ha122
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t22:/+1,/^t23/-1sort/\d\d/n
[?25l[1;23r[1;1H[6M[1;24r[18;1Ha123
b123
123b
c123d
t22: numeric, skip past first 2 digits
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t23:/+1,/^t24/-1sort/\d\d/x
[?25l[27m[23m[m[H[2J[1;1Hb321
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t24:/+1,/^t25/-1sort/\d\d/r
[?25l[1;23r[1;1H[6M[1;24r[18;1Hc321d
b322b
123b
c123d
t24: alpha, sort on first 2 digits
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t25:/+1,/^t26/-1sort/\d\d/rn
[?25l[27m[23m[m[H[2J[1;1Ha122
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t26:/+1,/^t27/-1sort/\d\d/rx
[?25l[1;23r[1;1H[6M[1;24r[18;1Hc321d
b322b
b321
b321b
t26: hexadecimal, sort on first 2 digits
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t27:/+1,/^t28/-1sort no
[?25l[1m[37m[41mE474: Invalid argument[m[24;23H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^t28:/+1,/^t29/-1sort b
[?25l[27m[23m[m[H[2J[1;1Hb321
b123
c123d
123b
c321d
b322b
b321
b321b
t28: binary
0b000000
0b001000
0b010000
0b100000
0b100010
0b100010
0b100100
0b101000
0b101000
0b101001[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t29:/+1,/^t30/-1sort b
[?25l[1;23r[1;1H[6M[1;24r[18;1H0b101001
0b101010
0b101100
0b111000
t29: binary with leading characters[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t30:/+1,/^t31/-1sort f
[?25l[27m[23m[m[H[2J[1;1Ha0b001000
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[15;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t01:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test60.in" 601 lines, 13116 characters[1;1HTests 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:result[7;9Hecho "OK"
else[9;9Hecho "FAILED: Checking for " . a:str
endif
endfunction
:function! TestExists()
augroup myagroup[14;9Hautocmd! BufEnter[7C*.my echo "myfile edited"[15;9Hautocmd! FuncUndefined UndefFun exec "fu UndefFun()\nendfu"
augroup END
set rtp+=./sautest[19;5Hlet test_cases = [][21;5H" valid autocmd group
let test_cases += [['#myagroup', 1]]
" valid autocmd group with garbage[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for the exists() and has() functions. vim: set ft=vim ts=8 sw=2 :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 596 lines, 13023 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;9Hendif
endfunction[4;5Hcall TestFuncArg("arg1", "arg2")[6;5Hecho ' g:footest#x =' g:footest#x
echo ' footest#F()' footest#F()
echo 'UndefFun()' UndefFun()[10;5Hredir 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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! RunTest(str, result)
[?25l
: [?12l[?25h if exists(a:str) == a:result
[?25l: [?12l[?25h[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "FAILED: Checking for " . a:str
[?25l: [?12l[?25h endif
[?25l: [?12l[?25hendfunction
[1;1H[6L[?25l[1;9Hendif
endfunction[4;5Hcall TestFuncArg("arg1", "arg2")[6;5Hecho ' g:footest#x =' g:footest#x[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hfunction! TestExists()
[?25l
: [?12l[?25h augroup myagroup
[?25l: [?12l[?25h[34m^I[mautocmd! BufEnter *.my echo "myfile edited"
[?25l: [?12l[?25h[34m^I[mautocmd! 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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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
[27m[23m[m[H[2J[?25l[1;9Hendif
endfunction[4;5Hcall TestFuncArg("arg1", "arg2")[6;5Hecho ' g:footest#x =' g:footest#x
echo ' footest#F()' footest#F()
echo 'UndefFun()' UndefFun()[10;5Hredir 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[24;13H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[1;9Hendif
endfunction[4;5Hcall TestFuncArg("arg1", "arg2")[6;5Hecho ' g:footest#x =' g:footest#x
echo ' footest#F()' footest#F()
echo 'UndefFun()' UndefFun()[10;5Hredir 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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc RunTest
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc TestFuncArg
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit! test.out
[?25l"test.out" [24;12H[K[24;12H[Incomplete last line] 206 lines, 1940 characters[1;9H[K[2;1H#myagroup: 1[2;13H[K[3;1HOK
#myagroup+b: 0[4;15H[K[5;1HOK
#myagroup#BufEnter: 1[6;22H[K[7;1HOK[7;5H[K[8;1H#myagroup#BufEnter#*.my: 1[8;27H[K[9;1HOK
#BufEnter: 1[10;13H[K[11;1HOK[11;3H[K[12;1H#BufEnter#*.my: 1[12;18H[K[13;1HOK
#xyzagroup: 0[14;14H[K[15;1HOK[15;3H[K[16;1H#xyzagroup#BufEnter: 0
OK[17;3H[K[18;1H#myagroup#CmdwinEnter: 0
OK
#myagroup#xyzacmd: 0
OK[21;3H[K[22;1H#myagroup#BufEnter#xyzpat: 0
OK[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff=unix
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" 206 lines, 1941 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test64.in" 654 lines, 27565 characters[1;1HTest 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 """"""""""""""""""""""""""""""""
:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
:"[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for regexp patterns without multi-byte support.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 621 lines, 27090 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" tl is a List of Lists with:
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" regexp engine
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" regexp pattern
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" text to test the pattern on
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected match (optional)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected submatch 1 (optional)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected submatch 2 (optional)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" etc.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When there is no match use only the first two items.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tl = []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Previously written tests """"""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'ab', 'aab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'b', 'abcdef', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc*', 'abccccdef', 'bcccc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\{-}', 'abccccdef', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\{-}\(d\)', 'abccccdef', 'bccccd', 'd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc*', 'abbdef', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'c*', 'ccc', 'ccc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc*', 'abdef', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'c*', 'abdef', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\+', 'abccccdef', 'bcccc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\+', 'abdef']) "no match
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"operator \|
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\|ab', 'cabd', 'a']) "alternation is ordered
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'c\?', 'ccb', 'c'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\?', 'abd', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\?', 'abccd', 'bc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{1}', 'ab', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'caad', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'aba'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'abaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'aaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vb{1}', 'abca', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vba{2}', 'abaa', 'baa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vba{3}', 'aabaac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'dabc', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'acb'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){0,2}', 'acb', "", ""])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){0,2}', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1,2}', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1,2}', 'ababc', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2,4}', 'ababcab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2,4}', 'abcababa', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'cdababe', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abacabab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab){2}){2}', 'abababab', 'abababab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab){2}){2}', 'abacabababab', 'abababab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){1}', 'a', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aa', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aaac', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'daaac', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'daaac', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'aaa', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2})+', 'adaac', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2})+', 'aa', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aa', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'aa', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){1}', 'a', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){2}', 'aaaa', 'aaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){2}', 'aaabaaaa', 'aaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+){2}', 'dadaac', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{3}){2}', 'aaaaaaa', 'aaaaaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){2}', 'daaac', 'aaa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){2}', 'daaaac', 'aaaa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){2}', 'daaaaac', 'aaaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){3}', 'daac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){2}', 'dac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+)+', 'daac', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+)+', 'aaa', 'aaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+){1,2}', 'aaa', 'aaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+)(a+)', 'aaa', 'aaa', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{3})+', 'daaaac', 'aaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a|b|c)+', 'aacb', 'aacb', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a|b|c){2}', 'abcb', 'ab', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(abc){2}', 'abcabd', ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(abc){2}', 'abdabcabc','abcabc', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a*', 'cc', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a*)+', 'cc', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)+)+', 'ab', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(((ab)+)+)+', 'ab', 'ab', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(((ab)+)+)+', 'dababc', 'abab', 'abab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{0,2})+', 'cc', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a*)+', '', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((a*)+)+', '', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)*)+', '', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{1,3}', 'aab', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2,3}', 'abaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)+|c*)+', 'abcccaba', 'abcccab', '', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2})|(b{3})', 'bbabbbb', 'bbb', '', 'bbb'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}|b{2}', 'abab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a)+|(c)+', 'bbacbaacbbb', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vab{2,3}c', 'aabbccccccccccccc', 'abbc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vab{2,3}c', 'aabbbccccccccccccc', 'abbbc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vab{2,3}cd{2,3}e', 'aabbbcddee', 'abbbcdde'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va(bc){2}d', 'aabcbfbc' ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'a', ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'aa', 'aa' ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'aaa', 'aaa' ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'bbbabcc', ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*b*|a*c*', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{1}b{1}|a{1}b{1}', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"submatches
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a)', 'ab', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a)(b)', 'ab', 'ab', 'a', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab)(b)(c)', 'abbc', 'abbc', 'ab', 'b', 'c'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((a)(b))', 'ab', 'ab', 'ab', 'a', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a)|(b)', 'ab', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a*)+', 'aaaa', 'aaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x', 'abcdef'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""" Simple tests """""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Search single groups
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'ab', 'aab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'ab', 'baced'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'ab', ' ab ', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Search multi-modifiers
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x*', 'xcd', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x*', 'xxxxxxxxxxxxxxxxsofijiojgf', 'xxxxxxxxxxxxxxxx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" empty match is good
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x*', 'abcdoij', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" no match here
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\+', 'abcdoin'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\+', 'abcdeoijdfxxiuhfij', 'xx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\+', 'xxxxx', 'xxxxx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\+', 'abc x siufhiush xxxxxxxxx', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\=', 'x sdfoij', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\=', 'abc sfoij', '']) " empty match is good
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\=', 'xxxxxxxxx c', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\?', 'x sdfoij', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" empty match is good
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\?', 'abc sfoij', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\?', 'xxxxxxxxxx c', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0,0}', 'abcdfdoij', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" same thing as 'a?'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0,1}', 'asiubid axxxaaa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" same thing as 'a\{0,1}'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{1,0}', 'asiubid axxxaaa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aa siofuh'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aaaaa asfoij afaa', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aaaaaaaa', 'aaaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0}', 'asoiuj', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2}', 'aaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2}', 'iuash fiusahfliusah fiushfilushfi uhsaifuh askfj na
[23;80Hs[24;1Hfvius afg aaaa sfiuhuhiushf', 'aa'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2}', 'abcdefghijklmnopqrestuvwxyz1234567890'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" same thing as 'a*'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0,}', 'oij sdigfusnf', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0,}', 'aaaaa aa', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2,}', 'sdfiougjdsafg'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2,}', 'aaaaasfoij ', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{5,}', 'xxaaaaxxx '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{5,}', 'xxaaaaaxxx ', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{,0}', 'oidfguih iuhi hiu aaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{,5}', 'abcd', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{,5}', 'aaaaaaaaaa', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" leading star as normal char when \{} follows
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '***'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '****', '****'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '*****', '*****'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" same thing as 'a*'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{}', 'bbbcddiuhfcd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{}', 'aaaaioudfh coisf jda', 'aaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0,0}', 'abcdfdoij', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" anti-greedy version of 'a?'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0,1}', 'asiubid axxxaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aa siofuh'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aaaaa asfoij afaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aaaaaaaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0}', 'asoiuj', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2}', 'aaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2}', 'abcdefghijklmnopqrestuvwxyz1234567890'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0,}', 'oij sdigfusnf', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0,}', 'aaaaa aa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2,}', 'sdfiougjdsafg'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2,}', 'aaaaasfoij ', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-,0}', 'oidfguih iuhi hiu aaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-,5}', 'abcd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-,5}', 'aaaaaaaaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" anti-greedy version of 'a*'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-}', 'bbbcddiuhfcd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-}', 'aaaaioudfh coisf jda', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test groups of characters and submatches
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(abc\)*', 'abcabcabc', 'abcabcabc', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(ab\)\+', 'abababaaaaa', 'ababab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(abaaaaa\)*cd', 'cd', 'cd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(test1\)\? \(test2\)\?', 'test1 test3', 'test1 ', 'test1',
[23;80H'[24;1H'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(test1\)\= \(test2\) \(test4443\)\=', ' test2 test4443 yupi
[23;80Hi[24;1Hiiiiiiiii', ' test2 test4443', '', 'test2', 'test4443'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(\(sub1\) hello \(sub 2\)\)', 'asterix sub1 hello sub 2 obe
[23;80Hl[24;1Hix', 'sub1 hello sub 2', 'sub1 hello sub 2', 'sub1', 'sub 2'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(\(\(yyxxzz\)\)\)', 'abcdddsfiusfyyzzxxyyxxzz', 'yyxxzz', '
[23;80Hy[24;1Hyxxzz', 'yyxxzz', 'yyxxzz'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)+|c+)+', 'abcccaba', 'abcccab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)|c*)+', 'abcccaba', 'abcccab', '', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a(c*)+b)+', 'acbababaaa', 'acbabab', 'ab', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a|b*)+', 'aaaa', 'aaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\p*', 'aá [34m^I[m', 'aá '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test greedy-ness and lazy-ness
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2,7}','aaaaaaaaaaaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2,7}x','aaaaaaaaax', 'aaaaaaax'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2,7}','aaaaaaaaaaaaaaaaaaaa', 'aaaaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2,7}x','aaaaaaaaax', 'aaaaaaax'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vx(.{-,8})yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz','ayxa
[23;80H'[24;1H,'xayzxayz'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\vx(.*)yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz', 'ayxayzx
[23;80Ha[24;1Hyzxa',''])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){-2,3}','aaaaaaa','aaaa','aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{-1,3})+', 'aa', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\s\{-}\zs\( x\|x$\)', ' x', ' x', ' x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\s\{-}\zs\(x\| x$\)', ' x', ' x', ' x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\s\{-}\ze\(x\| x$\)', ' x', '', ' x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\(\s\{-}\)\(x\| x$\)', ' x', ' x', '', ' x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test Character classes
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\d\+e\d\d','test 10e23 fd','10e23'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test collections and character range []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v[a]', 'abcd', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a[bcd]', 'abcd', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a[b-d]', 'acbd', 'ac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-d][e-f][x-x]d', 'cexdxx', 'cexd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v[[:alpha:]]+', 'abcdefghijklmnopqrstuvwxyz6','abcdefghijkl
[23;80Hm[24;1Hnopqrstuvwxyz'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '[[:alpha:]\+]', '6x8','x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^abc]\+','abcabcabc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^abc]','defghiasijvoinasoiunbvb','d'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^abc]\+','ddddddda','ddddddd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-d]\+','aaaAAAZIHFNCddd','AAAZIHFNC'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-f]*','iiiiiiii',''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-f]*','abcdefgh','abcdef'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-f]\+','abcdefgh','gh'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-c]\{-3,6}','abcabc','abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^[:alpha:]]\+','abcccadfoij7787ysf287yrnccdu','7787'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[-a]', '-', '-'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-]', '-', '-'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-f]*\c','ABCDEFGH','ABCDEF'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[abc][xyz]\c','-af-AF-BY--','BY'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" filename regexp
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[-./[:alnum:]_~]\+', 'log13.file', 'log13.file'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" special chars
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[\]\^\-\\]\+', '\^\\\-\---^', '\^\\\-\---^'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" collation elem
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[[.a.]]\+', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" middle of regexp
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc[0-9]*ddd', 'siuhabc ii'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc[0-9]*ddd', 'adf abc44482ddd oijs', 'abc44482ddd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_[0-9]\+', 'asfi9888u', '9888'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-9\n]\+', 'asfi9888u', '9888'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_[0-9]\+', "asfi\n9888u", "\n9888"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_f', " \na ", "\n"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_f\+', " \na ", "\na"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-9A-Za-z-_.]\+', " @0_a.A-{ ", "0_a.A-"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Test start/end of line, start/end of file
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^a.', "a_\nb ", "a_"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^a.', "b a \na_"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.a$', " a\n "])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.a$', " a b\n_a", "_a"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%^a.', "a a\na", "a "])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%^a', " a \na "])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.a\%$', " a\n "])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.a\%$', " a\n_a", "_a"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Test recognition of character classes
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-7]\+', 'x0123456789x', '01234567'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^0-7]\+', '0a;X+% 897', 'a;X+% 89'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-9]\+', 'x0123456789x', '0123456789'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^0-9]\+', '0a;X+% 9', 'a;X+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-9a-fA-F]\+', 'x0189abcdefg', '0189abcdef'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^0-9A-Fa-f]\+', '0189g;X+% ab', 'g;X+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z_A-Z0-9]\+', ';+aso_SfOij ', 'aso_SfOij'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-z_A-Z0-9]\+', 'aSo_;+% sfOij', ';+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z_A-Z]\+', '0abyz_ABYZ;', 'abyz_ABYZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-z_A-Z]\+', 'abAB_09;+% yzYZ', '09;+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z]\+', '0abcxyz1', 'abcxyz'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z]\+', 'AabxyzZ', 'abxyz'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-z]\+', 'a;X09+% x', ';X09+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-z]\+', 'abX0;%yz', 'X0;%'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-zA-Z]\+', '0abABxzXZ9', 'abABxzXZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-zA-Z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[A-Z]\+', 'aABXYZz', 'ABXYZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^A-Z]\+', 'ABx0;%YZ', 'x0;%'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z]\+\c', '0abxyzABXYZ;', 'abxyzABXYZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[A-Z]\+\c', '0abABxzXZ9', 'abABxzXZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\c[^a-z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\c[^A-Z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Tests for \z features
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" match ends at \ze
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'xx \ze test', 'xx '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\zeend', 'oij abcend', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaxx', ' aabb ', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaxx', ' aaxx ', 'aaxx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aabb\|aa\zebb', ' aabb ', 'aabb'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaebb', ' aabb ', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" match starts at \zs
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\zsdd', 'ddabcddxyzt', 'dd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aa \zsax', ' ax'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc \zsmatch\ze abc', 'abc abc abc match abc abc', 'match'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a \zsif .*){2}', 'a if then a if last', 'if last', 'a if
[23;80Hl[24;1Hast'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\>\zs.', 'aword. ', '.'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\s\+\ze\[/\|\s\zs\s\+', 'is [a t', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Tests for \@= and \& features
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\@=', 'abc', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\@=cd', 'abcd', 'abcd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\@=', 'ababc', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" will never match, no matter the input text
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abcd\@=e', 'abcd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" will never match
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abcd\@=e', 'any text in here ... '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(abc)@=..', 'xabcd', 'ab', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(.*John\)\@=.*Bob', 'here is John, and here is B'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(John.*\)\@=.*Bob', 'John is Bobs friend', 'John is Bob', '
[23;80HJ[24;1Hohn is Bobs friend'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\<\S\+\())\)\@=', '$((i=i+1))', 'i=i+1', '))'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.*John\&.*Bob', 'here is John, and here is B'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.*John\&.*Bob', 'John is Bobs friend', 'John is Bob'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(test1)@=.*yep', 'this is a test1, yep it is', 'test1, yep
[23;80H'[24;1H, 'test1'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, 'foo\(bar\)\@!', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\(bar\)\@!', 'foo bar', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'if \(\(then\)\@!.\)*$', ' if then else'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'if \(\(then\)\@!.\)*$', ' if else ', 'if else ', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@!bar', 'foobar', 'bar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@!...bar', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' bar foo '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' foo bar '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' foo xxx ', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[ ]\@!\p\%([ ]\@!\p\)*:', 'implicit mappings:', 'mappings:']
[23;80H)[24;1H[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '[ ]\@!\p\([ ]\@!\p\)*:', 'implicit mappings:', 'mappings:',
[23;80H'[24;1Hs'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, 'm\k\+_\@=\%(_\@!\k\)\@<=\k\+e', 'mx__xe', 'mx__xe'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%(\U\@<=S\k*\|S\l\)R', 'SuR', 'SuR'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Combining different tests and features
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[[:alpha:]]\{-2,6}', '787abcdiuhsasiuhb4', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '', 'abcd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(())', 'any possible text', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v%(ab(xyz)c)', ' abxyzc ', 'abxyzc', 'xyz'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(test|)empty', 'tesempty', 'empty', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a|aa)(a|aa)', 'aaa', 'aa', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" \%u and friends
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%d32', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%o40', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%x20', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%u0020', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%U00000020', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%d0', "yes\x0ano", "\x0a"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""" \%[abc]
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'fobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobar', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'fooxx', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobxx', 'foob'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobaxx', 'fooba'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobarxx', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]x', 'foobxx', 'foobx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]x', 'foobarxx', 'foobarx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'barxx', 'barx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'bxx', 'bx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'xxx', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'b\%[[ao]r]', 'bar bor', 'bar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'b\%[[]]r]', 'b]r bor', 'b]r'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '@\%[\w\-]*', '<http://john.net/pandoc/>[@pandoc]', '@pandoc'
[23;80H][24;1H)[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Alternatives, must use first longest match
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'goo\|go', 'google', 'goo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\<goo\|\<go', 'google', 'goo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\<goo\|go', 'google', 'goo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Back references
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(\i\+\) \1', ' abc abc', 'abc abc', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(\i\+\) \1', 'xgoo goox', 'goo goo', 'goo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(a\)\(b\)\(c\)\(dd\)\(e\)\(f\)\(g\)\(h\)\(i\)\1\2\3\4\5\6\7
[23;80H\[24;1H8\9', 'xabcddefghiabcddefghix', 'abcddefghiabcddefghi', 'a', 'b', 'c', 'dd', 'e
[23;80H'[24;1H, 'f', 'g', 'h', 'i'])
[?25l[1;1H[2L[1;1H:for pat in [' \ze*', ' \zs*']
: try[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(\d*\)a \1b', ' a b ', 'a b', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^.\(.\).\_..\1.', "aaa\naaa\nb", "aaa\naaa", 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.com', 'foo.bat/foo
[23;80H.[24;1Hcom', 'bat'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.bat'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<=$', 'foo.bat/foo.bat', 'foo.bat/foo
[23;80H.[24;1Hbat', 'bat', 'bat'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\\\@<!\${\(\d\+\%(:.\{-}\)\?\\\@<!\)}', '2013-06-27${0}', '$
[23;80H{[24;1H0}', '0'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '^\(a*\)\1$', 'aaaaaaaa', 'aaaaaaaa', 'aaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\(a\{-2,}\)\1\+$', 'aaaaaaaaa', 'aaaaaaaaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Look-behind with limit
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '<\@<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '<\@1<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '<\@2<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(<<\)\@<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<<
[23;80H'[24;1H])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(<<\)\@1<=span.', 'xxspanxxxx<spanxx<<spanyyy'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(<<\)\@2<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<
[23;80H<[24;1H'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@<!bar.', 'xx foobar1 xbar2 xx', 'bar2'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" look-behind match in front of a zero-width item
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v\C%(<Last Changed:\s+)@<=.*$', '" test header'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v\C%(<Last Changed:\s+)@<=.*$', '" Last Changed: 1970', '19
[23;80H7[24;1H0'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=\>', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=\>', 'barfoo', '', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=.*', 'foobar', 'bar', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" complicated look-behind match
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(r\@<=\|\w\@<!\)\/', 'x = /word/;', '/'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^[a-z]\+\ze \&\(asdf\)\@<!', 'foo bar', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""" \@>
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(a*\)\@>a', 'aaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\(.\{-}b\)\@>.', ' abcbd', ' abc', ' ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(.\{-}\)\(\)\@>$', 'abc', 'abc', 'abc', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TODO: BT engine does not restore submatch after failure
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" "\_" prepended negated collection matches EOL
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_[^8-9]\+', "asfi\n9888", "asfi\n"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_[^a]\+', "asfi\n9888", "sfi\n9888"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Requiring lots of states.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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[1;1H[2L[1;1H:for pat in [' \ze*', ' \zs*']
: try[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Skip adding state twice
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=', "#if FOO",
[23;80H"[24;1H#if", ' FOO'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""" Test \%V atom
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%>70vGesamt', 'Jean-Michel Charlier & Victor Hubinon\Gesamt
[23;80Ha[24;1Husgabe [Salleck] Buck Danny {Jean-Michel Charlier & Victor Hubinon}\Gesamtau
[23;80Hs[24;1Hgabe', 'Gesamt'])
[?25l[1;1H[2L[1;1H:for pat in [' \ze*', ' \zs*']
: try[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Run the tests
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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 ®expengine = 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
[23;80Hx[24;1Ht . '\", 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
[23;80Hx[24;1Ht . '\", 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
[23;80Hx[24;1Ht . '\", 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:[8C[?12l[?25h: if len(t) <= matchidx + i
[?25l:[10C[?12l[?25h: let e = ''
[?25l:[10C[?12l[?25h: else
[?25l:[10C[?12l[?25h: let e = t[matchidx + i]
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: if l[i] != e
[?25l:[10C[?12l[?25h: $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text:
"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: endfor
[?25l: [?12l[?25h: unlet i
[?25l: [?12l[?25h: endif
[?25l: [?12l[?25h: endfor
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[1;1HOK 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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""""" multi-line tests """"""""""""""""""""
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tl = []
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" back references
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^.\(.\).\_..\1.', ['aaa', 'aaa', 'b'], ['XX', 'b']])
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v.*\/(.*)\n.*\/\1$', ['./Dir1/Dir2/zyxwvuts.txt', './Dir1/D
[23;80Hi[24;1Hr2/abcdefgh.bat', '', './Dir1/Dir2/file1.txt', './OtherDir1/OtherDir2/file1.txt
[23;80H'[24;1H], ['./Dir1/Dir2/zyxwvuts.txt', './Dir1/Dir2/abcdefgh.bat', '', 'XX']])
[?25l[1;1H[2L[1;1HOK 0 - ^\(.\{-}b\)\@>.
OK 1 - ^\(.\{-}b\)\@>.[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" line breaks
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\S.*\nx', ['abc', 'def', 'ghi', 'xjk', 'lmn'], ['abc', 'def'
[23;80H,[24;1H 'XXjk', 'lmn']])
[?25l[1;1H[L[1;1HOK 0 - ^\(.\{-}b\)\@>.[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check that \_[0-9] matching EOL does not break a following \>
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)
[23;80H\[24;1H.\)\{3\}\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>', ['', 'loca
[23;80Hl[24;1Hnet/192.168.0.1', ''], ['', 'localnet/XX', '']])
[?25l[1;1H[2L[1;1HOK 0 - ^\(.\{-}b\)\@>.
OK 1 - ^\(.\{-}b\)\@>.[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check a pattern with a line break and ^ and $
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\n^b$\n^c', ['a', 'b', 'c'], ['XX']])
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(^.\+\n\)\1', [' dog', ' dog', 'asdf'], ['XXasdf']])
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Run the multi-line tests
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='multi-line tests'
[?25l[1;23r[23;1H
[1;24r[23;1Hmulti-line tests[24;1H[K[23;1H[?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 ®expengine = 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) .
[23;80H'[24;1H\", 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
[27m[23m[m[H[2J[?25l[1;1HOK 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[13;1H\_[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[15;1H\_[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[17;1H\_[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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check that using a pattern on two lines doesn't get messed up by using
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" matchstr() with \ze in between.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset re=0
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Substitute here
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: 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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.+1,.+2s/""/\='"'.matchstr(getline("."), '\d\+\ze<').'"'
[?25l[13;5H5">Ta 5</Title>
<T="7">Ac 7</Title>
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Substitute here
[?25l[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.+1,.+2yank
[?25l[12;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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[13;1H\_[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[15;1H\_[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[17;1H\_[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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H<T="5">Ta 5</Title>
[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check a pattern with a look beind crossing a line boundary
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Behind:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: 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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25h\(<\_[xy]\+\)\@3<=start
[?25l[18;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.yank
[?25l[18;3H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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[10;1H\_[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[12;1H\_[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[14;1H\_[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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxxstart3
[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check matching Visual area
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Visual:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H<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:
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[mthe[?25l[?12l[?25h[?25l[7mxe the the[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[?12l[?25hs/\%Ve/E/g
[?25l3 substitutions on 1 line[13;4HxE thE thE
[?12l[?25h
[?25la[7mndaxand andaxand
[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[?12l[?25hs/\%Va/A/g
[?25l6 substitutions on 1 line[14;1HAndAxAnd AndAxAnd[14;18H[K[14;1H[?12l[?25h
ooo[?25l[?12l[?25h[?25l[7mxofor foro[?12l[?25h[?25lx
[mooo[7mxofor foro[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[?12l[?25hs/\%Vo/O/g
[?25l8 substitutions on 2 lines[15;4HxOfOr fOrOx
oooxOfOr fOrO
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^Visual/+1,/^Visual/+4yank
[?25l[31msearch hit BOTTOM, continuing at TOP[m
4 lines yanked[24;15H[K[16;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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[8;1H\_[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[10;1H\_[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[12;1H\_[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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
4 more lines[1;23r[23;1H
[1;24r[23;1HthexE thE thExethe[24;1H[K[24;1H4 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check matching marks
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Marks:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1Hasdfasd<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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[masdf[9C[?25l[24;1H[K[24;1H:[?12l[?25h.-4,.+6s/.\%>'s.*\%<'e../here/
[?25l[13;5Hhereasdf[13;13H[K[13;1H[?12l[?25h
asdf
dfsa
dfsadf[?25l[24;1H[K[24;1H:[?12l[?25h.-4,.+6s/.\%>'s\_.*\%<'e../again/
[?25l[14;23r[23;1H
[1;24r[14;1Hasdfagainasdf[23;1HOK 0 - bc*[24;1H[K[14;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^Marks:/+1,/^Marks:/+3yank
[?25l[31msearch hit BOTTOM, continuing at TOP[m
3 lines yanked[24;15H[K[14;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 2 - \S.*\nx
OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255[3;1H\_[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[5;1H\_[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[7;1H\_[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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
3 more lines[1;23r[1;1H[2M[1;24r[22;1Hasdfhereasdf
asdfagainasdf[24;1H[K[24;1H3 more lines[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check patterns matching cursor position.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunc! Postest()
[?25l
: [?12l[?25h new
[?25l: [?12l[?25h call setline(1, ['ffooooo', 'boboooo', 'zoooooo', 'koooooo', 'moooooo', "\t
[23;80H\[24;1Ht\tfoo", 'abababababababfoo', 'bababababababafoo', '********_', ' xxxxxx
[23;80Hx[24;1Hxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxx xx xxxx
xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxx xxxxxxxxxx
[23;80Hx[24;1Hxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxx xxxxxxxxxxx
[23;80Hx[24;1H xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx xxxxxxxxx xxxx
[23;80Hx[24;1Hxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxx xxx xxx xx
[23;80Hx[24;1Hxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx xxxxxxxxxxxx x
[23;80Hx[24;1Hxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxxxxx
[23;80Hx[24;1Hxxx 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
[27m[23m[m[H[2J[?25l[1;1HOK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255[2;1H\_[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[4;1H\_[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[22;1H[?12l[?25h[?25l[1;4H2[75C55[2;1H\
OK 0 - a\n^b$\n^c[3;18H[K[4;1HOK 1 - a\n^b$\n^c[4;18H[K[5;4H2
OK 0 - \(^.\+\n\)\1
OK 1 - \(^.\+\n\)\1
OK 2[9;1H[K[10;1H<T="5">Ta 5</Title>
<T="7">Ac 7</Title>[12;1H[K[13;1Hxxstart3[13;9H[K[15;1HthexE thE thExethe
AndAxAnd AndAxAnd
oooxOfOr fOrOxooo[17;18H[K[18;1HoooxOfOr fOrOxooo[19;1H[K[20;1Hasdfhereasdf[20;13H[K[21;1Hasdfagainasdf[22;1H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[m
-0-[23;4H[K[23;3H[?12l[?25h[?25l
:[?12l[?25hset re=0
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines
10 lines yanked
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput
[?25l10 more lines
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[3L[?25l[1;1HoooxOfOr fOrOxooo
asdfhereasdf
asdfagainasdf[4;14H[K[5;1H[K[6;1H-0-[6;4H[K[7;1Hffo[7;4H[K[8;1Hbob[8;4H[K[9;1H__ooooo
koooo__[10;8H[K[11;1Hmoooooo[11;8H[K[12;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_[15;11H[K[16;1H ! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[17;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[18;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[19;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [20;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[21;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [22;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[23;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx[24;1H[K[16;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-1-[?12l[?25h[?25l
:[?12l[?25hset re=1
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines
10 lines yanked
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput
[?25l10 more lines
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[3L[?25l[1;1H-1-
ffo
bob
__ooooo
koooo__
moooooo
[21Cf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxx[8C xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxx[8Cxxxxxxxxxxxxx xxxx[18;1Hxxxxxx [7Cxxx xxxx xx xxxxxxxx xxx xxxxxx[9Cx[18;58H[K[19;1H[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[11;3H[?12l[?25h[?25l[19;1H-2-[19;4H[K[19;3H[?12l[?25h[?25l[24;1H:[?12l[?25hset re=2
[?25l[19;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines
10 lines yanked
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput
[?25l10 more lines
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[3L[1;1H-2-
ffo
bob[19;1H[1m[34m~ [m[24;1H[K[11;3H[?12l[?25h[?25l[24;1H:[?12l[?25h" start and end of buffer
[?25l[11;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%^
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1HTest 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 """"""""""""""""""""""""""""""""
:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
:"
[31msearch hit BOTTOM, continuing at TOP[1;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H-2-
ffo
bob
__ooooo
koooo__
moooooo[7;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[18;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx
[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [11;3H[?12l[?25h[?25l[m[19;1H[K[19;1H[?12l[?25h[?25lTest[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[19;4H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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}[12;1H[?12l[?25h[?25l[24;1H/[?12l[?25h\%^..
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1HTest 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 """"""""""""""""""""""""""""""""
:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
:"
[31msearch hit BOTTOM, continuing at TOP[1;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H-2-
ffo
bob
__ooooo
koooo__
moooooo[7;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[18;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx
Test
[1m[34m~ [21;1H~ [22;1H~ [23;1H~ [19;1H[?12l[?25h[?25l[m[20;1H[K[20;1H[?12l[?25h[?25lTest[?12l[?25h[?25lt END[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[20;8H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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}[12;1H[?12l[?25h[?25l[24;1H/[?12l[?25h\%$
[?25l[27m[23m[m[H[2J[1;1H-2-
ffo
bob
__ooooo
koooo__
moooooo[7;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[18;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx
Test
Test END
[1m[34m~ [22;1H~ [23;1H~ [20;8H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H:" 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'])[12;1H[?12l[?25h[?25l[24;1H/[?12l[?25h..\%$
[?25l[27m[23m[m[H[2J[1;1H-2-
ffo
bob
__ooooo
koooo__
moooooo[7;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[18;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx
Test
Test END
[1m[34m~ [22;1H~ [23;1H~ [20;7H[?12l[?25h
[?25l[m[21;1H[K[21;1H[?12l[?25h[?25lEN[?12l[?25h[?25l[22;1H[K[22;1H[?12l[?25h[?25lE[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check for detecting error
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset regexpengine=2
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[7L[?25l[1;1Hffo
bob
__ooooo
koooo__
moooooo[6;25Hf__
ab!babababababfoo
ba!ab##abab?ba
**!*****_[9;10H[K[10;1H ! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[11;1Hxxxxxx xx xxxx xxxxxxxx[12Cxxxxx xxx xxxxxxx xxxxxxxxx [12C xxxxx[12;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxx[11Cxx xxxx xxx xxxx xxx xxx xxxx[13;1Hxx x[11C [15Cxxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [14;1Hxxxxxxxxx xxxxxxx x x[8C xx xxxxxx xxxxxxx xxxxxxx[8Cxxx xxxx[7Cxx[15;1Hxxx xxx xxx xxxxxxxx [7C xxxx xxx xxxxxx xxxxx xxxxx xx [18C [16;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xx[8Cxxx xxxxx [9Cxx xxxxxxxx[7Cx xxxx[17;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxx[17;58H[K[18;1HTest[18;5H[K[19;6HEND
EN[20;3H[K[21;2H[K[22;2H888 detected for \ze*
E888 detected for \zs*[23;24H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""" Write the results """""""""""""
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/\%#=1^Results/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test65.in" 95 lines, 2153 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for floating point and logical operators.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 89 lines, 2067 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has("float")
[?25l
: [?12l[?25h: e! test.ok
[?25l: [?12l[?25h: wq! test.out
[?25l: [?12l[?25h:endif
[1;1H[3L[?25l[1;1H:$put =float2nr(123.456)
:$put =float2nr(-123.456)
:$put ='AND'[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =printf('%f', 123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H123.456000[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%e', 123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H1.234560e+02[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H123.456[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" check we don't crash on division by zero
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hecho 1.0 / 0.0
[?25linf[24;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='+='
[?25l[1;23r[23;1H
[1;24r[23;1H+=[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet v = 1.234
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v += 6.543
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =printf('%g', v)
[?25l[1;23r[23;1H
[1;24r[23;1H7.777[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet v = 1.234
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v += 5
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =printf('%g', v)
[?25l[1;23r[23;1H
[1;24r[23;1H6.234[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet a = 5
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet a += 3.333
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(a)
[?25l[1;23r[23;1H
[1;24r[23;1H8.333[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='=='
[?25l[1;23r[23;1H
[1;24r[23;1H==[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet v = 1.234
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =v == 1.234
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =v == 1.2341
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='add-subtract'
[?25l[1;23r[23;1H
[1;24r[23;1Hadd-subtract[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 4 + 1.234)
[?25l[1;23r[23;1H
[1;24r[23;1H5.234[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 1.234 - 8)
[?25l[1;23r[23;1H
[1;24r[23;1H-6.766[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='mult-div'
[?25l[1;23r[23;1H
[1;24r[23;1Hmult-div[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 4 * 1.234)
[?25l[1;23r[23;1H
[1;24r[23;1H4.936[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 4.0 / 1234)
[?25l[1;23r[23;1H
[1;24r[23;1H0.003241[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='dict'
[?25l[1;23r[23;1H
[1;24r[23;1Hdict[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string({'x': 1.234, 'y': -2.0e20})
[?25l[1;23r[23;1H
[1;24r[23;1H{'x': 1.234, 'y': -2.0e20}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='list'
[?25l[1;23r[23;1H
[1;24r[23;1Hlist[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string([-123.4, 2.0e-20])
[?25l[1;23r[23;1H
[1;24r[23;1H[-123.4, 2.0e-20][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='abs'
[?25l[1;23r[23;1H
[1;24r[23;1Habs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%d', abs(1456))
[?25l[1;23r[23;1H
[1;24r[23;1H1456[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%d', abs(-4))
[?25l[1;23r[23;1H
[1;24r[23;1H4[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%d', abs([1, 2, 3]))
[?25l[1m[37m[41mE745: Using a List as a Number[m[24;32H[K[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', abs(14.56))
[?25l[1;23r[23;1H
[1;24r[23;1H14.56[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', abs(-54.32))
[?25l[1;23r[23;1H
[1;24r[23;1H54.32[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ceil'
[?25l[1;23r[23;1H
[1;24r[23;1Hceil[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', ceil(1.456))
[?25l[1;23r[23;1H
[1;24r[23;1H2.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', ceil(-5.456))
[?25l[1;23r[23;1H
[1;24r[23;1H-5.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', ceil(-4.000))
[?25l[1;23r[23;1H
[1;24r[23;1H-4.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='floor'
[?25l[1;23r[23;1H
[1;24r[23;1Hfloor[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', floor(1.856))
[?25l[1;23r[23;1H
[1;24r[23;1H1.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', floor(-5.456))
[?25l[1;23r[23;1H
[1;24r[23;1H-6.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', floor(4.0))
[?25l[1;23r[23;1H
[1;24r[23;1H4.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='log10'
[?25l[1;23r[23;1H
[1;24r[23;1Hlog10[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', log10(1000))
[?25l[1;23r[23;1H
[1;24r[23;1H3.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', log10(0.01000))
[?25l[1;23r[23;1H
[1;24r[23;1H-2.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='pow'
[?25l[1;23r[23;1H
[1;24r[23;1Hpow[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', pow(3, 3.0))
[?25l[1;23r[23;1H
[1;24r[23;1H27.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', pow(2, 16))
[?25l[1;23r[23;1H
[1;24r[23;1H65536.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='round'
[?25l[1;23r[23;1H
[1;24r[23;1Hround[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', round(0.456))
[?25l[1;23r[23;1H
[1;24r[23;1H0.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', round(4.5))
[?25l[1;23r[23;1H
[1;24r[23;1H5.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', round(-4.50))
[?25l[1;23r[23;1H
[1;24r[23;1H-5.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='sqrt'
[?25l[1;23r[23;1H
[1;24r[23;1Hsqrt[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', sqrt(100))
[?25l[1;23r[23;1H
[1;24r[23;1H10.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hecho sqrt(-4.01)
[?25lnan[24;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='str2float'
[?25l[1;23r[23;1H
[1;24r[23;1Hstr2float[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', str2float('1e40'))
[?25l[1;23r[23;1H
[1;24r[23;1H1.0e40[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='trunc'
[?25l[1;23r[23;1H
[1;24r[23;1Htrunc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', trunc(1.456))
[?25l[1;23r[23;1H
[1;24r[23;1H1.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', trunc(-5.456))
[?25l[1;23r[23;1H
[1;24r[23;1H-5.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', trunc(4.000))
[?25l[1;23r[23;1H
[1;24r[23;1H4.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='float2nr'
[?25l[1;23r[23;1H
[1;24r[23;1Hfloat2nr[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =float2nr(123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H123[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =float2nr(-123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H-123[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='AND'
[?25l[1;23r[23;1H
[1;24r[23;1HAND[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(127, 127)
[?25l[1;23r[23;1H
[1;24r[23;1H127[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(127, 16)
[?25l[1;23r[23;1H
[1;24r[23;1H16[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(127, 128)
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='OR'
[?25l[1;23r[23;1H
[1;24r[23;1HOR[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =or(16, 7)
[?25l[1;23r[23;1H
[1;24r[23;1H23[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =or(8, 7)
[?25l[1;23r[23;1H
[1;24r[23;1H15[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =or(0, 123)
[?25l[1;23r[23;1H
[1;24r[23;1H123[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='XOR'
[?25l[1;23r[23;1H
[1;24r[23;1HXOR[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =xor(127, 127)
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =xor(127, 16)
[?25l[1;23r[23;1H
[1;24r[23;1H111[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =xor(127, 128)
[?25l[1;23r[23;1H
[1;24r[23;1H255[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='invert'
[?25l[1;23r[23;1H
[1;24r[23;1Hinvert[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(invert(127), 65535)
[?25l[1;23r[23;1H
[1;24r[23;1H65408[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(invert(16), 65535)
[?25l[1;23r[23;1H
[1;24r[23;1H65519[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(invert(128), 65535)
[?25l[1;23r[23;1H
[1;24r[23;1H65407[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =invert(1.0)
[?25l[1m[37m[41mE805: Using a Float as a Number[1;23r[m[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^Results/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test66.in" 33 lines, 509 characters[2;1HTest for visual block shift and tab characters.
STARTTEST
:so small.vim
/^one
fe[34m^V[m4jR[34m^[[mugvr1:'<,'>w! test.out
/^abcdefgh
[34m^V[m4jI [34m^[[mj<<11|D
7|a[13C[34m^[[m
7|a[16C[34m^[[m
7|a[13C[34m^[[m4k13|[34m^V[m4j<
:$-5,$w >> test.out
:$-4,$s/\s\+//g
[34m^V[m4kI [34m^[[mj<<
7|a[13C[34m^[[m
7|a[37C[34m^[[m
7|a[21C[34m^[[m4k13|[34m^V[m4j3<
:$-4,$w >> test.out
:qa!
ENDTEST
one two three[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 16 lines, 234 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^one
[?25l[23;1H[?12l[?25hon[?25l[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[19;3H[7me[m
on[7me[m two three
on[7me[m two three
on[7me[m two three
one two three[24;1H[K[23;3H[?12l[?25h[?25l
4 fewer lines[19;1H[K[20;1H[K[21;1Habcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz[19;1H[?12l[?25h[?25l[24;3Hmore lines; before #1 0 seconds ago[19;1Hone two three
one two three
one two three[21;14H[K[22;1Hone two three[22;14H[K[23;1Hone two three[23;14H[K[20;1H[?12l[?25h[?25l[19;3H[7me
[mon[7me
[mon[7me
[mon[7me
[mon[?12l[?25h[?25l[19;3H1
on1
on1
on1
on1[19;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h'<,'>w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 5 lines, 70 characters written[19;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^abcdefgh
[?25l[1;23r[1;1H[2M[1;24r[23;1Habcdefghijklmnopqrstuvwxyz[24;1H[K[23;1H[?12l[?25h[?25l[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[19;1H[7ma
a[mbcdefghijklmnopqrstuvwxyz
[7ma[mbcdefghijklmnopqrstuvwxyz
[7ma[mbcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
[?12l[?25h[?25l[19;1Ha
a
a
a[19;1H abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz[19;1H[?12l[?25h
[?25labcdefghijklmnopqrstuvwxyz[20;27H[K[20;1H[?12l[?25h[10C[?25l[20;11H[K[20;10H[?12l[?25h[21;10H[?25lc defghijklmnopqrstuvwxyz[21;16H[?12l[?25h[22;16H[22;7H[?25lc defghijklmnopqrstuvwxyz[22;19H[?12l[?25h[23;19H[23;7H[?25lc defghijklmnopqrstuvwxyz[23;16H[?12l[?25h[19;16H[?25l[?12l[?25h[?25l[7mi[21;13H [22;13H [23;13H[?12l[?25h[?25l[m
5 lines <ed 1 time[19;13Hi[21;13Hdefghijklmnopqrstuvwxyz[21;36H[K[22;13Hdefghijklmnopqrstuvwxyz[22;36H[K[23;13Hdefghijklmnopqrstuvwxyz[23;36H[K[19;13H[?12l[?25h[20;10H[?25l[24;1H[K[24;1H:[?12l[?25h$-5,$w >> test.out
[?25l"test.out"[24;12H[K[24;12H6 lines, 151 characters appended[20;10H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$-4,$s/\s\+//g
[?25l7 substitutions on 4 lines[19;1Habcdefghijklmnopqrstuvwxyz[19;27H[K[21;1Habcdefghijklmnopqrstuvwxyz[21;27H[K[22;1Habcdefghijklmnopqrstuvwxyz[22;27H[K[23;1Habcdefghijklmnopqrstuvwxyz[23;27H[K[23;1H[?12l[?25h[?25l[?12l[?25h[?25l[20;1H[7ma
a
a
a[19;1H[?12l[?25h[?25l[m
a
a
a
a[19;1H abcdefghijklmnopqrstuvwxyz
abcdefghij
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz[19;1H[?12l[?25h
[?25labcdefghij[20;11H[K[20;1H[?12l[?25h
ab[?25lc defghijklmnopqrstuvwxyz[21;16H[?12l[?25h[22;16H[22;7H[?25lc [10Cdefghijklmnopqrstuvwxyz[22;40H[?12l[?25h[23;30H[23;7H[?25lc defghijklmnopqrstuvwxyz[23;24H[?12l[?25h[19;24H[19;13H[?25l[?12l[?25h[?25l[7mi[21;13H [22;13H [23;13H[?12l[?25h[?25l[m
5 lines <ed 3 times[24;20H[K[19;13Hi[21;13Hdefghijklmnopqrstuvwxyz[21;36H[K[22;13H defghijklmnopqrstuvwxyz[22;41H[K[23;13Hdefghijklmnopqrstuvwxyz[23;36H[K[19;13H[?12l[?25h[20;10H[?25l[24;1H[K[24;1H:[?12l[?25h$-4,$w >> test.out
[?25l"test.out"[24;12H[K[24;12H5 lines, 147 characters appended[20;10H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test67.in" 33 lines, 1110 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest that groups and patterns are tested correctly when calling exists() for[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 27 lines, 999 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[9M[1;24r[15;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet results=[]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haugroup auexists
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haugroup END
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "##BufEnter: " . exists("##BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter: " . exists("#BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter * let g:entered=1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter: " . exists("#BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haugroup auexists
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter * let g:entered=1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haugroup END
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter *.test let g:entered=1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit testfile.test
[?25l"testfile.test" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter <buffer> let g:entered=1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit testfile2.test
[?25l"testfile2.test" [New File][1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [New File][1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(0, results)
[?25l[1;23r[1;1H[10L[1;24r[1;1H##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[24;1H[K[11;1H[?12l[?25h[?25l[24;1H:[?12l[?25h$d
[?25l[11;1H[1m[34m~ [10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" [New File] 10 lines, 190 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test68.in" 131 lines, 1004 characters[1;1HTest for text formatting.
Results of test68:
STARTTEST
:so small.vim
/^{/+1
:set noai tw=2 fo=t
gRa b[34m^[[m
ENDTEST
{
}
STARTTEST
/^{/+1
:set ai tw=2 fo=tw
gqgqjjllab[34m^[[m
ENDTEST
{[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for text formatting.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 4 lines, 48 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noai tw=2 fo=t
[?25l[13;1H[?12l[?25h[?25la
b[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 38 characters written[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[18;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[23;1H
[1;24r[23;1Ha b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset ai tw=2 fo=tw
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4H[K[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Ha[?12l[?25ha [?25l[1;23r[23;1H
[1;24r[23;1Hb[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H4 lines, 34 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H:set tw=3 fo=t
gqgqo
a [34m^V^A^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
a [34m^A[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=3 fo=t
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3H[K[23;1H[34m^A[m[24;1H[K[23;1H[?12l[?25h[2C[?25l[1;23r[1;1H[3M[1;24r[22;1Ha
[34m^A
[?12l[?25h[?25l[1;23r[m[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 58 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H:set tw=2 fo=tcq1 comments=:#
gqgqjgqgqo
a b
#a b[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
a b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=2 fo=tcq1 comments=:#
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H#a b[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Ha b
#a b[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 46 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=5 fo=tcn comments=:#
A b[34m^[[mjA b[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
1 a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=5 fo=tcn comments=:#
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hb[24;1H[K[23;5H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# 1 a[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# b[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+3
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 35 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=5 fo=t2a si
i [34m^[[mA_[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+3
[?25l[1;23r[1;1H[4M[1;24r[20;1H{
x a
b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=5 fo=t2a si
[?25l[23;1H[?12l[?25h[?25l b[?12l[?25h[?25l b_[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc[24;1H[K[23;5H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[4M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 40 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=5 fo=qn comments=:#
gwap
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
# 1 a b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=5 fo=qn comments=:#
[?25l[23;1H[?12l[?25h[?25l[23;7H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# b[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 40 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=5 fo=q2 comments=:#
gwap
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
# x[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=5 fo=q2 comments=:#
[?25l[23;1H[?12l[?25h[?25l# x a
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# b[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+2
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 26 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw& fo=a
I^^[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+2
[?25l[1;23r[1;1H[3M[1;24r[21;1H{
1aa
2bb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw& fo=a
[?25l[23;1H[?12l[?25h[?25l[21;3H1aa ^^2bb }[22;4H[K[23;1HSTARTTEST[21;8H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/mno pqr/[24;1H[K[23;1H[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 69 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:setl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/
A vwx yz[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hmno pqr/
[?25l[24;9H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/* abc def ghi jkl
* mno pqr stu[24;1H[K[23;7H[?12l[?25h[?25l
:[?12l[?25hsetl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/
[?25l[23;7H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H* vwx yz[24;1H[K[23;12H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H*/[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^#/
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 47 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:setl tw=12 fo=tqnc comments=:#
A foobar[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^#/
[?25l[24;4H[K[24;1H[1;23r[23;1H
[1;24r[23;1H# 1 xxxxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hsetl tw=12 fo=tqnc comments=:#
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# foobar[24;1H[K[23;10H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2 lines, 56 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[23;19H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:1;/^Results/,$wq! test.out[24;1H[K[23;19H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l63 fewer lines[24;15H[K[1;1H# 1 a[1;6H[K[2;1H# b[2;6H[K[3;1H}[3;2H[K[4;1H[K[5;1H[K[6;1H{
# x a[7;6H[K[8;1H# b[8;7H[K[9;1H}[9;2H[K[10;2H[K[12;1H{ 1aa ^^2bb }[13;1H[K[14;1H[K[15;1H/* abc def ghi jkl
* mno pqr stu
* vwx yz
*/[18;5H[K[19;1H[K[21;1H# 1 xxxxx
# foobar[22;11H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test69.in" 192 lines, 2185 characters[1;1HTest 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[34m^[[m
ENDTEST
{
XYZ
abc XYZ[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for multi-byte text formatting.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 2 lines, 34 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1HTest 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[34m^[[m
ENDTEST
{
XYZ
abc XYZ[10;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 58 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=2 fo=t
[?25l[22;1H[?12l[?25h
[?25l[1;23r[23;1H
[1;24r[22;5H[K[23;1HXYZ[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5HZ
abc [?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HX[?12l[?25h[?25lY[?12l[?25h[?25lZ[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H8 lines, 80 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[8M[1;24r[16;1H:set tw=1 fo=tm
gqgqjgqgqjgqgqjgqgqjgqgqo
X
Xa
X a
XY
X Y[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
X[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=1 fo=tm
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3H[K[23;1Ha[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HX a
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4H[K[23;1Ha[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3H[K[23;1HY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HX Y
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4H[K[23;1HY
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HX
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;1HX
a
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;1HX
a
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HY
[?12l[?25h[?25lX [?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H13 lines, 140 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo
X
Xa
X a
XY
X Y
aX
abX
abcX
abX c
abXY[34m^[[m
ENDTEST
{
X
Xa
X a
XY
X Y
aX
abX
abcX
abX c[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=2 fo=tm
[?25l[15;1H[?12l[?25h
[?25l[17;23r[17;1H[L[1;24r[16;3H[K[17;1Ha[24;1H[K[17;1H[?12l[?25h
[?25l[19;23r[19;1H[L[1;24r[18;4H[K[19;1Ha[?12l[?25h
[?25l[21;23r[21;1H[L[1;24r[20;3H[K[21;1HY
[?12l[?25h
[?25l[22;4H[K[23;1HY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HaX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HabX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3H[K[23;1HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HabcX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4H[K[23;1HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HabX c
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;3H[K[22;1HX
c[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HabXY
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;3H[K[22;1HX
Y
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HX
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;1HX
a
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;1HX
a
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HY
[?12l[?25h[?25lX [?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HY
a[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HX
ab[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HX
abc[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HX
ab[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1HX
c
ab[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HX[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 47 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H:set ai tw=2 fo=tm
gqgqjgqgqo
X
Xa[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
X[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset ai tw=2 fo=tm
[?25l[23;1H[?12l[?25h [?25l[1;23r[23;1H
[1;24r[23;3HXa[24;1H[K[23;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5H[K[23;3Ha[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
a[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 53 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H:set noai tw=2 fo=tm
gqgqjgqgqo
X
Xa[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
X[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset noai tw=2 fo=tm
[?25l[23;1H[?12l[?25h [?25l[1;23r[23;1H
[1;24r[23;3HXa[24;1H[K[23;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5H[K[23;1Ha[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
a[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H13 lines, 169 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo
X
Xa
XaY
XY
XYZ
X Y
X YZ
XX
XXa
XXY[34m^[[m
ENDTEST
{
X
Xa
XaY
XY
XYZ
X Y
X YZ
XX
XXa[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=2 fo=cqm comments=n:X
[?25l[15;1H[?12l[?25h
[?25l[18;23r[18;1H[L[1;24r[17;4H[K[18;1HXY[24;1H[K[18;1H[?12l[?25h
[?25l[21;23r[21;1H[L[1;24r[20;5H[K[21;1HXZ
[?12l[?25h
[?25l[1;23r[23;1H
[1;24r[22;6H[K[23;1HX Z
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXXa
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXXY
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HXa
[?12l[?25h[?25lXa[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HXY
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HY
[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HXZ
[?12l[?25h[?25lX [?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4HY
[?12l[?25h[?25lX [?12l[?25h[?25lY[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HX Z
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HXa
[?12l[?25h[?25lX[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 30 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=2 fo=tm
RXa[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=2 fo=tm
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HX
a[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 34 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set mps+=[34m^V[mu2018:[34m^V[mu2019
d%
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
‘[23;3Htwo three ’[23;15Hfour[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset mps+=^‘[24;12H:^’[24;14H
[?25l[23;1H[?12l[?25h[?25l four[23;7H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^ra test
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2 lines, 16 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1HjVjra
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^ra test
[?25l[1;23r[23;1H
[1;24r[23;1Hra test[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Habba
[?12l[?25h[?25l[2C[7mbba
[?12l[?25h[?25l[1;23r[m[23;1H
[1;24r[22;1H[7ma[m
a[7mab
[?12l[?25h[?25l[m[22;1Haaaa[22;5H[K[23;1Haaa[7m [m[23;4H[K[22;1H[?12l[?25h
[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set whichwrap+=h
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H4 lines, 43 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H/^x
dh
:set whichwrap-=h
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset whichwrap+=h
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^x
[?25l[1;23r[1;1H[2M[1;24r[22;1Há[23;1Hx[24;1H[K[23;1H[?12l[?25h[?25l[22;2Hx[23;1H[K[22;2H[?12l[?25h
[?25l
:[?12l[?25hset whichwrap-=h
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:let a = '.é[23;13H.' " one char of two bytes
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H9 lines, 548 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[13M[1;24r[11;1H:let b = '.é.' " normal e with composing char
/^byteidx
:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[14;1Hx(a, 4)])
:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[16;1Hx(b, 4)])
/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[19;1Hmp(a, 3), byteidxcomp(a, 4)])
:let b = '.é.'
:put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[22;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet a = '.é[24;13H.' " one char of two bytes
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b = '.eé.' " normal e with composing char
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^byteidx
[?25l[1;23r[23;1H
[1;24r[23;1Hbyteidx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), bytei
[23;80Hd[24;1Hx(a, 4)])
[?25l[1;1H[L[1;1H:set whichwrap-=h
ENDTEST[2;8H[K[3;1H[K[4;1Há[4;2Hx[5;1H[K[6;1HSTARTTEST
:let a = '.é[7;13H.' " one char of two bytes[8;6Hb = '.é.' " normal e with composing char
/^byteidx[9;10H[K[10;1H:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[11;1Hx(a, 4)])[11;10H[K[12;1H:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[13;1Hx(b, 4)])[13;10H[K[14;1H/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[16;1Hmp(a, 3), byteidxcomp(a, 4)])[16;30H[K[17;1H:let b = '.é.'[17;15H[K[18;2Hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[19;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])[19;49H[K[20;1HENDTEST[20;8H[K[21;1H[K[22;1Hbyteidx
[0, 1, 3, 4, -1][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), bytei
[23;80Hd[24;1Hx(b, 4)])
[?25l[1;1H[L[1;1HENDTEST[2;1H[K[3;1Há[3;2Hx[4;1H[K[5;1HSTARTTEST
:let a = '.é[6;13H.' " one char of two bytes[7;6Hb = '.é.' " normal e with composing char
/^byteidx[8;10H[K[9;1H:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[10;1Hx(a, 4)])[10;10H[K[11;1H:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[12;1Hx(b, 4)])[12;10H[K[13;1H/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[15;1Hmp(a, 3), byteidxcomp(a, 4)])[15;30H[K[16;1H:let b = '.é.'[16;15H[K[17;2Hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[18;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])[18;49H[K[19;1HENDTEST[19;8H[K[20;1H[K[21;1Hbyteidx
[0, 1, 3, 4, -1][23;8H4, 5[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^byteidxcomp
[?25l[1;23r[23;1H
[1;24r[23;1Hbyteidxcomp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxc
[23;80Ho[24;1Hmp(a, 3), byteidxcomp(a, 4)])
[?25l[1;1H[L[1;1Há[1;2Hx[2;1H[K[3;1HSTARTTEST
:let a = '.é[4;13H.' " one char of two bytes[5;6Hb = '.é.' " normal e with composing char
/^byteidx[6;10H[K[7;1H:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[8;1Hx(a, 4)])[8;10H[K[9;1H:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[10;1Hx(b, 4)])[10;10H[K[11;1H/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[13;1Hmp(a, 3), byteidxcomp(a, 4)])[13;30H[K[14;1H:let b = '.é.'[14;15H[K[15;2Hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[16;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])[16;49H[K[17;1HENDTEST[17;8H[K[18;1H[K[19;1Hbyteidx
[0, 1, 3, 4, -1][21;8H4, 5
byteidxcomp[22;12H[K[23;1H[0, 1, 3, 4, -1][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet b = '.eé.'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxc
[23;80Ho[24;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])
[?25l[1;1H[L[2;1HSTARTTEST
:let a = '.é[3;13H.' " one char of two bytes[4;6Hb = '.é.' " normal e with composing char
/^byteidx[5;10H[K[6;1H:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[7;1Hx(a, 4)])[7;10H[K[8;1H:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[9;1Hx(b, 4)])[9;10H[K[10;1H/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[12;1Hmp(a, 3), byteidxcomp(a, 4)])[12;30H[K[13;1H:let b = '.é.'[13;15H[K[14;2Hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[15;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])[15;49H[K[16;1HENDTEST[16;8H[K[17;1H[K[18;1Hbyteidx
[0, 1, 3, 4, -1][20;8H4, 5
byteidxcomp[21;12H[K[22;1H[0, 1, 3, 4, -1][23;8H2, 4, 5, -1][24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^substitute
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2 lines, 75 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H:let y = substitute('123', '\zs', 'a', 'g') | put =y
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1Hsubstitute[22;1H[?12l[?25h[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^substitute
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet y = substitute('123', '\zs', 'a', 'g') | put =y
[?25l[1;23r[1;1H[2M[1;24r[22;1Ha1a2a3a[24;1H[K[22;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1H:g/^STARTTEST/.,/^ENDTEST/d
:1;/^Results/,$wq! test.out[22;1H[?12l[?25h[?25l
:set ff=unix cpo-=A
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2 lines, 56 characters written[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[22;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[22;19H[?12l[?25h[23;19H
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l104 fewer lines[24;16H[K[1;1H{[1;2H[K[2;1H four[2;6H[K[3;1H}[3;2H[K[4;1H[K[5;1Hra test
aaaa[6;5H[K[7;1Haaa[7;5H[K[8;1H[K[9;1H[K[10;1Há[10;2Hx[10;3H[K[11;1H[K[13;1Hbyteidx[13;8H[K[14;1H[0, 1, 3, 4, -1]
[0, 1, 4, 5, -1][15;17H[K[16;1Hbyteidxcomp
[0, 1, 3, 4, -1]
[0, 1, 2, 4, 5, -1][19;1H[K[21;1Hsubstitute
a1a2a3a[22;11H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test70.in" 63 lines, 1501 characters[1;1HSmoke 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HSmoke test for MzScheme interface and mzeval() function[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 55 lines, 1398 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[19;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mzscheme.vim
[?25l"test.ok" [24;11H[K[24;11H6 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test73.in" 169 lines, 3647 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for find completion.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 164 lines, 3600 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Do all test in a separate window to avoid E211 when we recursively
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" delete the Xfind directory during cleanup
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" This will cause a few errors, do it silently.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset visualbell
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" On windows a stale "Xfind" directory may exist, remove it so that
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" we start from a clean state.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xfind", "rf")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7mtest73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet cwd=getcwd()
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet test_out = cwd . '/test.out'
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xfind')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd Xfind
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind[23;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test73.in[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind ...[?25l[24;7H[K[24;7H[?5h[?5l[?12l[?25h
[?25l[1m[37m[41mE345: Can't find file "" in path[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w! " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out"
<ld/vim-tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test.out" [New] 0L, 0C written[12;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind ...[?25l[24;7H[K[24;7H[?5h[?5l[?12l[?25h
[?25l[1m[37m[41mE32: No file name[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 0L, 0C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=.,,
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind ...[?25l[24;7H[K[24;7H[?5h[?5l[?12l[?25h
[?25l[1m[37m[41mE32: No file name[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 0L, 0C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=./**
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind ...[?25l[24;7H[K[24;7H[?5h[?5l[?12l[?25h
[?25l[1m[37m[41mE32: No file name[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 0L, 0C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" We shouldn't find any file at this point, test.out must be empty.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('in')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd in
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/in[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('path')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir[23;1H[7mtest73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfind/file.txt
[?25l"Xfind/file.txt" [New File][12;1H[1m[7mXfind/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HHoly Grail[12;16H[1m[7m[+][1;10H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"Xfind/file.txt" [New] 1L, 11C written[12;16H[1m[7m [1;10H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfind/in/file.txt
[?25l"Xfind/in/file.txt" [New File][1;1H[K[12;7H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HJimmy Hoffa[12;19H[1m[7m[+][1;11H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"Xfind/in/file.txt" [New] 1L, 12C written[12;19H[1m[7m [1;11H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfind/in/stuff.txt
[?25l"Xfind/in/stuff.txt" [New File][1;1H[K[12;10H[1m[7mstuff.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HAnother Holy Grail[12;20H[1m[7m[+][1;18H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"Xfind/in/stuff.txt" [New] 1L, 19C written[12;20H[1m[7m [1;18H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfind/in/path/file.txt
[?25l"Xfind/in/path/file.txt" [New File][1;1H[K[12;10H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HE.T.[12;24H[1m[7m[+][1;4H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"Xfind/in/path/file.txt" [New] 1L, 5C written[12;24H[1m[7m [1;4H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=Xfind/**
[?25l[1;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" [24;18H[K[24;18H1L, 11C[1;1HHoly Grail[12;7H[1m[7mfile.txtf [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 11C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;7H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h...[?25l[24;7Hpath/file.txt[24;20H[K[24;20H[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5C[1;1HE.T.[1;5H[K[12;10H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 5C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Rerun the previous three find completions, using fullpath in 'path'
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "set path=" . cwd . "/Xfind/**"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" [24;18H[K[24;18H1L, 11C[1;1HHoly Grail[12;7H[1m[7mfile.txtf [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 11C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;7H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h...[?25l[24;7Hpath/file.txt[24;20H[K[24;20H[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5C[1;1HE.T.[1;5H[K[12;10H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 5C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Same steps again, using relative and fullpath items that point to the same
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" recursive location.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" This is to test that there are no duplicates in the completion list.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "set path+=Xfind/**"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" [24;18H[K[24;18H1L, 11C[1;1HHoly Grail[12;7H[1m[7mfile.txtf [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 11C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;7H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h...[?25l[24;7Hpath/file.txt[24;20H[K[24;20H[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5C[1;1HE.T.[1;5H[K[12;10H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 5C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;10H[1m[7mfile.txte [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" Test find completion for directory of current buffer, which at this point
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" is Xfind/in/file.txt.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset path=.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind st...[?25luff.txt[?12l[?25h
[?25l"Xfind/in/stuff.txt" 1L, 19C[1;1HAnother Holy Grail[12;10H[1m[7mstuff.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 19C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test find completion for empty path item ",," which is the current directory
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd Xfind
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind[12;1H[1m[7min/stuff.txtf [m[23;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test73.in[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=,,
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind f...[?25lile.txt[?12l[?25h...[?25l[24;15H[K[24;15H[?12l[?25h
[?25l"file.txt" [24;12H[K[24;12H1L, 11C[1;1HHoly Grail[1;11H[K[12;1H[1m[7mfile.txt. [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 11C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test shortening of
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" foo/x/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" foo/y/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When current directory is above foo/ they should be shortened to (in order
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" of appearance):
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" x/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" y/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('foo')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd foo
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo[12;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall mkdir('x')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('y')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd x
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo/x[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('bar')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd y
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo/y[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('bar')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind[12;1H[1m[7mfile.txti [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" We should now be in the Xfind directory
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he foo/x/bar/voyager.txt
[?25l"foo/x/bar/voyager.txt" [New File][1;1H[K[12;2H[1m[7moo/x/bar/voyager.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HVoyager 1[12;23H[1m[7m[+][1;9H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"foo/x/bar/voyager.txt" [New] 1L, 10C written[12;23H[1m[7m [1;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he foo/y/bar/voyager.txt
[?25l"foo/y/bar/voyager.txt" [New File][1;1H[K[12;5H[1m[7my/[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HVoyager 2[12;23H[1m[7m[+][1;9H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"foo/y/bar/voyager.txt" [New] 1L, 10C written[12;23H[1m[7m [1;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "set path=" . cwd . "/Xfind/**"
[?25l[1;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7Hx/bar/voyager.txt[?5h[?5l[?12l[?25h
[?25l"foo/x/bar/voyager.txt" 1L, 10C[1;9H1[12;5H[1m[7mx/[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7Hx/bar/voyager.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hy[24;24H[K[24;24H[?12l[?25h
[?25l"foo/y/bar/voyager.txt" 1L, 10C[1;9H2[12;5H[1m[7my/[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When current directory is .../foo/y/bar they should be shortened to (in
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" order of appearance):
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" ./voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" x/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd foo
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo[12;1H[1m[7my/bar/voyager.txt. [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcd y
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo/y[12;1H[1m[7mbar/voyager.txt [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcd bar
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo/y/bar[12;1H[1m[7mvoyager.txt. [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7H./voyager.txt[?5h[?5l[?12l[?25h
[?25l"voyager.txt" [24;15H[K[24;15H1L, 10C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7H./voyager.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hx/bar/voyager.txt[?12l[?25h
[?25l<ild/vim-tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/Xfind/foo/x/bar/voyager.txt"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/Xfind/foo/x/bar/voyager.txt" 1L, 10C[1;9H1[12;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo/x/bar/voyager.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check the opposite too:
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo/y[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo[12;1H[1m[7mx/bar/voyager.txt/ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcd x
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo/x[12;1H[1m[7mbar/voyager.txt [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcd bar
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo/x/bar[12;1H[1m[7mvoyager.txt. [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7H./voyager.txt[?5h[?5l[?12l[?25h
[?25l"voyager.txt" [24;15H[K[24;15H1L, 10C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7H./voyager.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hy/bar/voyager.txt[?12l[?25h
[?25l<ild/vim-tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/Xfind/foo/y/bar/voyager.txt"
<-tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/Xfind/foo/y/bar/voyager.txt" 1L, 10C[1;9H2[12;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/foo/y/bar/voyager.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check for correct handling of shorten_fname()'s behavior on windows
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "cd " . cwd . "/Xfind/in"
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind/in[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./file.txt[?5h[?5l[?12l[?25h
[?25l"file.txt" [24;12H[K[24;12H1L, 12C[1;1HJimmy Hoffa[12;1H[1m[7mfile.txti [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for relative to current buffer 'path' item
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "cd " . cwd . "/Xfind/"
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xfind[12;1H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=./path
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Open the file where Jimmy Hoffa is found
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he in/file.txt
[?25l"in/file.txt" 1L, 12C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Find the file containing 'E.T.' in the Xfind/in/path directory
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25ltxt[?12l[?25h
[?25l"in/path/file.txt" 1L, 5C[1;1HE.T.[1;5H[K[12;4H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 5C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test that completion works when path=.,,
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset path=.,,
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Open Jimmy Hoffa file
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he in/file.txt
[?25l"in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;4H[1m[7mfile.txte [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Search for the file containing Holy Grail in same directory as in/path.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind stu...[?25lff.txt[?12l[?25h
[?25l"in/stuff.txt" 1L, 19C[1;1HAnother Holy Grail[12;4H[1m[7mstuff.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test.out" 1L, 19C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xfind", "rf")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test75.in" 41 lines, 1000 characters[1;1HTests 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[34m^[[m:"[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for maparg().[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 34 lines, 919 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[16M[1;24r[8;1H:" 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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo-=<
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf8
[?25l[27m[23m[m[H[2J[1;1H:map abc x<char-114>x
:call append('$', maparg('abc'))
:map abc y<S-char-114>y
:call append('$', maparg('abc'))
:"
Go[34m^[[m:"
:" 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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap foo<C-V> is<F4>foo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hvnoremap <script> <buffer> <expr> <silent> bar isbar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', maparg('foo<C-V>'))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', string(maparg('foo<C-V>', '', 0, 1)))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', string(maparg('bar', '', 0, 1)))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap <buffer> <nowait> foo bar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', string(maparg('foo', '', 0, 1)))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap abc x<char-114>x
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', maparg('abc'))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap abc y<S-char-114>y
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', maparg('abc'))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[10M[1;24r[14;1Heof
is<F4>foo
{'silent': 0, 'noremap': 0, 'lhs': 'foo<C-V>', 'mode': ' ', 'nowait': 0, 'expr'::[17;1H 0, 'sid': 0, 'rhs': 'is<F4>foo', 'buffer': 0}
{'silent': 1, 'noremap': 1, 'lhs': 'bar', 'mode': 'v', 'nowait': 0, 'expr': 1, ''[19;1Hsid': 0, 'rhs': 'isbar', 'buffer': 1}
{'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ', 'nowait': 1, 'expr': 0, ''[21;1Hsid': 0, 'rhs': 'bar', 'buffer': 1}
xrx
yRy[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Outside of the range, minimum
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <Char-0x1040> a
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexecute "normal a\u1040\<Esc>"
[?25l[23;1Ha[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Inside of the range, minimum
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <Char-0x103f> b
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexecute "normal a\u103f\<Esc>"
[?25l[23;2Hb[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Inside of the range, maximum
[?25l[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <Char-0xf03f> c
[?25l[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexecute "normal a\uf03f\<Esc>"
[?25l[23;3Hc[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Outside of the range, maximum
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <Char-0xf040> d
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexecute "normal a\uf040\<Esc>"
[?25l[23;4Hd[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^eof/+1,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 7 lines, 384 characters written[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test77.in" 30 lines, 719 characters[1;1HInserts 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 | endwhile[22;1Hggdd
:w! Xtest[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HInserts 2 million lines with consecutive integers starting from 1[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 288 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[12;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[6M[1;24r[18;1H:r !cksum Xtest
:s/\s/ /g
:set fileformat&
:.w! test.out
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !executable("cksum")
[?25l
: [?12l[?25h: e! test.ok
[?25l: [?12l[?25h: w! test.out
[?25l: [?12l[?25h: qa!
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1Hcksum is part of POSIX and so should be available on most Unixes.
If it isn't available then the test will be skipped.
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset fileformat=unix undolevels=-1
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[7L[1;24r[1;1HInserts 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.[24;1H[K[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet i = 1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwhile i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhil
[23;80He[24;1H[?25l[1;1H[L[2;1H1[2;2H[K[3;1H2[3;2H[K[4;1H3[4;2H[K[5;1H4[5;2H[K[6;1H5[6;2H[K[7;1H6[7;2H[K[8;1H7[8;2H[K[9;1H8[9;2H[K[10;1H9[10;2H[K[11;1H10[11;3H[K[12;1H11[12;3H[K[13;1H12[13;3H[K[14;1H13[14;3H[K[15;1H14[15;3H[K[16;1H15[16;3H[K[17;1H16[17;3H[K[18;1H17[18;3H[K[19;1H18[19;3H[K[20;1H19[20;3H[K[21;1H20[21;3H[K[22;1H21[22;3H[K[23;1H22[23;3H[K[24;1H[K[1;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H23[1;1H[?12l[?25h
[?25l[24;1H:[?12l[?25hw! Xtest
[?25l"Xtest" [24;9H[K[24;9H[New File] 2000000 lines, 14888896 characters written[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hr !cksum Xtest
[?25l[?12l[?25h[27m[23m[m[H[2J[?25l[1;1H1
2
3678979763 14888896 Xtest
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hs/\s/ /g
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformat&
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 26 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test79.in" 255 lines, 3381 characters[1;1HTest 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/[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for *sub-replace-special* and *sub-replace-expression* on :substitute.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1 line, 14 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[12;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H25 lines, 347 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj:s/L/[34m^V^M[m/
j:s/M/\r/
j:s/N/\[34m^V^M[m/
j:s/O/\n/
j:s/P/\b/
j:s/Q/\t/
j:s/R/\\/
j:s/S/\c/
j:s/T/[34m^V^@[m/
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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/&&/
[?25l[15;2HA
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/\&/
[?25l[16;1H&[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/
[?25l[17;11H987654321
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/D/d/
[?25l[18;1Hd[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/E/~/
[?25l[19;1Hd[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/F/\~/
[?25l[20;1H~[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/G/\ugg/
[?25l[21;2Hg
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/H/\Uh\Eh/
[?25l[22;2Hh
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/I/\lII/
[?25l[23;1HiI
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HJ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/J/\LJ\EJ/
[?25l[23;1HjJ
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HK[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/K/\Uk\ek/
[?25l[23;2Hk
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HlLl[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/L/^[34m^M[m/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hl[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HmMm
[?12l[?25h[?25l
:[?12l[?25hs/M/\r/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hm[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HnNn
[?12l[?25h[?25l
:[?12l[?25hs/N/\^[34m^M[m/
[?25l[23;2H[34m^M[mn
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HoOo[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/O/\n/
[?25l[23;2H[34m^@[mo
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HpPp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/P/\b/
[?25l[23;2H[34m^H[mp
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HqQq[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/Q/\t/
[?25l[23;2H q
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HrRr[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/R/\\/
[?25l[23;2H\
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HsSs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/S/\c/
[?25l[23;2Hc
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HtTt[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/T/^[34m^@[m/
[?25l[23;2H[34m^@[mt
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HU[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/U/\L\uuUu\l\EU/
[?25l[23;2HuuU
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HV[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/V/\U\lVvV\u\Ev/
[?25l[23;1HvVVv
[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set nomagic
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H25 lines, 351 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj:s/L/[34m^V^M[m/
j:s/M/\r/
j:s/N/\[34m^V^M[m/
j:s/O/\n/
j:s/P/\b/
j:s/Q/\t/
j:s/R/\\/
j:s/S/\c/
j:s/T/[34m^V^@[m/
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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nomagic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/&&/
[?25l[15;1H&&
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/\&/
[?25l[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/\mC\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/
[?25l[17;11H987654321
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/D/d/
[?25l[18;1Hd[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/E/~/
[?25l[19;1H~[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/F/\~/
[?25l[20;1H~[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/G/\ugg/
[?25l[21;2Hg
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/H/\Uh\Eh/
[?25l[22;2Hh
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/I/\lII/
[?25l[23;1HiI
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HJ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/J/\LJ\EJ/
[?25l[23;1HjJ
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HK[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/K/\Uk\ek/
[?25l[23;2Hk
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HlLl[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/L/^[34m^M[m/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hl[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HmMm
[?12l[?25h[?25l
:[?12l[?25hs/M/\r/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hm[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HnNn
[?12l[?25h[?25l
:[?12l[?25hs/N/\^[34m^M[m/
[?25l[23;2H[34m^M[mn
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HoOo[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/O/\n/
[?25l[23;2H[34m^@[mo
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HpPp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/P/\b/
[?25l[23;2H[34m^H[mp
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HqQq[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/Q/\t/
[?25l[23;2H q
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HrRr[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/R/\\/
[?25l[23;2H\
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HsSs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/S/\c/
[?25l[23;2Hc
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HtTt[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/T/^[34m^@[m/
[?25l[23;2H[34m^@[mt
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HU[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/U/\L\uuUu\l\EU/
[?25l[23;2HuuU
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HV[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/V/\U\lVvV\u\Ev/
[?25l[23;1HvVVv
[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H15 lines, 203 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj:s/B/\='\\'/
j:s/C/\='[34m^V^M[m'/
j:s/D/\='\[34m^V^M[m'/
j:s/E/\='\\[34m^V^M[m'/
j:s/F/\='\r'/
j:s/G/\='[34m^V^@[m'/
j:s/H/\='\[34m^V^@[m'/
j:s/I/\='\\[34m^V^@[m'/
j:s/J/\='\n'/
j:s/K/\="\r"/
j:s/L/\="\n"/
ENDTEST
TEST_3:
aAa
bBb
cCc
dDd
eEe
fFf
gGg
hHh
iIi[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/\='\'/
[?25l[15;2H\
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/\='\\'/
[?25l[16;2H\\b
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/C/\='^[34m^M[m'/
[?25l[18;23r[18;1H[L[1;24r[17;2H[K[18;1Hc[24;1H[K[18;1H[?12l[?25h
[?25l[24;1H:[?12l[?25hs/D/\='\^[34m^M[m'/
[?25l[20;23r[20;1H[L[1;24r[19;2H\[19;3H[K[20;1Hd[24;1H[K[20;1H[?12l[?25h
[?25l
:[?12l[?25hs/E/\='\\^[34m^M[m'/
[?25l[21;2H\\
e[22;2H[K[23;1HfFf[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/F/\='\r'/
[?25l[23;2H\rf
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HgGg[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/G/\='^[34m^@[m'/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hg[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HhHh
[?12l[?25h[?25l
:[?12l[?25hs/H/\='\^[34m^@[m'/
[?25l[1;23r[23;1H
[1;24r[22;2H\[22;3H[K[23;1Hh[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HiIi
[?12l[?25h[?25l
:[?12l[?25hs/I/\='\\^[34m^@[m'/
[?25l[1;23r[23;1H
[1;24r[22;2H\\
i[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HjJj
[?12l[?25h[?25l
:[?12l[?25hs/J/\='\n'/
[?25l[23;2H\nj
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HkKk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/K/\="\r"/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hk[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HlLl
[?12l[?25h[?25l
:[?12l[?25hs/L/\="\n"/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hl[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H15 lines, 611 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj:s/B/\=substitute(submatch(0), '.', '\\', '')/
j:s/C/\=substitute(submatch(0), '.', '[34m^V^M[m', '')/
j:s/D/\=substitute(submatch(0), '.', '\[34m^V^M[m', '')/
j:s/E/\=substitute(submatch(0), '.', '\\[34m^V^M[m', '')/
j:s/F/\=substitute(submatch(0), '.', '\r', '')/
j:s/G/\=substitute(submatch(0), '.', '[34m^V^@[m', '')/
j:s/H/\=substitute(submatch(0), '.', '\[34m^V^@[m', '')/
j:s/I/\=substitute(submatch(0), '.', '\\[34m^V^@[m', '')/
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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/\=substitute(submatch(0), '.', '\', '')/
[?25l[15;2H\
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/\=substitute(submatch(0), '.', '\\', '')/
[?25l[16;2H\
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/C/\=substitute(submatch(0), '.', '^[34m^M[m', '')/
[?25l[18;23r[18;1H[L[1;24r[17;2H[K[18;1Hc[24;1H[K[18;1H[?12l[?25h
[?25l[24;1H:[?12l[?25hs/D/\=substitute(submatch(0), '.', '\^[34m^M[m', '')/
[?25l[20;23r[20;1H[L[1;24r[19;2H[K[20;1Hd[24;1H[K[20;1H[?12l[?25h
[?25l
:[?12l[?25hs/E/\=substitute(submatch(0), '.', '\\^[34m^M[m', '')/
[?25l[21;2H\[21;3H[K[22;1He[22;2H[K[23;1HfFf[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/F/\=substitute(submatch(0), '.', '\r', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hf[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HgGg
[?12l[?25h[?25l
:[?12l[?25hs/G/\=substitute(submatch(0), '.', '^[34m^@[m', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hg[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HhHh
[?12l[?25h[?25l
:[?12l[?25hs/H/\=substitute(submatch(0), '.', '\^[34m^@[m', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hh[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HiIi
[?12l[?25h[?25l
:[?12l[?25hs/I/\=substitute(submatch(0), '.', '\\^[34m^@[m', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H\[22;3H[K[23;1Hi[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HjJj
[?12l[?25h[?25l
:[?12l[?25hs/J/\=substitute(submatch(0), '.', '\n', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hj[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HkKk
[?12l[?25h[?25l
:[?12l[?25hs/K/\=substitute(submatch(0), '.', "\r", '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hk[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HlLl
[?12l[?25h[?25l
:[?12l[?25hs/L/\=substitute(submatch(0), '.', "\n", '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hl[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 445 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[9M[1;24r[15;1H:set cpo&
/^TEST/
j:s/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) ..[18;1H submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch(([19;1H3) . submatch(2) . submatch(1)/
j:s/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), subb[21;1Hmatch(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), subb[22;1Hmatch(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[1;23r[23;1H
[1;24r[23;1HTEST_5:[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HA123456789
[?12l[?25h[?25l
:[?12l[?25hs/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) .
submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch(
[23;80H3[24;1H) . submatch(2) . submatch(1)/
[?25l[1;1H[2L[1;1Hi\
i[23;11H987654321[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HB123456789
[?12l[?25h[?25l
:[?12l[?25hs/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), sub
[23;80Hm[24;1Hatch(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), sub
[23;80Hm[24;1Hatch(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/
[?25l[1;1H[2L[1;1Hi
j[23;1H[['B123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']][24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H8 lines, 80 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[8M[1;24r[16;1H/^TEST/
:set cpo+=/
j:s/A/a/
j:s/B/%/
:set cpo-=/
j:s/C/c/
j:s/D/%/
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1HTEST_6:
A
B[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hset cpo+=/
[?25l[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/a/
[?25l[22;1Ha[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/%/
[?25l[23;1Ha[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo-=/
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1HC
D[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hs/C/c/
[?25l[21;1Hc[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/D/%/
[?25l[22;1H%[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H11 lines, 303 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[11M[1;24r[13;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST_7/
[?25l[24;9H[K[24;1H[1;23r[23;1H
[1;24r[23;1HTEST_7:[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HA[34m^M[mA
[?12l[?25h[?25l
:[?12l[?25hs/A./\=submatch(0)/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1HA[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HB[34m^@[mB
[?12l[?25h[?25l
:[?12l[?25hs/B./\=submatch(0)/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1HB[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HC[34m^@[mC
[?12l[?25h[?25l
:[?12l[?25hs/C./\=strtrans(string(submatch(0, 1)))/
[?25l[23;1H['C^@']C
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HD[34m^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/D.\nD/\=strtrans(string(submatch(0, 1)))/
[?25l[23;1H['D^@', 'D']
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HE[34m^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/E\_.\{-}E/\=strtrans(string(submatch(0, 1)))/
[?25l[23;1H['E^@', '^@', '^@', '^@', '^@E']
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Q$
[?25l[1;23r[23;1H
[1;24r[23;1HQ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/Q[^\n]Q/\=submatch(0)."foobar"/
[?25l[1m[37m[41mE486: Pattern not found: Q[^\n]Q[m[24;33H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Avoid :s error breaks dotest map on Windows.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1HQ
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:function! TitleString()
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H8 lines, 177 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[8M[1;24r[16;3Hlet check = 'foo' =~ 'bar'
return ""
endfunction
:set titlestring=%{TitleString()}
:/^test_one/s/.*/\="foo\nbar"/
:/^test_two/s/.*/\="foo\nbar"/c
y
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! TitleString()
[?25l
: [?12l[?25h let check = 'foo' =~ 'bar'
[?25l: [?12l[?25h return ""
[?25l: [?12l[?25hendfunction
[1;1H[3L[?25l[2;1HTEST_7:
A[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset titlestring=%{TitleString()}
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^test_one/s/.*/\="foo\nbar"/
[?25l[1;23r[1;1H[2M[1;24r[22;1Hfoo
bar[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^test_two/s/.*/\="foo\nbar"/c
[?25l[1;23r[23;1H
[1;24r[23;1H[7mtest_two[m[24;1H[K[24;1H[32mreplace with \="foo\nbar" (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[1;23r[23;1H
[1;24r[22;1Hfoo[22;4H[K[23;1Hbar
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 72 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[23;19H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:1;/^Results/,$wq! test.out[24;1H[K[23;19H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l136 fewer lines[24;16H[K[1;1Ha[1;2H[K[2;1Ha
c
%[5;1H[K[6;1H[K[7;1HTEST_7:[7;8H[K[8;1HA[8;3H[K[9;1HA[9;2H[K[10;1HB[10;2H[K[11;1HB[11;2H[K[12;1H['C^@']C[12;9H[K[13;1H['D^@', 'D']
['E^@', '^@', '^@', '^@', '^@E']
Q
Q[16;2H[K[17;1H[K[18;1H[K[19;1Hfoo
bar
foo[21;4H[K[22;1Hbar[22;4H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test80.in" 201 lines, 6298 characters[1;1HTest 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\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[18;1H, '\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', '')[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for *sub-replace-special* and *sub-replace-expression* on substitute().[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1 line, 14 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H29 lines, 1142 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[12;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[23;1H, '\0\9\8\7\6\5\4\3\2\1', '')[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_1:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1H:set cpo&
:$put =\"\n\nTEST_10:\"
:let y = substitute('123', '\zs', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\zs.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\zs', 'a', 'g')[12C| $put =y
:let y = substitute('123', '\ze', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\ze.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\ze', 'a', 'g')[12C| $put =y
:let y = substitute('123', '1\|\ze', 'a', 'g')[10C| $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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A', 'A', '&&', '')
[?25l[1;23r[23;1H
[1;24r[23;1HAA[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('B', 'B', '\&', '')
[?25l[1;23r[23;1H
[1;24r[23;1H&[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)
[23;80H'[24;1H, '\0\9\8\7\6\5\4\3\2\1', '')
[?25l[1;1H[L[1;1H:let y = substitute('123', '\zs.', 'a', 'g')[12C| $put =y[2;29H.\zs[3;29H\ze', 'a', 'g') [4;32H.', 'a', 'g')[5;29H.\ze[6;29H1\|\ze', 'a', 'g')[7;31Hzs\|[23]', 'a', 'g')
/^TEST_11[8;10H[K[9;1HENDTEST[9;8H[K[10;1H[K[11;1HTEST_11:[12;1H[K[13;1HSTARTTEST
:/^Results/,$wq! test.out
ENDTEST[15;8H[K[16;1H[K[17;1HResults of test72:[18;1H[K[20;1HTEST_1:
AA[21;3H[K[22;1H&[22;2H[K[23;1HC123456789987654321[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('D', 'D', 'd', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('E', 'E', '~', '')
[?25l[1;23r[23;1H
[1;24r[23;1H~[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('F', 'F', '\~', '')
[?25l[1;23r[23;1H
[1;24r[23;1H~[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('G', 'G', '\ugg', '')
[?25l[1;23r[23;1H
[1;24r[23;1HGg[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('H', 'H', '\Uh\Eh', '')
[?25l[1;23r[23;1H
[1;24r[23;1HHh[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('I', 'I', '\lII', '')
[?25l[1;23r[23;1H
[1;24r[23;1HiI[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('J', 'J', '\LJ\EJ', '')
[?25l[1;23r[23;1H
[1;24r[23;1HjJ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('K', 'K', '\Uk\ek', '')
[?25l[1;23r[23;1H
[1;24r[23;1HKk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('lLl', 'L', '^[34m^M[m', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hl[34m^M[ml[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('mMm', 'M', '\r', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hm[34m^M[mm[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('nNn', 'N', '\^[34m^M[m', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hn[34m^M[mn[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('oOo', 'O', '\n', '')
[?25l[1;23r[1;1H[2M[1;24r[22;1Ho
o[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('pPp', 'P', '\b', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hp[34m^H[mp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('qQq', 'Q', '\t', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hq[7Cq[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('rRr', 'R', '\\', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hr\r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('sSs', 'S', '\c', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hscs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('uUu', 'U', \"\n\", '')
[?25l[1;23r[1;1H[2M[1;24r[22;1Hu
u[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('vVv', 'V', \"\b\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hv[34m^H[mv[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('wWw', 'W', \"\\\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hw\w[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('xXx', 'X', \"\r\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hx[34m^M[mx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('Y', 'Y', '\L\uyYy\l\EY', '')
[?25l[1;23r[23;1H
[1;24r[23;1HYyyY[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('Z', 'Z', '\U\lZzZ\u\Ez', '')
[?25l[1;23r[23;1H
[1;24r[23;1HzZZz[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_2
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:$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\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[21;1H, '\0\9\8\7\6\5\4\3\2\1', '')
:$put =substitute('D', 'D', 'd', '')
:$put =substitute('E', 'E', '~', '')
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H29 lines, 1144 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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', '\="\\"', '')[11C| $put =y
:let y = substitute('bBb', 'B', '\="\\\\"', '')[9C| $put =y
:let y = substitute('cCc', 'C', '\="[34m^V^M[m"', '')[9C| $put =y
:let y = substitute('dDd', 'D', '\="\\[34m^V^M[m"', '')[7C| $put =y[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nomagic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_2:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1HHh
iI
jJ
Kk
l[34m^M[ml
m[34m^M[mm
n[34m^M[mn
o
o
p[34m^H[mp
q[7Cq
r\r
scs
u
u
v[34m^H[mv
w\w
x[34m^M[mx
YyyY
zZZz
TEST_2:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A', 'A', '&&', '')
[?25l[1;23r[23;1H
[1;24r[23;1HAA[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('B', 'B', '\&', '')
[?25l[1;23r[23;1H
[1;24r[23;1H&[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)
[23;80H'[24;1H, '\0\9\8\7\6\5\4\3\2\1', '')
[?25l[1;1H[L[1;1HKk
l[34m^M[ml
m[2Cm
n[2Cn
o[5;2H[K[7;1Hp[34m^H[mp
q q
r\r[9;9H[K[10;1Hscs
u[11;2H[K[13;1Hv[34m^H[mv
w\w[14;4H[K[15;1Hx[34m^M[mx
YyyY
zZZz[18;1H[K[20;1HTEST_2:
AA[21;3H[K[22;1H&[22;2H[K[23;1HC123456789987654321[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('D', 'D', 'd', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('E', 'E', '~', '')
[?25l[1;23r[23;1H
[1;24r[23;1H~[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('F', 'F', '\~', '')
[?25l[1;23r[23;1H
[1;24r[23;1H~[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('G', 'G', '\ugg', '')
[?25l[1;23r[23;1H
[1;24r[23;1HGg[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('H', 'H', '\Uh\Eh', '')
[?25l[1;23r[23;1H
[1;24r[23;1HHh[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('I', 'I', '\lII', '')
[?25l[1;23r[23;1H
[1;24r[23;1HiI[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('J', 'J', '\LJ\EJ', '')
[?25l[1;23r[23;1H
[1;24r[23;1HjJ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('K', 'K', '\Uk\ek', '')
[?25l[1;23r[23;1H
[1;24r[23;1HKk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('lLl', 'L', '^[34m^M[m', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hl[34m^M[ml[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('mMm', 'M', '\r', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hm[34m^M[mm[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('nNn', 'N', '\^[34m^M[m', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hn[34m^M[mn[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('oOo', 'O', '\n', '')
[?25l[1;23r[1;1H[2M[1;24r[22;1Ho
o[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('pPp', 'P', '\b', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hp[34m^H[mp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('qQq', 'Q', '\t', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hq[7Cq[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('rRr', 'R', '\\', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hr\r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('sSs', 'S', '\c', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hscs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('tTt', 'T', \"\r\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Ht[34m^M[mt[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('uUu', 'U', \"\n\", '')
[?25l[1;23r[1;1H[2M[1;24r[22;1Hu
u[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('vVv', 'V', \"\b\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hv[34m^H[mv[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('wWw', 'W', \"\\\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hw\w[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('X', 'X', '\L\uxXx\l\EX', '')
[?25l[1;23r[23;1H
[1;24r[23;1HXxxX[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('Y', 'Y', '\U\lYyY\u\Ey', '')
[?25l[1;23r[23;1H
[1;24r[23;1HyYYy[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_3
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:$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', '\="\\"', '')[11C| $put =y
:let y = substitute('bBb', 'B', '\="\\\\"', '')[9C| $put =y
:let y = substitute('cCc', 'C', '\="[34m^V^M[m"', '')[9C| $put =y
:let y = substitute('dDd', 'D', '\="\\[34m^V^M[m"', '')[7C| $put =y
:let y = substitute('eEe', 'E', '\="\\\\[34m^V^M[m"', '') | $put =y
:let y = substitute('fFf', 'F', '\="\\r"', '')[10C| $put =y
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H13 lines, 642 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H:let y = substitute('jJj', 'J', '\="\\n"', '')[10C| $put =y
:let y = substitute('kKk', 'K', '\="\r"', '')[11C| $put =y
:let y = substitute('lLl', 'L', '\="\n"', '')[11C| $put =y
/^TEST_4
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_3:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1HHh
iI
jJ
Kk
l[34m^M[ml
m[34m^M[mm
n[34m^M[mn
o
o
p[34m^H[mp
q[7Cq
r\r
scs
t[34m^M[mt
u
u
v[34m^H[mv
w\w
XxxX
yYYy
TEST_3:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet y = substitute('aAa', 'A', '\="\\"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Ha\a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('bBb', 'B', '\="\\\\"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hb\\b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('cCc', 'C', '\="^[34m^M[m"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hc[34m^M[mc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('dDd', 'D', '\="\\^[34m^M[m"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hd\[34m^M[md[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('eEe', 'E', '\="\\\\^[34m^M[m"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1He\\[34m^M[me[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('fFf', 'F', '\="\\r"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hf\rf[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('jJj', 'J', '\="\\n"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hj\nj[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('kKk', 'K', '\="\r"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hk[34m^M[mk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('lLl', 'L', '\="\n"', '') | $put =y
[?25l[1;23r[1;1H[2M[1;24r[22;1Hl
l[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_4
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:let y = substitute('bBb', 'B', '\="\\\\"', '')[9C| $put =y
:let y = substitute('cCc', 'C', '\="[34m^V^M[m"', '')[9C| $put =y
:let y = substitute('dDd', 'D', '\="\\[34m^V^M[m"', '')[7C| $put =y
:let y = substitute('eEe', 'E', '\="\\\\[34m^V^M[m"', '') | $put =y
:let y = substitute('fFf', 'F', '\="\\r"', '')[10C| $put =y
:let y = substitute('jJj', 'J', '\="\\n"', '')[10C| $put =y
:let y = substitute('kKk', 'K', '\="\r"', '')[11C| $put =y
:let y = substitute('lLl', 'L', '\="\n"', '')[11C| $put =y
/^TEST_4
ENDTEST
TEST_4:
STARTTEST
:set magic&
:set cpo&
:$put =\"\n\nTEST_4:\"
:let y = substitute('aAa', 'A', '\=substitute(submatch(0), ".", "\\", "")', '') [19;1H | $put =y
:let y = substitute('bBb', 'B', '\=substitute(submatch(0), ".", "\\\\", "")', '''[21;1H) | $put =y
:let y = substitute('cCc', 'C', '\=substitute(submatch(0), ".", "[34m^V^M[m", "")', '''[23;1H) | $put =y
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H13 lines, 912 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[14M[1;24r[10;1H:let y = substitute('dDd', 'D', '\=substitute(submatch(0), ".", "\\[34m^V^M[m", "")', [11;1H'') | $put =y
:let y = substitute('eEe', 'E', '\=substitute(submatch(0), ".", "\\\\[34m^V^M[m", "")''[13;1H, '') | $put =y
:let y = substitute('fFf', 'F', '\=substitute(submatch(0), ".", "\\r", "")', ''))[15;1H | $put =y
:let y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''))[17;1H | $put =y
:let y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '') [19;1H | $put =y
:let y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '') [21;1H | $put =y
/^TEST_5
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_4:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1Ht[34m^M[mt
u
u
v[34m^H[mv
w\w
XxxX
yYYy
TEST_3:
a\a
b\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf
j\nj
k[34m^M[mk
l
l
TEST_4:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet y = substitute('aAa', 'A', '\=substitute(submatch(0), ".", "\\", "")', '')
| $put =y
[?25l[1;1H[L[1;1Hu
v[34m^H[mv
w\w[4;4H[K[5;1HXxxX
yYYy[7;1H[K[9;1HTEST_3:
a\a[10;4H[K[11;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[15;5H[K[16;1Hj\nj
k[34m^M[mk
l[18;2H[K[20;1H[K[22;1HTEST_4:
a\a[23;4H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('bBb', 'B', '\=substitute(submatch(0), ".", "\\\\", "")', '
[23;80H'[24;1H) | $put =y
[?25l[1;1H[L[1;1Hu
v[34m^H[mv
w\w[3;4H[K[4;1HXxxX
yYYy[6;1H[K[8;1HTEST_3:
a\a[9;4H[K[10;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[14;5H[K[15;1Hj\nj
k[34m^M[mk
l[17;2H[K[19;1H[K[21;1HTEST_4:
a\a[22;4H[K[23;1Hb\b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('cCc', 'C', '\=substitute(submatch(0), ".", "^[34m^M[m", "")', '')
| $put =y
[?25l[1;1H[L[1;1Hv[34m^H[mv
w\w[2;4H[K[3;1HXxxX
yYYy[5;1H[K[7;1HTEST_3:
a\a[8;4H[K[9;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[13;5H[K[14;1Hj\nj
k[34m^M[mk
l[16;2H[K[18;1H[K[20;1HTEST_4:
a\a[21;4H[K[22;1Hb\b
c[34m^M[mc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('dDd', 'D', '\=substitute(submatch(0), ".", "\\^[34m^M[m", "")', '
[23;80H'[24;1H) | $put =y
[?25l[1;1H[L[1;1Hw\w
XxxX
yYYy[4;1H[K[6;1HTEST_3:
a\a[7;4H[K[8;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[12;5H[K[13;1Hj\nj
k[34m^M[mk
l[15;2H[K[17;1H[K[19;1HTEST_4:
a\a[20;4H[K[21;1Hb\b
c[34m^M[mc
d[2Cd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('eEe', 'E', '\=substitute(submatch(0), ".", "\\\\^[34m^M[m", "")',
'') | $put =y
[?25l[1;1H[L[1;1HXxxX
yYYy[3;1H[K[5;1HTEST_3:
a\a[6;4H[K[7;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[11;5H[K[12;1Hj\nj
k[34m^M[mk
l[14;2H[K[16;1H[K[18;1HTEST_4:
a\a[19;4H[K[20;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('fFf', 'F', '\=substitute(submatch(0), ".", "\\r", "")', ''
[23;80H)[24;1H | $put =y
[?25l[1;1H[L[1;1HyYYy[2;1H[K[4;1HTEST_3:
a\a[5;4H[K[6;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[10;5H[K[11;1Hj\nj
k[34m^M[mk
l[13;2H[K[15;1H[K[17;1HTEST_4:
a\a[18;4H[K[19;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me
f[34m^M[mf[23;5H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''
[23;80H)[24;1H | $put =y
[?25l[1;1H[L[2;1HTEST_3:
a\a
b\\b[4;5H[K[5;1Hc[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[8;5H[K[9;1Hj\nj[9;5H[K[10;1Hk[34m^M[mk
l[11;2H[K[12;1Hl[12;2H[K[13;1H[K[14;1H[K[15;1HTEST_4:
a\a
b\b[17;4H[K[18;1Hc[34m^M[mc
d[34m^M[md
e\[34m^M[me
f[2Cf
j[22;2H[K[23;1Hj[23;2H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '')
| $put =y
[?25l[1;1H[L[1;1HTEST_3:
a\a[2;4H[K[3;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[7;5H[K[8;1Hj\nj
k[34m^M[mk
l[10;2H[K[12;1H[K[14;1HTEST_4:
a\a[15;4H[K[16;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me
f[34m^M[mf[20;5H[K[21;1Hj[21;2H[K[23;1Hk[34m^M[mk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '')
| $put =y
[?25l[1;1H[L[1;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[5;5H[K[6;1Hj\nj[6;5H[K[7;1Hk[34m^M[mk
l[8;2H[K[9;1Hl[9;2H[K[10;1H[K[11;1H[K[12;1HTEST_4:
a\a
b\b[14;4H[K[15;1Hc[34m^M[mc
d[34m^M[md
e\[34m^M[me
f[2Cf
j[19;2H[K[20;1Hj[20;2H[K[21;1Hk[34m^M[mk
l
l[23;2H[K[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_5
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:let y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''))[2;1H | $put =y
:let y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '') [4;1H | $put =y
:let y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '') [6;1H | $put =y
/^TEST_5
ENDTEST
TEST_5:
STARTTEST
:set magic&
:set cpo&
:$put =\"\n\nTEST_5:\"
:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[17;1H, '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submaa[18;1Htch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')
:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[20;1H, '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), subb[21;1Hmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), subb[22;1Hmatch(1, 1)])', '')
/^TEST_6
[31msearch hit BOTTOM, continuing at TOP[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[12;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H6 lines, 543 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1HENDTEST[24;1H[K[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_5:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1He\\[34m^M[me
f\rf
j\nj
k[34m^M[mk
l
l
TEST_4:
a\a
b\b
c[34m^M[mc
d[34m^M[md
e\[34m^M[me
f[34m^M[mf
j
j
k[34m^M[mk
l
l
TEST_5:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)
[23;80H'[24;1H, '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . subm
[23;80Ha[24;1Htch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')
[?25l[1;1H[2L[1;1Hf\rf
j\nj
k[34m^M[mk
l[4;2H[K[6;1H[K[8;1HTEST_4:
a\a[9;4H[K[10;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me
f[34m^M[mf[14;5H[K[15;1Hj[15;2H[K[17;1Hk[34m^M[mk
l[18;2H[K[20;1H[K[22;1HTEST_5:
A123456789987654321[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)
[23;80H'[24;1H, '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), su
[23;80Hb[24;1Hmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), su
[23;80Hb[24;1Hmatch(1, 1)])', '')
[?25l[1;1H[3L[1;1Hj\nj
k[34m^M[mk
l[5;1H[K[7;1HTEST_4:
a\a[8;4H[K[9;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me
f[34m^M[mf[13;5H[K[14;1Hj[14;2H[K[16;1Hk[34m^M[mk
l[17;2H[K[19;1H[K[21;1HTEST_5:
A123456789987654321
[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']][24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_6
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:$put =\"\n\nTEST_5:\"
:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[3;1H, '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submaa[4;1Htch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')
:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[6;1H, '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), subb[7;1Hmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), subb[8;1Hmatch(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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H9 lines, 216 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[23;1H
[1;24r[23;1HENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1HTEST_7:[21;1H[?12l[?25h[?25l
:so! Xdotest
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_6:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1Hl
TEST_4:
a\a
b\b
c[34m^M[mc
d[34m^M[md
e\[34m^M[me
f[34m^M[mf
j
j
k[34m^M[mk
l
l
TEST_5:
A123456789987654321
[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]
TEST_6:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo+=/
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A', 'A', 'a', '')
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('B', 'B', '%', '')
[?25l[1;23r[23;1H
[1;24r[23;1H%[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset cpo-=/
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('C', 'C', 'c', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('D', 'D', '%', '')
[?25l[1;23r[23;1H
[1;24r[23;1H%[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_7
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: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[34m^V^M[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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H9 lines, 313 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[23;1H
[1;24r[23;1HENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_7:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1Hd[34m^M[md
e\[34m^M[me
f[34m^M[mf
j
j
k[34m^M[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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A^[34m^M[mA', 'A.', '\=submatch(0)', '')
[?25l[1;23r[23;1H
[1;24r[23;1HA[34m^M[mA[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')
[?25l[1;23r[1;1H[2M[1;24r[22;1HB
B[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '')
[?25l[1;23r[1;1H[2M[1;24r[22;1H['B
']B[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('-bb', '\zeb', 'a', 'g')
[?25l[1;23r[23;1H
[1;24r[23;1H-abab[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('-bb', '\ze', 'c', 'g')
[?25l[1;23r[23;1H
[1;24r[23;1Hc-cbcbc[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_8
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:set magic&
:set cpo&
:$put =\"\n\nTEST_7:\"
:$put =substitute('A[34m^V^M[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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H10 lines, 186 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1Hyy/^TEST_9:
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_8:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1HTEST_5:
A123456789987654321
[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]
TEST_6:
a
%
c
%
TEST_7:
A[34m^M[mA
B
B
['B
']B
-abab
c-cbcbc
TEST_8:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =',,X'
[?25l[1;23r[23;1H
[1;24r[23;1H,,X[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(^\|,\)\ze\(,\|X\)/\1N/g
[?25l[23;1HN,,NX
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =',,Y'
[?25l[1;23r[23;1H
[1;24r[23;1H,,Y[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(^\|,\)\ze\(,\|Y\)/\1N/gc
[?25l[23;1H[7m,[m
[32mreplace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;1HN,,NY
[?12l[?25h[?25l
:[?12l[?25h$put =',,Z'
[?25l[1;23r[23;1H
[1;24r[23;1H,,Z[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(^\|,\)\ze\(,\|Z\)/\1N/gc
[?25l[23;1H[7m,[m
[32mreplace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;1HN,[7m,[mZ
[32mreplace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;3H,NZ
[?12l[?25h[?25l
/[?12l[?25h^TEST_9:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: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:
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H6 lines, 82 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_9:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1Ha
%
c
%
TEST_7:
A[34m^M[mA
B
B
['B
']B
-abab
c-cbcbc
TEST_8:
N,,NX
N,,NY
N,,NZ
TEST_9:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='xxx'
[?25l[1;23r[23;1H
[1;24r[23;1Hxxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/x/X/gc
[?25l[23;1H[7mx[m
[32mreplace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;1HX[7mx[m
[32mreplace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;2HX[7mx[m
[32mreplace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;3Hx[?12l[?25h[?25l
/[?12l[?25h^TEST_10:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1HTEST_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')[13C| $put =y
:let y = substitute('123', '\zs.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\zs', 'a', 'g')[12C| $put =y
:let y = substitute('123', '\ze', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\ze.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\ze', 'a', 'g')[12C| $put =y
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H12 lines, 584 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H:let y = substitute('123', '1\|\ze', 'a', 'g')[10C| $put =y
:let y = substitute('123', '1\zs\|[23]', 'a', 'g') | $put =y
/^TEST_11
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_10:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[3;1HTEST_7:
A[34m^M[mA
B
B
['B
']B
-abab
c-cbcbc
TEST_8:
N,,NX
N,,NY
N,,NZ
TEST_9:
XXx
TEST_10:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet y = substitute('123', '\zs', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Ha1a2a3a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '\zs.', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '.\zs', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1H1a2a3a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '\ze', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Ha1a2a3a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '\ze.', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Ha1a2a3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '.\ze', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '1\|\ze', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Haa2a3a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '1\zs\|[23]', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1H1aaa[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_11
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:let y = substitute('123', '\zs', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\zs.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\zs', 'a', 'g')[12C| $put =y
:let y = substitute('123', '\ze', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\ze.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\ze', 'a', 'g')[12C| $put =y
:let y = substitute('123', '1\|\ze', 'a', 'g')[10C| $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
&
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H1 line, 26 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^Results/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test82.in" 103 lines, 3166 characters[1;1HTests 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[17;1H:b, a:expected))
: else
: let b:passed += 1
: endif
:endfunction
:
:function! Chk(a, b, result)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 97 lines, 3055 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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%.22[4;1HX', n)) | endfor
:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ[6;1H\xc2\x%.2XuVw', n)) | endfor
:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ[8;1H\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[34m^[[mgg0g~ap:let lns = getline(1,3)
:q!
:call append(line('$'), lns)
:"
:wq! test.out
ENDTEST
[1m[34m~ [23;1H~ [20;1H[?12l[?25h
[?25l
[m:so! Xdotest
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1H: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%.22[4;1HX', n)) | endfor[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hset enc=utf8
[?25l[27m[23m[m[H[2J[1;1H: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%.22[4;1HX', n)) | endfor
:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ[6;1H\xc2\x%.2XuVw', n)) | endfor
:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ[8;1H\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[34m^[[mgg0g~ap:let lns = getline(1,3)
:q!
:call append(line('$'), lns)
:"
:wq! test.out
ENDTEST
[1m[34m~ [23;1H~ [21;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HTests 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[17;1H:b, a:expected))
: else
: let b:passed += 1
: endif
:endfunction
:
:function! Chk(a, b, result)[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[23;80H:[24;1Hop, a:b, a:expected))
[?25l: [?12l[?25h: else
[?25l: [?12l[?25h: let b:passed += 1
[?25l: [?12l[?25h: endif
[?25l: [?12l[?25h:endfunction
[1;1H[7L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[3L[?25l[2;1H[1m[34m~ [3;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! LT(a, b)
[?25l
: [?12l[?25h: call Check(a:a, a:b, -1)
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[2;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! GT(a, b)
[?25l
: [?12l[?25h: call Check(a:a, a:b, 1)
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[2;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! EQ(a, b)
[?25l
: [?12l[?25h: call Check(a:a, a:b, 0)
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[2;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b:passed=0
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('', '')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('', 'a')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('abc', 'abc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('Abc', 'abC')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('ab', 'abc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('AB', 'abc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('ab', 'aBc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xd0\xb9\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd', '\xd0\xb9\xd0\xa6\
[23;80Hx[24;1Hd0\xa3\xd0\xba\xd0\x95\xd0\xbd')
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall LT('\xd0\xb9\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd', '\xd0\xaf\xd1\x86\
[23;80Hx[24;1Hd1\x83\xd0\xba\xd0\xb5\xd0\xbd')
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall EQ('\xe2\x84\xaa', 'k')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('\xe2\x84\xaa', 'kkkkkk')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xe2\x84\xaa\xe2\x84\xaa\xe2\x84\xaa', 'kkk')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('kk', '\xe2\x84\xaa\xe2\x84\xaa\xe2\x84\xaa')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xe2\x84\xaa\xe2\x84\xa6k\xe2\x84\xaak\xcf\x89', 'k\xcf\x89\xe2\x84\x
[23;80Ha[24;1Hakk\xe2\x84\xa6')
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall EQ('Abc\x80', 'AbC\x80')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('Abc\x80', 'AbC\x81')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('Abc', 'AbC\x80')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('abc\x80DEF', 'abc\x80def') " case folding stops at the first bad cha
[23;80Hr[24;1Hacter
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall LT('\xc3XYZ', '\xc3xyz')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xef\xbc\xba', '\xef\xbd\x9a') " FF3A (upper), FF5A (lower)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall GT('\xef\xbc\xba', '\xef\xbc\xff') " first string is ok and equals \xef\
[23;80Hx[24;1Hbd\x9a after folding, second string is illegal and was left unchanged, then the
strings were bytewise compared
[?25l[1;1H[2L[2;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall LT('\xc3', '\xc3\x83')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xc3\xa3xYz', '\xc3\x83XyZ')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.
[23;80H2[24;1HX', n)) | endfor
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfor n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('Xy
[23;80HZ[24;1H\xc2\x%.2XuVw', n)) | endfor
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfor n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('Xy
[23;80HZ[24;1H\xc2\x%.2XuVw', n)) | endfor
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall append(0, printf('%d checks passed', b:passed))
[?25l[1;23r[1;1H[L[1;24r[1;1H3732 checks passed[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test that g~ap changes one paragraph only.
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [m[12;1H[1m[7m[No Name] [m[13;1H3732 checks passed[13;19H[K[14;1H[K[23;1H[7mtest82.in [+] [1;1H[?12l[?25h[?25l[mabcd[2;1H[K[3;1Hdefg[3;5H[K[12;11H[1m[7m[+][3;4H[?12l[?25h[1;1H[?25l[mABCD
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet lns = getline(1,3)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[1;1H3732 checks passed
[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), lns)
[?25l[3;1HABCD[3;5H[K[4;1H[K[5;1Hdefg[5;5H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test84.in" 35 lines, 786 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for curswant not changing when setting an option[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 25 lines, 637 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[6M[1;24r[18;1H:put =map(copy(result), 'join(v:val, '' '')')
:1 delete _
:write test.out
:
:qall!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start target options$/+1,/^end target options$/-1 yank
[?25l3 lines yanked[24;15H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet target_option_names = split(@0)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1H: 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[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;2Hendfor[13;9H[K[14;2H[K[15;2Hnew
:put =map(copy(result), 'join(v:val, '' '')')
:1 delete _[17;12H[K[18;2Hwrite test.out[19;2H[K[20;2Hqall!
ENDTEST[22;1H[K[23;1H[7mtest84.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput =['1234567890', '12345']
[?25l[2;1H1234567890[2;11H[K[3;1H12345[3;6H[K[12;11H[1m[7m[+][3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h1 delete _
[?25l[1;11r[11;1H
[1;24r[11;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet result = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor option_name in target_option_names
[?25l
: [?12l[?25h: call add(result, TestCurswant(option_name))
[?25l: [?12l[?25h:endfor
[1;1H[2L[?25l[1;1H1234567890
12345[24;1H[K[2;5H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[9;1H1234567890
12345
[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [+] [m[17;1H:1 delete _
:write test.out
:
:qall!
ENDTEST
[7mtest84.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hput =map(copy(result), 'join(v:val, '' '')')
[?25l3 more lines[24;13H[K[2;1Htabstop 7 4[2;12H[K[3;1Htimeoutlen 7 7[3;15H[K[4;1Httimeoutlen 7 7[4;16H[K[8;11H[1m[7m[+][4;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h1 delete _
[?25l[1;7r[7;1H
[1;24r[7;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hwrite test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 3 lines, 43 characters written[8;1H[1m[7mtest.out] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqall!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test88.in" 99 lines, 1449 characters[1;1Hvim: 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1Hvim: set ft=vim[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 82 lines, 1216 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[19;9H.concealed. text[20;9H|concealed| text
.a. .b. .c. .d.
|a| |b| |c| |d|[13;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has('conceal')
[?25l
: [?12l[?25h e! test.ok
[?25l: [?12l[?25h wq! test.out
[?25l: [?12l[?25h:endif
[1;1H[3L[?25l[1;1H:normal W
GGk
:normal W[24;1H[K[14;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" Conceal settings.
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset conceallevel=2
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset concealcursor=nc
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyntax match test /|/ conceal
[?25l[17;1Hconcealed [20;9Hconcealed
a b c d[23;26H[K[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Save current cursor position. Only works in <expr> mode, can't be used
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" with :normal because it moves the cursor to the command line. Thanks to ZyX
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" <zyx.vim@gmail.com> for the idea to use an <expr> mapping.
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet positions = []
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnnoremap <expr> GG ":let positions += ['".screenrow().":".screencol()."']\n"
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Start test.
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start:
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal ztj
[?25l[1;23r[1;1H[14M[1;24r[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:let positions += ['2:1']
[2;1H[?12l[?25h[1;1H[2;1H[?25l[24;1H[K[24;1H:[?12l[?25h" We should end up in the same column when running these commands on the two
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" lines.
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal ft
[?25l[2;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['2:17']
[2;17H[?12l[?25h[1;6H[2;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[2;20H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['2:20']
[2;20H[?12l[?25h[1;6H[2;20H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['3:1']
[3;1H[?12l[?25h[2;1H[3;1H[?25l[24;1H[K[24;1H:[?12l[?25hnormal ft
[?25l[3;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['3:17']
[3;17H[?12l[?25h[2;17H[3;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[3;20H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['3:20']
[3;20H[?12l[?25h[2;20H[3;20H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j0j
[?25l[5;8H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['5:8']
[5;8H[?12l[?25h[4;1H[5;8H[?25l[24;1H[K[24;1H:[?12l[?25h" Same for next test block.
[?25l[5;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal ft
[?25l[5;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['5:25']
[5;25H[?12l[?25h[4;1H[5;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[5;28H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['5:28']
[5;28H[?12l[?25h[4;1H[5;28H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j
[?25l[6;8H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['6:8']
[6;8H[?12l[?25h[5;8H[6;8H[?25l[24;1H[K[24;1H:[?12l[?25hnormal ft
[?25l[6;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['6:25']
[6;25H[?12l[?25h[5;25H[6;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[6;28H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['6:28']
[6;28H[?12l[?25h[5;28H[6;28H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j0j
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:1']
[8;1H[?12l[?25h[7;1H[8;1H[?25l[24;1H[K[24;1H:[?12l[?25h" And check W with multiple tabs and conceals in a line.
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[8;9H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:9']
[8;9H[?12l[?25h[7;1H[8;9H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[8;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:17']
[8;17H[?12l[?25h[7;1H[8;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[8;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:25']
[8;25H[?12l[?25h[7;1H[8;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[8;27H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:27']
[8;27H[?12l[?25h[7;1H[8;27H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:1']
[9;1H[?12l[?25h[8;1H[9;1H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;9H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:9']
[9;9H[?12l[?25h[8;9H[9;9H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:17']
[9;17H[?12l[?25h[8;17H[9;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:25']
[9;25H[?12l[?25h[8;25H[9;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:26']
[9;26H[?12l[?25h[8;27H[9;26H[?25l[24;1H[K[24;1H:[?12l[?25hset lbr
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:26']
[9;26H[?12l[?25h[8;27H[9;26H[?25l[24;1H[K[24;1H:[?12l[?25hset list listchars=tab:>-
[?25l[3;10H[34m>------
>-------[11C>----
>-------[9C>------[8;4H>----[m.b.[34m>----[m.c.[34m>----
[ma[34m>------[mb[34m>------[mc[34m>------[9;26H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnormal 0
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:1']
[9;1H[?12l[?25h[8;1H[9;1H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;9H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:9']
[9;9H[?12l[?25h[8;9H[9;9H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:17']
[9;17H[?12l[?25h[8;17H[9;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:25']
[9;25H[?12l[?25h[8;25H[9;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:26']
[9;26H[?12l[?25h[8;27H[9;26H[?25l[24;1H[K[24;1H:[?12l[?25h" Display result.
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', 'end:')
[?25l[10;1Hend:[10;5H[K[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', positions)
[?25l[11;1H2:1[11;4H[K[12;1H2:17[12;5H[K[13;1H2:20[13;5H[K[14;1H3:1[14;4H[K[15;1H3:17[15;5H[K[16;1H3:20[16;5H[K[17;1H5:8[17;4H[K[18;1H5:25[18;5H[K[19;1H5:28[19;5H[K[20;1H6:8[20;4H[K[21;1H6:25[21;5H[K[22;1H6:28[22;5H[K[23;1H8:1[23;4H[K[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^end/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test90.in" 53 lines, 1204 characters[1;1HTests 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("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b78522[12;1Hb855'
: let res='ok'
:else
: let res='ng'
:endif
:$put =testcase.res
:"
:let testcase='test for 1 char: '
:if sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee[21;1He48bb'
: let res='ok'
:else[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for sha256() function. vim: set ft=vim et ts=2 sw=2 :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 47 lines, 1114 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:"
:let testcase='test for contains meta char: '
:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[4;1H39ed110ca776'
: 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") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb00[13;1Hb8d27db8d5feaa813953'
: let res='ok'
:else
: let res='ng'
:endif
:$put =testcase.res
:"
:/^start:/,$wq! test.out
ENDTEST
start:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has('cryptv') || !exists('*sha256')
[?25l
: [?12l[?25h e! test.ok
[?25l: [?12l[?25h wq! test.out
[?25l: [?12l[?25h:endif
[1;1H[3L[?25l[1;1H:"
:let testcase='test for contains meta char: '
:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[4;1H3[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for empty string: '
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b785
[23;80H2[24;1Hb855'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:"
:let testcase='test for contains meta char: '
:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[4;1H39ed110ca776'[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[1;23r[23;1H
[1;24r[23;1Htest for empty string: ok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for 1 char: '
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785af
[23;80He[24;1He48bb'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:let testcase='test for contains meta char: '
:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[3;1H39ed110ca776'
: let res='ok'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[1;23r[23;1H
[1;24r[23;1Htest for 1 char: ok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for 3 chars: '
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("abc") ==# 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61
[23;80Hf[24;1H20015ad'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[2;1H39ed110ca776'
: let res='ok'
:else[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[1;23r[1;1H[2M[1;24r[22;1Htest for 3 chars: ok
[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for contains meta char: '
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8c
[23;80Hc[24;1H39ed110ca776'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H: let res='ok'
:else
: let res='ng'
:endif[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[23;1Htest for contains meta char: ok[23;32H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for contains non-ascii char: '
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("\xde\xad\xbe\xef") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb
[23;80H0[24;1Hb8d27db8d5feaa813953'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H: let res='ok'
:else
: let res='ng'
:endif[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[1;23r[23;1H
[1;24r[23;1Htest for contains non-ascii char: ok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test91.in" 116 lines, 3240 characters[1;1HTests 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))[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 109 lines, 3127 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Use strings to test for memory leaks.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" First, check that in an empty window, gettabvar() returns the correct value
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet t:testvar='abcd'
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(gettabvar(1,'testvar'))
[?25l[1;23r[23;1H
[1;24r[23;1H'abcd'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(1,'testvar'))
[?25l[1;23r[23;1H
[1;24r[23;1H'abcd'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" Test for getbufvar()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b:var_num = '1234'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet def_num = '5678'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getbufvar(1, 'var_num'))
[?25l[1;23r[23;1H
[1;24r[23;1H'1234'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, 'var_num', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H'1234'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H{'var_num': '1234'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, '', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H{'var_num': '1234'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet b:var_num
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getbufvar(1, 'var_num', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H'5678'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, '', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(9, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(9, '', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H'5678'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet def_num
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getbufvar(1, '&autoindent'))
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, '&autoindent', 1))
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Open new window with forced option values
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=unix,dos
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew ++ff=dos ++bin ++enc=iso-8859-2
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[14;1H{'var_num': '1234'}
'5678'[16;7H[K[17;1H{}[17;3H[K[19;1H''
'5678'
0[21;2H[K[23;1H[7mtest91.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet otherff = getbufvar(bufnr('%'), '&fileformat')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet otherbin = getbufvar(bufnr('%'), '&bin')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet otherfenc = getbufvar(bufnr('%'), '&fenc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:$put =string(gettabwinvar(9, 3, '', def_dict))
:unlet def_dict[2;16H[K[3;1H:$put =string(gettabwinvar(2, 3, '&nux'))[3;42H[K[4;1H:$put =string(gettabwinvar(2, 3, '&nux', 1))[4;45H[K[5;1H:tabonly[5;9H[K[6;1H:"[6;3H[K[7;1H:/^start/,$wq! test.out[7;24H[K[8;1HENDTEST[8;8H[K[9;1H[K[10;1Hstart:[10;7H[K[11;1H'abcd'[11;7H[K[12;1H'abcd'[12;7H[K[14;1H'1234'[14;7H[K[16;1H{'var_num': '1234'}
'5678'
{}
''[20;3H[K[21;1H'5678'
0[23;2H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =otherff
[?25l[1;23r[23;1H
[1;24r[23;1Hdos[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(otherbin)
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =otherfenc
[?25l[1;23r[23;1H
[1;24r[23;1Hiso-8859-2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet otherff otherbin otherfenc
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for getwinvar()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet w:var_str = "Dance"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet def_str = "Chance"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getwinvar(1, 'var_str'))
[?25l[1;23r[23;1H
[1;24r[23;1H'Dance'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, 'var_str', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H'Dance'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H{'var_str': 'Dance'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, '', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H{'var_str': 'Dance'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet w:var_str
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getwinvar(1, 'var_str', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H'Chance'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, '', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(9, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(9, '', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H'Chance'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, '&nu'))
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, '&nu', 1))
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet def_str
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for gettabvar()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabnew
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25htabnew
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [No Name] [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet t:var_list = [1, 2, 3]
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet t:other = 777
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet def_list = [4, 5, 6, 7]
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m + test91.in [m[4m[30m[47m [No Name] [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[2;1H{'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[2;23r[23;1H
[1;24r[23;1H[1, 2, 3][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, 'var_list', def_list))
[?25l[2;23r[23;1H
[1;24r[23;1H[1, 2, 3][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H{'var_list': [1, 2, 3], 'other': 777}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, '', def_list))
[?25l[2;23r[23;1H
[1;24r[23;1H{'var_list': [1, 2, 3], 'other': 777}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25htablast
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [No Name] [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hunlet t:var_list
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m + test91.in [m[4m[30m[47m [No Name] [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[2;1H''
'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[2;23r[23;1H
[1;24r[23;1H[4, 5, 6, 7][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(9, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(9, '', def_list))
[?25l[2;23r[23;1H
[1;24r[23;1H[4, 5, 6, 7][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, '&nu'))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, '&nu', def_list))
[?25l[2;23r[23;1H
[1;24r[23;1H[4, 5, 6, 7][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet def_list
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabonly
[?25l[1;1Hdos[1;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for gettabwinvar()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabnew
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25htabnew
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [No Name] [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25htabprev
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [No Name] [m[4m[30m[47m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hsplit
[?25l[1;15H[1m[35m2[m[1mN o[No Name] [m[4m[30m[47m [No Name] [m[42C[7m [m[1;80H[4m[30m[47mX[m[12;1H[1m[7m[No Name] [m[13;1H[K[23;1H[7m[No Name] [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsplit
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [m[1m[35m3[m[1m [No Name] [m[4m[30m[47m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[9;1H[1m[7m[No Name] [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hwincmd w
[?25l[9;1H[7m[No Name][m[1m[7m [m[7m [m[16;1H[1m[7m[No Name] [m[1;80H[7m [m[1;80H[4m[30m[47mX[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hvert split
[?25l[1;15H[1m[35m4[m[1m [m[63C[7m [m[1;80H[4m[30m[47mX[m[10;41H[7m|[11;41H|[12;41H|[13;41H|[14;41H|[15;41H|[m[11;42H[1m[34m~[12;42H~[13;42H~[14;42H~[15;42H~[m[16;42H[7m[No Name] [10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd w
[?25l[16;1H[7m[No Name][m[1m[7m [m[7m [m[1m[7m[No Name] [m[1;80H[7m [m[1;80H[4m[30m[47mX[10;42H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet w:var_dict = {'dict': 'tabwin'}
[?25l[10;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet def_dict = {'dict2': 'newval'}
[?25l[10;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd b
[?25l[16;42H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [m[1;80H[7m [m[1;80H[4m[30m[47mX[17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m + test91.in [m[4m[30m[47m [m[4m[35m[47m4[m[4m[30m[47m [No Name] [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[2;1H1
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[2;23r[23;1H
[1;24r[23;1H{'dict': 'tabwin'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{'dict': 'tabwin'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H{'var_dict': {'dict': 'tabwin'}}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, '', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{'var_dict': {'dict': 'tabwin'}}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25htabnext
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [m[1m[35m4[m[1m [No Name] [m[4m[30m[47m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[9;1H[7m[No Name] [10;41H|[11;41H|[12;41H|[13;41H|[14;41H|[15;41H|[m[11;1H[1m[34m~
~
~
~
~ [m
[7m[No Name] [m[11;42H[1m[34m~ [12;42H~ [13;42H~ [14;42H~ [15;42H~ [m[16;42H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [17;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h3wincmd w
[?25l[16;42H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;80H [m[1;80H[4m[30m[47mX[10;42H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hunlet w:var_dict
[?25l[10;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m + test91.in [m[4m[30m[47m [m[4m[35m[47m4[m[4m[30m[47m [No Name] [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[2;1H{'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[2;23r[23;1H
[1;24r[23;1H{'dict2': 'newval'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, '', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 9, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 9, '', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{'dict2': 'newval'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(9, 3, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(9, 3, '', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{'dict2': 'newval'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet def_dict
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(gettabwinvar(2, 3, '&nux'))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, '&nux', 1))
[?25l[2;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25htabonly
[?25l[1;1H0[1;2H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test94.in" 256 lines, 4824 characters[1;1HTest 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()[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for Visual mode and operators[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[18;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 211 lines, 3837 characters written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[19;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hkv3lyjv3lpgvcxxx[34m^[[m
:$put ='---'
:
:$put =''
:$put ='gv in exclusive select mode without operation'
:$put ='zzz '
:set selection=exclusive
0v3l[34m^[[mgvcxxx[34m^[[m
:$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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=utf-8 nocp viminfo+=nviminfo
[?25l[27m[23m[m[H[2J[1;1Hkv3lyjv3lpgvcxxx[34m^[[m
:$put ='---'
:
:$put =''
:$put ='gv in exclusive select mode without operation'
:$put ='zzz '
:set selection=exclusive
0v3l[34m^[[mgvcxxx[34m^[[m
:$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[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" User functions
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction MoveToCap()
[?25l
: [?12l[?25h: call search('\u', 'W')
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1Hkv3lyjv3lpgvcxxx[34m^[[m
:$put ='---'[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[6L[?25l[1;1Hkv3lyjv3lpgvcxxx[34m^[[m
:$put ='---'
:
:$put =''
:$put ='gv in exclusive select mode without operation'
:$put ='zzz '[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Visual modes followed by operator
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^apple
[?25l[16;1H[?12l[?25ha[?25l[24;1H[1m-- VISUAL --[16;2H[?12l[?25h[?25l[m[7mp[?12l[?25h[?25l[mle banana cherry[16;18H[K[24;1H[K[16;2H[?12l[?25h[?25l banana cherry[16;16H[K[16;2H[?12l[?25h [?25l[7mbanan[m[24;1H[1m-- VISUAL --[16;8H[?12l[?25h[?25l[m
a cherry[16;10H[K[24;1H[K[16;3H[?12l[?25h[?25ly[16;4H[K[16;3H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[16;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^line 1
[?25l[18;1H[?12l[?25h[?25ll[7mine 1 line 1 [m[24;1H[1m-- VISUAL LINE --[18;1H[?12l[?25h[?25l[24;4HINSERT --N[m[24;13H[K[24;1H[K[18;1Hnewline[18;8H[K[18;7H[?12l[?25h[19;7H[?25l[24;1H[1m-- INSERT --[m[24;1H[K[19;1Hnewline[19;8H[K[19;7H[?12l[?25h[20;7H[?25l
[7mline 3 line 3
line 4[m [7mline 4 [m
[1m-- VISUAL LINE --[21;7H[?12l[?25h[?25l[m[20;1Hline 5 line 5[20;14H[K[21;1Hline 6 line 6[21;14H[K[22;1H[K[23;1Hxxxxxxxxxxxxx[24;1H[K[20;1H[?12l[?25h[?25l[20;1H[K[21;1Hxxxxxxxxxxxxx
xxxxxxxxxxxxx[20;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^xxxx
[?25l[21;1H[?12l[?25h[?25l
[1m-- VISUAL BLOCK --[21;1H[?12l[?25h[?25l[m[7mx
[?12l[?25h[?25l[21;2Hx
x[?12l[?25h[?25l[m[24;4H[1mINSERT --O[m[24;13H[K[24;1H[K[21;1H
[21;2H[?12l[?25h [?25l
[1m-- INSERT --[m[24;1H[K[21;3H
[21;4H[?12l[?25h [?25l[1;23r[23;1H
[1;24r[20;5H[7mxxxx
[m [7mxxxx
[mxxxx[7mxxxx[m
xxxx[7mxxx[mxxxxxx
[1m-- VISUAL BLOCK --[23;8H[?12l[?25h[?25l
-- INSERT --O[m[24;13H[K[24;1H[K[20;5H----
----
xxxx----
xxxx----[20;8H[?12l[?25h-[?25l[24;1H[1m-- INSERT --[m[24;1H[K[20;9H----[21;9H----[22;9H----[23;9H----[20;12H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Visual mode maps (movement and text object)
[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hvnoremap W /\u/s-1<CR>
[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hvnoremap iW :<C-U>call SelectInCaps()<CR>
[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Kiwi
[?25l[1;23r[1;1H[2M[1;24r[23;1HKiwiRaspberryDateWatermelonPeach[24;1H[K[23;1H[?12l[?25h[?25l
[1m-- VISUAL --[23;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/\u/s-1
[23;1H[7mKiw[?12l[?25h[?25l[m
[1m-- INSERT --[m[24;1H[K[23;1HNoRaspberryDateWatermelonPeach[23;31H[K[23;2H[?12l[?25ho[?25l
[1m-- INSERT --[m[24;1H[K[23;3HNoberryDateWatermelonPeach[23;29H[K[23;4H[?12l[?25hoberry[?25l[7mDateWat[m
[1m-- VISUAL --[23;17H[?12l[?25h[?25l[m[23;10HrmelonPeach[23;21H[K[24;1H[K[23;10H[?12l[?25h[?25lach[23;13H[K[23;10H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;10H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Jambu
[?25l[1;23r[23;1H
[1;24r[23;1HJambuRambutanBananaTangerineMango[24;1H[K[23;1H[?12l[?25hJa[?25l
[1m-- VISUAL --[23;3H[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[24;2H[K[24;2Hcall SelectInCaps()
[23;1H[7mJamb[?12l[?25h[?25l[m
[1m-- INSERT --[m[24;13H[K[24;1H[K[23;1H-RambutanBananaTangerineMango[23;30H[K[23;1H[?12l[?25h-[?25l
[1m-- INSERT --[m[24;1H[K[23;2H-tanBananaTangerineMango[23;26H[K[23;2H[?12l[?25h-[?25l[7mtanBanana[m
[1m-- VISUAL --[23;12H[?12l[?25h[?25l[m
--angerineMango[23;16H[K[24;1H[K[23;3H[?12l[?25ha[?25lgo[23;6H[K[23;4H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Operator-pending mode maps (movement and text object)
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25honoremap W /\u/<CR>
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25honoremap <Leader>W :<C-U>call MoveToCap()<CR>
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25honoremap iW :<C-U>call SelectInCaps()<CR>
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Pineapple
[?25l[1;23r[1;1H[2M[1;24r[23;1HPineappleQuinceLoganberryOrangeGrapefruitKiwiZ[24;1H[K[23;1H[?12l[?25h[?25l
/\u/
[24;4H[K[24;1H[24;1H[K[23;1H-QuinceLoganberryOrangeGrapefruitKiwiZ[23;39H[K[23;1H[?12l[?25h-[?25l
/\u/
[24;4H[K[24;1H[1m-- INSERT --[m[24;1H[K[23;2H-LoganberryOrangeGrapefruitKiwiZ[23;34H[K[23;2H[?12l[?25h-[?25l
/\u/
[24;4H[K[24;1H[1m-- INSERT --[m[24;1H[K[23;3H-GrapefruitKiwiZ[23;19H[K[23;3H[?12l[?25h-[?25l
/\u/
[24;4H[K[24;1H[1m-- INSERT --[m[24;1H[K[23;4H-Z[23;6H[K[23;4H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Juniper
[?25l[1;23r[23;1H
[1;24r[23;1HJuniperDurianZ[24;1H[K[23;1H[?12l[?25h[?25l
:call MoveToCap()
[23;1HWhavcre
[?12l[?25h[7C[?25l[24;1H[K[24;1H:call MoveToCap()
[23;8HQhevna[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;8H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Lemon
[?25l[1;23r[23;1H
[1;24r[23;1HLemonNectarineZ[24;1H[K[23;1H[?12l[?25h[?25l
:call SelectInCaps()
[23;1H[?12l[?25h[?25lLemonLemonNectarineZ
Lemo[?12l[?25hn[?25l[24;1H[K[24;1H:call SelectInCaps()
[24;1H[K[23;6HNewNectarineZ[23;19H[K[23;8H[?12l[?25hwNecta[?25l
:call SelectInCaps()
[24;1H[K[23;11HwZ[23;13H[K[23;11H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Patch 7.3.879: Properly abort Operator-pending mode for "dv:<Esc>" etc.
[?25l[23;11H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^zzzz
[?25l[1;23r[1;1H[2M[1;24r[23;1Hzzzz[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noma | let v:errmsg = ''
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1m[37m[41mE21: Cannot make changes, 'modifiable' is off[23;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ma | put = v:errmsg =~# '^E21' ? 'ok' : 'failed'
[?25l[1;23r[23;1H
[1;24r[23;1Hok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset noma | let v:errmsg = ''
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset ma | put = v:errmsg =~# '^E21' ? 'failed' : 'ok'
[?25l[1;23r[23;1H
[1;24r[23;1Hok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise visual mode: replace last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: replace last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet @" = 'x'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v:errmsg = ''
[?25l[23;1H[?12l[?25h[?25l
[1m-- VISUAL --[m[24;13H[K[23;1H[?12l[?25h[?25l[7ma[?12l[?25h[?25l[mx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='v:errmsg='.v:errmsg
[?25l[1;23r[23;1H
[1;24r[23;1Hv:errmsg=[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise visual mode: delete middle line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: delete middle line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25l
[1m-- VISUAL --[21;1H[?12l[?25h[?25l[m[7ma[?12l[?25h[?25l[mb
c
[1m[34m~ [m[24;1H[K[21;1H[?12l[?25h
[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise visual mode: delete middle two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: delete middle two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25l
[1m-- VISUAL --[21;1H[?12l[?25h[?25l[m[7ma
[?12l[?25h[?25lb[?12l[?25h[?25l[m[21;1Hc[21;2H[K[22;1H[1m[34m~ [23;1H~ [m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[22;1H---[22;4H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='characterwise visual mode: delete last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: delete last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25l
[1m-- VISUAL --[23;1H[?12l[?25h[?25l[m[7mc[?12l[?25h[?25l[m[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise visual mode: delete last two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: delete last two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[?25l
[1m-- VISUAL --[22;1H[?12l[?25h[?25l[m[7mb
[?12l[?25h[?25lc[?12l[?25h[?25l[m[22;1H[K[23;1H[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Select mode maps
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsnoremap <lt>End> <End>
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsnoremap <lt>Down> <Down>
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsnoremap <lt>Del> <Del>
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise select mode: delete middle line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise select mode: delete middle line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25l
[1m-- SELECT --[21;1H[?12l[?25h[?25l[m[7ma[?12l[?25h[?25l[mb
c
[1m[34m~ [m[24;1H[K[21;1H[?12l[?25h
[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise select mode: delete middle two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise select mode: delete middle two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25l
[1m-- SELECT --[21;1H[?12l[?25h[?25l[m[7ma
[?12l[?25h[?25lb[?12l[?25h[?25l[m[21;1Hc[21;2H[K[22;1H[1m[34m~ [23;1H~ [m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[22;1H---[22;4H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='characterwise select mode: delete last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise select mode: delete last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25l
[1m-- SELECT --[23;1H[?12l[?25h[?25l[m[7mc[?12l[?25h[?25l[m[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise select mode: delete last two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise select mode: delete last two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[?25l
[1m-- SELECT --[22;1H[?12l[?25h[?25l[m[7mb
[?12l[?25h[?25lc[?12l[?25h[?25l[m[22;1H[K[23;1H[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='linewise select mode: delete middle line'
[?25l[1;23r[23;1H
[1;24r[23;1Hlinewise select mode: delete middle line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25la[7m [m
[1m-- SELECT LINE --[21;1H[?12l[?25h[?25l[mb[21;2H[K[22;1Hc
[1m[34m~ [m[24;1H[K[21;1H[?12l[?25h
[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='linewise select mode: delete middle two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hlinewise select mode: delete middle two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25la[7m [m
[1m-- SELECT LINE --[21;1H[?12l[?25h[?25l[m[7ma
[mb[7m
[?12l[?25h[?25l[m[21;1Hc[21;2H[K[22;1H[1m[34m~ [23;1H~ [m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[22;1H---[22;4H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='linewise select mode: delete last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hlinewise select mode: delete last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25lc[7m [m
[1m-- SELECT LINE --[23;1H[?12l[?25h[?25l[m[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='linewise select mode: delete last two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hlinewise select mode: delete last two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[?25lb[7m [m
[1m-- SELECT LINE --[22;1H[?12l[?25h[?25l[m[7mb
[mc[7m
[?12l[?25h[?25l[m[22;1H[1m[34m~ [23;1H~ [m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[22;1H---[22;4H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='v_p: replace last character with line register at middle line'
[?25l[1;23r[23;1H
[1;24r[23;1Hv_p: replace last character with line register at middle line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='aaa'
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='bbb'
[?25l[1;23r[23;1H
[1;24r[23;1Hbbb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ccc'
[?25l[1;23r[23;1H
[1;24r[23;1Hccc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h-2yank
[?25l[23;1H[?12l[?25h[22;1Hbb[?25l
[1m-- VISUAL --[22;3H[?12l[?25h[?25l[m[22;3H[K[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[1;1H[2M[1;24r[22;1Hccc
---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='v_p: replace last character with line register at middle line selecting
newline'
[?25l[1;1H[L[2;1Hlinewise select mode: delete middle two line
c[3;2H[K[4;1H---[5;1H[K[6;1Hlinewise select mode: delete last line
a[7;2H[K[8;1Hb
---[10;1H[K[11;1Hlinewise select mode: delete last two line
a[12;2H[K[13;1H---[14;1H[K[15;1Hv_p: replace last character with line register at middle line
aaa[16;4H[K[17;1Hbb[17;3H[K[18;1Haaa[19;1H[K[20;1Hccc
---[22;1H[K[23;1Hv_p: replace last character with line register at middle line selecting newline[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='aaa'
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='bbb'
[?25l[1;23r[23;1H
[1;24r[23;1Hbbb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ccc'
[?25l[1;23r[23;1H
[1;24r[23;1Hccc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h-2yank
[?25l[23;1H[?12l[?25h[22;1Hbb[?25l
[1m-- VISUAL --[22;3H[?12l[?25h[?25l[m[7mb[?12l[?25h[?25l[m[22;3H[K[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hccc
[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='v_p: replace last character with line register at last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hv_p: replace last character with line register at last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='aaa'
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='bbb'
[?25l[1;23r[23;1H
[1;24r[23;1Hbbb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ccc'
[?25l[1;23r[23;1H
[1;24r[23;1Hccc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h-2yank
[?25l[23;1H[?12l[?25hcc[?25l
[1m-- VISUAL --[23;3H[?12l[?25h[?25l[1;23r[m[23;1H
[1;24r[22;3H[K[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='v_p: replace last character with line register at last line selecting n
[23;80He[24;1Hwline'
[?25l[1;1H[L[1;1Haaa
bb[2;3H[K[3;1Haaa[4;1H[K[5;1Hccc
---[7;1H[K[8;1Hv_p: replace last character with line register at middle line selecting newline
aaa[9;4H[K[10;1Hbb[10;3H[K[11;1Haaa
ccc
---[14;1H[K[15;1Hv_p: replace last character with line register at last line
aaa[16;4H[K[17;1Hbbb
cc[18;3H[K[19;1Haaa[20;1H[K[21;1H---[22;1H[K[23;1Hv_p: replace last character with line register at last line selecting newline[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='aaa'
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='bbb'
[?25l[1;23r[23;1H
[1;24r[23;1Hbbb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ccc'
[?25l[1;23r[23;1H
[1;24r[23;1Hccc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h-2yank
[?25l[23;1H[?12l[?25hcc[?25l
[1m-- VISUAL --[23;3H[?12l[?25h[?25l[m[7mc[?12l[?25h[?25l[1;23r[m[23;1H
[1;24r[22;3H[K[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='gv in exclusive select mode after operation'
[?25l[1;23r[23;1H
[1;24r[23;1Hgv in exclusive select mode after operation[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='zzz '
[?25l[1;23r[23;1H
[1;24r[23;1Hzzz[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ä[24;11Hà '
[?25l[1;23r[23;1H
[1;24r[23;1Hä[23;3HÃ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset selection=exclusive
[?25l[23;1H[?12l[?25h[22;1H[?25l
[1m-- VISUAL --[m[24;13H[K[22;1H[?12l[?25h[?25l[7mzzz[?12l[?25h[?25l[m
zzz[24;1H[K[22;1H[?12l[?25h
[?25l
[1m-- VISUAL --[23;1H[?12l[?25h[?25l[m[7mä[23;3HÃ[?12l[?25h[?25l[m
zzz[24;1H[K[23;3H[?12l[?25h[?25l
[1m-- VISUAL --[m[23;1H[7mzzz[?12l[?25h[?25l[m[24;4H[1mINSERT [m[24;1H[K[23;1Hxxx[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='gv in exclusive select mode without operation'
[?25l[1;23r[23;1H
[1;24r[23;1Hgv in exclusive select mode without operation[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='zzz '
[?25l[1;23r[23;1H
[1;24r[23;1Hzzz[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset selection=exclusive
[?25l[23;1H[?12l[?25h[?25l
[1m-- VISUAL --[m[24;13H[K[23;1H[?12l[?25h[?25l[7mzzz[?12l[?25h[?25l[m
zzz[24;1H[K[23;4H[?12l[?25h[?25l
[1m-- VISUAL --[m[23;1H[7mzzz[?12l[?25h[?25l[m[24;4H[1mINSERT [m[24;1H[K[23;1Hxxx[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^start:/+2,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New] 123L, 1328C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test95.in" 141 lines, 5827 characters[1;1HTest 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.[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for regexp patterns with multi-byte support, using utf-8.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 131 lines, 5590 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:[8Cendif
: 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:
[1m[34m~ [20;1H[?12l[?25h
[?25l
[m:so! Xdotest
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp encoding=utf-8 viminfo+=nviminfo nomore
[?25l[27m[23m[m[H[2J[1;1H:[8Cendif
: 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:
[1m[34m~ [21;1H[?12l[?25h[?25l
[m:[?12l[?25h" tl is a List of Lists with:
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" 2: test auto/old/new 0: test auto/old 1: test auto/new
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" regexp pattern
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" text to test the pattern on
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected match (optional)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected submatch 1 (optional)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected submatch 2 (optional)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" etc.
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When there is no match use only the first two items.
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tl = []
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Multi-byte character tests. These will fail unless vim is compiled
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" with Multibyte (FEAT_MBYTE) or BIG/HUGE features.
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[[:alpha:][=a=]]\+', '879 aiaãâaiuvna ', 'aiaãâaiuvna'])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[[=a=]]\+', 'ddaãâbcd', 'aãâ'])[34m^I^I^I^I^I^I^I^I[m" equivalence
classes
[?25l[1;1H[L[1;1H:[8Cendif[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hcall add(tl, [2, '[^ม ]\+', 'มม oijasoifjos ifjoisj f osij j มมมมม abcd', 'oij
[23;80Ha[24;1Hsoifjos'])
[?25l[1;1H[L[1;1H:[8Cendif[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hcall add(tl, [2, ' [^ ]\+', 'start มabcdม ', ' มabcdม'])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[ม[:alpha:][=a=]]\+', '879 aiaãมâมaiuvna ', 'aiaãมâมaiuvna']
[23;80H)[24;1H[?25l[1;1H[L[1;1H:[8Cendif[24;1H[K[21;1H[?12l[?25h[?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 ®expengine = 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
[23;80Hx[24;1Ht . '\", 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
[23;80Hx[24;1Ht . '\", 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
[23;80Hx[24;1Ht . '\", 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:[8C[?12l[?25h: if len(t) <= matchidx + i
[?25l:[10C[?12l[?25h: let e = ''
[?25l:[10C[?12l[?25h: else
[?25l:[10C[?12l[?25h: let e = t[matchidx + i]
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: if l[i] != e
[?25l:[10C[?12l[?25h: $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text:
"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: endfor
[?25l: [?12l[?25h: unlet i
[?25l: [?12l[?25h: endif
[?25l: [?12l[?25h: endfor
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[1;1HOK 2 - ק[34m<200d>[mx\Z
OK 0 - ק[34m<200d>[mx\Z
OK 1 - ק[34m<200d>[mx\Z
OK 2 - ק[34m<200d>[mx\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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" check that 'ambiwidth' does not change the meaning of \p
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset regexpengine=1 ambiwidth=single
[?25l[27m[23m[m[H[2J[1;1HOK 2 - ק[34m<200d>[mx\Z
OK 0 - ק[34m<200d>[mx\Z
OK 1 - ק[34m<200d>[mx\Z
OK 2 - ק[34m<200d>[mx\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[1;23r[23;1H
[1;24r[23;1Heng 1 ambi single: 0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset regexpengine=1 ambiwidth=double
[?25l[27m[23m[m[H[2J[1;1HOK 0 - ק[34m<200d>[mx\Z
OK 1 - ק[34m<200d>[mx\Z
OK 2 - ק[34m<200d>[mx\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[1;23r[23;1H
[1;24r[23;1Heng 1 ambi double: 0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset regexpengine=2 ambiwidth=single
[?25l[27m[23m[m[H[2J[1;1HOK 1 - ק[34m<200d>[mx\Z
OK 2 - ק[34m<200d>[mx\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[1;23r[23;1H
[1;24r[23;1Heng 2 ambi single: 0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset regexpengine=2 ambiwidth=double
[?25l[27m[23m[m[H[2J[1;1HOK 2 - ק[34m<200d>[mx\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[1;23r[23;1H
[1;24r[23;1Heng 2 ambi double: 0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/\%#=1^Results/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test98.in" 43 lines, 908 characters[1;1HTest 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.[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for 'scrollbind' causing an unexpected scroll of one of the windows.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 35 lines, 791 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[3;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[16M[1;24r[8;1H: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(too[20;1HpLineLeft - topLineRight))
:w! test.out
:brewind
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" We don't want the status line to cause problems:
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset laststatus=0
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:totalLines = &lines * 20
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet middle = g:totalLines / 2
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd n
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd o
[?25l[12;1H[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hfor i in range(1, g:totalLines)
[?25l
: [?12l[?25h: call setline(i, 'LINE ' . i)
[?25l: [?12l[?25h:endfor
[1;1H[2L[?25l[1;1HLINE 1
LINE 2
LINE 3[3;7H[K[4;1HLINE 4[4;7H[K[5;1HLINE 5[5;7H[K[6;1HLINE 6[6;7H[K[7;1HLINE 7[7;7H[K[8;1HLINE 8[8;7H[K[9;1HLINE 9[9;7H[K[10;1HLINE 10[10;8H[K[11;1HLINE 11[11;8H[K[12;1HLINE 12[12;8H[K[13;1HLINE 13[13;8H[K[14;1HLINE 14[14;8H[K[15;1HLINE 15[15;8H[K[16;1HLINE 16[16;8H[K[17;1HLINE 17[17;8H[K[18;1HLINE 18[18;8H[K[19;1HLINE 19[19;8H[K[20;1HLINE 20[20;8H[K[21;1HLINE 21[21;8H[K[22;1HLINE 22[22;8H[K[23;1HLINE 23[23;8H[K[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hexe string(middle)
[?25l[27m[23m[m[H[2J[1;1HLINE 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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnormal zt
[?25l[1;23r[1;1H[11M[1;24r[13;1HLINE 252
LINE 253
LINE 254
LINE 255
LINE 256
LINE 257
LINE 258
LINE 259
LINE 260
LINE 261
LINE 262[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnormal M
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haboveleft vert new
[?25l[1;1H [32C[7m|[2;41H|[3;41H|[4;41H|[5;41H|[6;41H|[7;41H|[8;41H|[9;41H|[10;41H|[11;41H|[12;41H|[13;41H|[14;41H|[15;41H|[16;41H|[17;41H|[18;41H|[19;41H|[20;41H|[21;41H|[22;41H|[23;41H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~ [m[1;42HLINE 240[2;42HLINE 241[3;42HLINE 242[4;42HLINE 243[5;42HLINE 244[6;42HLINE 245[7;42HLINE 246[8;42HLINE 247[9;42HLINE 248[10;42HLINE 249[11;42HLINE 250[12;42HLINE 251[13;42HLINE 252[14;42HLINE 253[15;42HLINE 254[16;42HLINE 255[17;42HLINE 256[18;42HLINE 257[19;42HLINE 258[20;42HLINE 259[21;42HLINE 260[22;42HLINE 261[23;42HLINE 262[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(1, g:totalLines)
[?25l
: [?12l[?25h: call setline(i, 'line ' . i)
[?25l: [?12l[?25h:endfor
[1;1H[2L[?25l[1;1Hline 1[34C[7m|[m
line 2[34C[7m|[m
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 [1;42HLINE 240[2;42HLINE 241[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hexe string(middle)
[?25l[1;6H229[2;7H30[3;6H231[4;6H232[5;6H233[6;6H234[7;6H235[8;6H236[9;6H237[10;6H238[11;6H239[12;6H240[13;6H241[14;6H242[15;6H243[16;6H244[17;6H245[18;6H246[19;6H247[20;7H48[21;7H49[22;7H50[23;7H51[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal zt
[?25l[1;1Hline 240
line 241
line 242
line 243
line 244
line 245
line 246
line 247
line 248
line 249
line 250
line 251
[13;1Hline 252
line 253
line 254
line 255
line 256
line 257
line 258
line 259
line 260
line 261
line 262[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnormal M
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Execute the following two command at once to reproduce the problem.
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl scb | wincmd p
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl scb
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd w
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet topLineLeft = line('w0')
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd p
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet topLineRight = line('w0')
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl noscrollbind
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd p
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl noscrollbind
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[1;1HLINE[1;41H[K[2;1HLINE[2;41H[K[3;1HLINE[3;41H[K[4;1HLINE[4;41H[K[5;1HLINE[5;41H[K[6;1HLINE[6;41H[K[7;1HLINE[7;41H[K[8;1HLINE[8;41H[K[9;1HLINE[9;41H[K[10;1HLINE[10;41H[K[11;1HLINE[11;41H[K[12;1HLINE[12;41H[K[13;1HLINE[13;41H[K[14;1HLINE[14;41H[K[15;1HLINE[15;41H[K[16;1HLINE[16;41H[K[17;1HLINE[17;41H[K[18;1HLINE[18;41H[K[19;1HLINE[19;41H[K[20;1HLINE[20;41H[K[21;1HLINE[21;41H[K[22;1HLINE[22;41H[K[23;1HLINE[23;41H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%del _
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall setline(1, 'Difference between the top lines (left - right): ' . string(t
[23;80Ho[24;1HpLineLeft - topLineRight))
[?25l[1;1H[L[1;1HDifference between the top lines (left - right): 0[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 51 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbrewind
[?25l"test98.in" 43 lines, 908 characters[1;1H:normal M[1;10H[K[2;1H:" Execute the following two command at once to reproduce the problem.[2;71H[K[3;1H:setl scb | wincmd p[3;21H[K[4;1H:setl scb[4;10H[K[5;1H:wincmd w[5;10H[K[6;1H:let topLineLeft = line('w0')[6;30H[K[7;1H:wincmd p[7;10H[K[8;1H:let topLineRight = line('w0')[8;31H[K[9;1H:setl noscrollbind[9;19H[K[10;1H:wincmd p[10;10H[K[11;1H:setl noscrollbind[11;19H[K[12;1H:q![12;4H[K[13;1H:%del _[13;8H[K[14;1H:call setline(1, 'Difference between the top lines (left - right): ' . string(too[15;1HpLineLeft - topLineRight))[15;27H[K[16;1H:w! test.out[16;13H[K[17;1H:brewind[17;9H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1HSTARTTEST[20;10H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[20;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H1 line, 5 characters written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[21;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test99.in" 69 lines, 1400 characters[1;1HTests 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
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with multi-byte encoding and various magic settings.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 43 lines, 931 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:" 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[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
[?25l[27m[23m[m[H[2J[1;1H:" 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
:[?12l[?25h" Test \%u, [\u] and friends
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%u20ac
[?25l[1;23r[23;1H
/[?12l[?25h[\u4f7f\u5929]\+
[?25l[1;23r[23;1H
/[?12l[?25h\%U12345678
[?25l[1;23r[23;1H
/[?12l[?25h[\U1234abcd\u1234\uabcd]
[?25l[1;23r[23;1H
/[?12l[?25h\%d21879b
[?25l[1;23r[23;1H
:[?12l[?25h" Test backwards search from a multi-byte char
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hx
[?25l[1;23r[23;1H
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" l Test what 7.3.192 fixed
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^l
[?25l[1;23r[23;1H
2 d dd dee deeff
3 g gg ghh ghhii
4 j jj jkk jkkll
5 m mm mnn mnnoo
#@/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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test103.in" 37 lines, 823 characters[1;1HTest for visual mode not being reset causing E315 error.
STARTTEST
:so small.vim
:enew
:let g:msg="Everything's fine."
:function! TriggerTheProblem()
:[7C" At this point there is no visual selection because :call reset it.
:[7C" Let's restore the selection:
:[7Cnormal gv
:[7C'<,'>del _
:[7Ctry
:[15Cexe "normal \<Esc>"
:[7Ccatch /^Vim\%((\a\+)\)\=:E315/
:[15Cechom 'Snap! E315 error!'
:[15Clet g:msg='Snap! E315 error!'
:[7Cendtry
: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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for visual mode not being reset causing E315 error.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 29 lines, 723 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[3;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[10M[1;24r[14;1H:"[7Cex-way will require the colon operator which resets the visual mode thuu[15;1Hs
:"[7Cpreventing the problem:
:"
GV:call TriggerTheProblem()
:%del _
:call append(line('$'), g:msg)
:w! test.out
:brewind
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25henew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet g:msg="Everything's fine."
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! TriggerTheProblem()
[?25l
: [?12l[?25h:[34m^I[m" At this point there is no visual selection because :call reset it.
[?25l: [?12l[?25h:[34m^I[m" Let's restore the selection:
[?25l: [?12l[?25h:[34m^I[mnormal gv
[?25l: [?12l[?25h:[34m^I[m'<,'>del _
[?25l: [?12l[?25h:[34m^I[mtry
[?25l: [?12l[?25h:[34m^I^I[mexe "normal \<Esc>"
[?25l: [?12l[?25h:[34m^I[mcatch /^Vim\%((\a\+)\)\=:E315/
[?25l: [?12l[?25h:[34m^I^I[mechom 'Snap! E315 error!'
[?25l: [?12l[?25h:[34m^I^I[mlet g:msg='Snap! E315 error!'
[?25l: [?12l[?25h:[34m^I[mendtry
[?25l: [?12l[?25h:endfunction
[1;1H[11L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25henew
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl buftype=nofile
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), 'Delete this line.')
[?25l[2;1HDelete this line.[2;18H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" NOTE: this has to be done by a call to a function because executing :del the
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" ex-way will require the colon operator which resets the visual mode th
[23;80Hu[24;1Hs[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" preventing the problem:
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h
[?25lD[7melete this line.
[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[?12l[?25hcall TriggerTheProblem()
[?25l[2;1H[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h%del _
[?25l--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), g:msg)
[?25l[2;1HEverything's fine.[2;19H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 2 lines, 20 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbrewind
[?25l"test103.in" 37 lines, 823 characters[1;1H:[7Cendtry
:endfunction[2;14H[K[3;1H:enew[3;6H[K[4;1H:setl buftype=nofile[4;21H[K[5;1H:call append(line('$'), 'Delete this line.')[5;45H[K[6;1H:"[6;3H[K[7;1H:"[7;3H[K[8;1H:" NOTE: this has to be done by a call to a function because executing :del the[8;80H[K[9;1H:" ex-way will require the colon operator which resets the visual mode thuu[10;1Hs[10;2H[K[11;1H:" preventing the problem:[11;33H[K[12;1H:"[12;3H[K[13;1HGV:call TriggerTheProblem()[13;28H[K[14;1H:%del _[14;8H[K[15;1H:call append(line('$'), g:msg)[15;31H[K[16;1H:w! test.out[16;13H[K[17;1H:brewind[17;9H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1HSTARTTEST[20;10H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[20;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H1 line, 5 characters written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[21;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test104.in" 30 lines, 698 characters[1;1HTests 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 [16;1H== 1 ? "a" : "b"}']
: try
: redir => messages
: execute 'let' letargs
: redir END
: $put ='OK:'
: $put =split(substitute(messages, '\n', '\0 ', 'g'), '\n')
: catch[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :let. vim: set ft=vim ts=8 :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 24 lines, 618 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[6M[1;24r[18;1H: $put ='FAIL: ' . v:exception
: redir END
: endtry
:endfor
:/^Results/,$wq! test.out
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset runtimepath+=./sautest
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test to not autoload when assigning. It causes internal error.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[5L[?25l[1;1H: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 [7;1H== 1 ? "a" : "b"}']
: try[8;7H[K[9;1H: redir => messages
: execute 'let' letargs[11;12HEND[11;15H[K[12;6H$put ='OK:'[12;17H[K[13;6H$put =split(substitute(messages, '\n', '\0 ', 'g'), '\n')
: catch[14;9H[K[15;12H'FAIL: ' . v:exception[15;34H[K[16;4H redir END
: endtry[17;11H[K[18;2Hendfor[18;8H[K[19;2H/^Results/,$wq! test.out
ENDTEST[21;1H[K[22;1HResults of test104:
OK: function('tr')[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet a = 1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b = 2
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0
== 1 ? "a" : "b"}']
[?25l[24;1H[K[24;1H: [?12l[?25h: try
[?25l: [?12l[?25h: redir => messages
[?25l: [?12l[?25h: execute 'let' letargs
[?25la[21C#1
b[21C#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[21C#2
b[21C#2
a[21C#1
a[21C#1
b[21C#2
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h/^Results/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test107.in" 38 lines, 717 characters[1;1HTests 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)
:[7Clet 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for adjusting window and contents vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 32 lines, 628 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[13M[1;24r[11;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;2H:wincmd p[13;11H[K[14;2Hcall add(r, [line("w0"), s3])[15;2H[K[16;2Hbwipeout!
:$put=r[17;8H[K[18;2Hcall garbagecollect(1)
:"[19;3H[K[20;2H/^start:/,$wq! test.out
ENDTEST[21;8H[K[22;1H[K[23;1H[7mtest107.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall setline(1, range(1,256))
[?25l[1;1H1
2[2;2H[K[3;1H3[3;2H[K[4;1H4[4;2H[K[5;1H5[5;2H[K[6;1H6[6;2H[K[7;1H7[7;2H[K[8;1H8[8;2H[K[9;1H9[9;2H[K[10;1H10[10;3H[K[11;1H11[11;3H[K[12;11H[1m[7m[+][1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet r=[]
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1H1
2
3
4
5
6[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"
[?25l[11;1H[7m[No Name] [+] [m[12;1H:let s3=GetScreenStr(1)[12;24H[K[23;1H[1m[7mtest107.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd p
[?25l[11;1H[1m[7m[No Name] [+] [m[23;1H[7mtest107.in[m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"
[?25l[27m[23m[m[H[2J[1;1H50
51
52
53
54
55
56
57
58
59
[7m[No Name] [+] [m[12;1H:let s3=GetScreenStr(1)
::wincmd p
:call add(r, [line("w0"), s3])
:
:bwipeout!
:$put=r
:call garbagecollect(1)
:"
:/^start:/,$wq! test.out
ENDTEST
[1m[7mtest107.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd p
[?25l[11;1H[1m[7m[No Name] [+] [m[23;1H[7mtest107.in[m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"
[?25l[27m[23m[m[H[2J[1;1H59
60
61
62
63
64
65
66
67
68
[7m[No Name] [+] [m[12;1H:let s3=GetScreenStr(1)
::wincmd p
:call add(r, [line("w0"), s3])
:
:bwipeout!
:$put=r
:call garbagecollect(1)
:"
:/^start:/,$wq! test.out
ENDTEST
[1m[7mtest107.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h:wincmd p
[?25l[11;1H[1m[7m[No Name] [+] [m[23;1H[7mtest107.in[m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipeout!
[?25l[1;1H:[1;2H[K[2;1H: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])
:[6;2H[K[7;1H: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])
:[11;2H[K[12;2Hexe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"
:let s3=GetScreenStr(1)
::wincmd p[14;11H[K[15;2Hcall add(r, [line("w0"), s3])[16;2H[K[17;2Hbwipeout!
:$put=r[18;8H[K[19;2Hcall garbagecollect(1)
:"[20;3H[K[21;1H:/^start:/,$wq! test.out
ENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put=r
[?25l3 more lines[1;23r[1;1H[4M[1;24r[20;1Hstart:
[1, '1 ']
[50, '50 ']
[59, '59 '][24;1H[K[24;1H3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test108.in" 88 lines, 1329 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for backtrace debug commands. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 83 lines, 1251 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hup
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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang mess C
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1Hup
b
echo "fil is not frame or finish, it is file"
fil[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1Hup
b
echo "fil is not frame or finish, it is file"
fil[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1Hup
b
echo "fil is not frame or finish, it is file"
fil[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;5H[K[14;1Hecho "\n- final result 19:"
cont[15;6H[K[16;1H:0debuggreedy
:redir END[17;11H[K[18;2H$put =out
:w! test.out
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7mtest108.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hdebuggreedy
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir => out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[?25l[1m[37m[41mError detected while processing function Foo[2]..Bar[2]..Bazz:[m
[33mline 3:[m
[1m[37m[41mE121: Undefined variable: var3[m
[1m[37m[41mE15: Invalid expression: var3[m
>[?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
[?25l[1m[37m[41mError detected while processing function Foo[2]..Bar:[m
[33mline 3:[m
[1m[37m[41mE121: Undefined variable: var2[m
[1m[37m[41mE15: Invalid expression: var2[m
>[?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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h0debuggreedy
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1Hfram
echo "\n- final result 19:"
cont
:0debuggreedy
:redir END
:$put =out
:w! test.out
:qa!
ENDTEST
[7mtest108.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hredir END
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =out
[?25l83 more lines[1;1H->1 function Foo[2]
0 Bar[2;8H[K[3;1Hline 3: End of function[3;24H[K[4;1Hframe is zero[4;14H[K[5;1H 1 function Foo[2][5;20H[K[6;1H->0 Bar[6;8H[K[7;1Hline 3: End of function[7;24H[K[8;1H[K[9;1H- final result 19:[9;19H[K[10;1H19[10;3H[K[11;1H[K[12;11H[1m[7m[+][11;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 84 lines, 1390 characters written[12;1H[1m[7mtest.out] [11;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_autocmd_option.in" 77 lines, 2954 characters[1;1HTest for option autocommand
STARTTEST
:so small.vim
:if !has("eval") || !has("autocmd") || !exists("+autochdir") | e! test.ok | w! tt[6;1Hest.out | qa! | endif
:fu! AutoCommand(match)
:[7Clet c=g:testcase
:[7Clet item=remove(g:options, 0)
:[7Clet c.=printf("Expected: Name: <%s>, Oldval: <%s>, NewVal: <%s>, Scope: [11;1H<%s>\n", item[0], item[1], item[2], item[3])
:[7Clet c.=printf("Autocmd Option: <%s>,", a:match)
:[7Clet c.=printf(" OldVal: <%s>,", v:option_old)
:[7Clet c.=printf(" NewVal: <%s>,", v:option_new)
:[7Clet c.=printf(" Scope: <%s>\n", v:option_type)
:[7Ccall 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']][1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for option autocommand[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 72 lines, 2896 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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, secoo[4;1Hnd 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[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has("eval") || !has("autocmd") || !exists("+autochdir") | e! test.ok | w!
[23;80Ht[24;1Hest.out | qa! | endif
[?25l[1;1H[L[1;1H:let g:testcase="13: Setting option backspace through setbufvar()\n"[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hfu! AutoCommand(match)
[?25l
: [?12l[?25h:[34m^I[mlet 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
[23;80Hp[24;1He: <%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
[1;1H[10L[?25l[1;1H: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, secoo[4;1Hnd 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)[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hau OptionSet * :call AutoCommand(expand("<amatch>"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="1: Setting number option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['number', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nu
[?25l[1;1H[33m 56 [m:let g:testcase="13: Setting option backspace through setbufvar()\n"
[33m 57 [m:let g:options=[['backup', '', '1', 'local']]
[33m 58 [m: "try twice, first time, shouldn't trigger because option name is invall[4;1Hid, second time, it should trigger
[33m 59 [m:call setbufvar(1, '&l:bk', 1)
[33m 60 [m: "should trigger, use correct option name
[33m 61 [m:call setbufvar(1, '&backup', 1)
[33m 62 [m:let g:testcase="14: Setting number option using setwinvar\n"
[33m 63 [m:let g:options=[['number', 0, 1, 'local']]
[33m 64 [m:call setwinvar(0, '&number', 1)
[33m 65 [m:" Write register now, because next test shouldn't output anything.
[33m 66 [m:$put r
[33m 67 [m:let @r=''
[33m 68 [m:let g:testcase="\n15: Setting key option, shouldn't trigger\n"
[33m 69 [m:let g:options=[['key', 'invalid', 'invalid1', 'invalid']]
[33m 70 [m:setlocal key=blah
[33m 71 [m:setlocal key=
[33m 72 [m:$put =g:testcase
[33m 73 [m:$put r
[33m 74 [m:/^dummy text/,$w! test.out
[33m 75 [m:qa!
[33m 76 [mENDTEST
[33m 77 [mdummy text[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="2: Setting local number option\n"
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['number', 1, 0, 'local']]
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal nonu
[?25l[1;1H:let g:testcase="13: Setting option backspace through setbufvar()\n"[1;69H[K[2;1H:let g:options=[['backup', '', '1', 'local']][2;46H[K[3;1H: "try twice, first time, shouldn't trigger because option name is invalid, secoo[4;1Hnd time, it should trigger[4;28H[K[5;1H:call setbufvar(1, '&l:bk', 1)[5;31H[K[6;1H: "should trigger, use correct option name[6;43H[K[7;1H:call setbufvar(1, '&backup', 1)[7;33H[K[8;1H:let g:testcase="14: Setting number option using setwinvar\n"[8;62H[K[9;1H:let g:options=[['number', 0, 1, 'local']][9;43H[K[10;1H:call setwinvar(0, '&number', 1)[10;33H[K[11;1H:" Write register now, because next test shouldn't output anything.[11;68H[K[12;1H:$put r[12;8H[K[13;1H:let @r=''[13;11H[K[14;1H:let g:testcase="\n15: Setting key option, shouldn't trigger\n"[14;64H[K[15;1H:let g:options=[['key', 'invalid', 'invalid1', 'invalid']][15;59H[K[16;1H:setlocal key=blah[16;19H[K[17;1H:setlocal key=[17;15H[K[18;1H:$put =g:testcase[18;18H[K[19;1H:$put r[19;8H[K[20;1H:/^dummy text/,$w! test.out[20;28H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1Hdummy text[23;11H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="3: Setting global number option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['number', 1, 0, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal nonu
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="4: Setting local autoindent option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoindent', 0, 1, 'local']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal ai
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="5: Setting global autoindent option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoindent', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal ai
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="6: Setting global autoindent option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoindent', 1, 0, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ai!
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h Should not print anything, use :noa
[?25l[1m[37m[41mE492: Not an editor command: Should not print anything, use :noa[23;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnoa :set nonu
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="7: Setting several global list and number option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['list', 0, 1, 'global'], ['number', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset list nu
[?25l[1;1H[33m 56 [m:let g:testcase="13: Setting option backspace through setbufvar()\n"[1m[34m$[m
[33m 57 [m:let g:options=[['backup', '', '1', 'local']][1m[34m$[m
[33m 58 [m: "try twice, first time, shouldn't trigger because option name is invall[4;1Hid, second time, it should trigger[1m[34m$[m
[33m 59 [m:call setbufvar(1, '&l:bk', 1)[1m[34m$[m
[33m 60 [m: "should trigger, use correct option name[1m[34m$[m
[33m 61 [m:call setbufvar(1, '&backup', 1)[1m[34m$[m
[33m 62 [m:let g:testcase="14: Setting number option using setwinvar\n"[1m[34m$[m
[33m 63 [m:let g:options=[['number', 0, 1, 'local']][1m[34m$[m
[33m 64 [m:call setwinvar(0, '&number', 1)[1m[34m$[m
[33m 65 [m:" Write register now, because next test shouldn't output anything.[1m[34m$[m
[33m 66 [m:$put r[1m[34m$[m
[33m 67 [m:let @r=''[1m[34m$[m
[33m 68 [m:let g:testcase="\n15: Setting key option, shouldn't trigger\n"[1m[34m$[m
[33m 69 [m:let g:options=[['key', 'invalid', 'invalid1', 'invalid']][1m[34m$[m
[33m 70 [m:setlocal key=blah[1m[34m$[m
[33m 71 [m:setlocal key=[1m[34m$[m
[33m 72 [m:$put =g:testcase[1m[34m$[m
[33m 73 [m:$put r[1m[34m$[m
[33m 74 [m:/^dummy text/,$w! test.out[1m[34m$[m
[33m 75 [m:qa![1m[34m$[m
[33m 76 [mENDTEST[1m[34m$[m
[33m 77 [mdummy text[1m[34m$[23;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnoa set nolist nonu
[?25l[1;1H:let g:testcase="13: Setting option backspace through setbufvar()\n"[1;69H[K[2;1H:let g:options=[['backup', '', '1', 'local']][2;46H[K[3;1H: "try twice, first time, shouldn't trigger because option name is invalid, secoo[4;1Hnd time, it should trigger[4;28H[K[5;1H:call setbufvar(1, '&l:bk', 1)[5;31H[K[6;1H: "should trigger, use correct option name[6;43H[K[7;1H:call setbufvar(1, '&backup', 1)[7;33H[K[8;1H:let g:testcase="14: Setting number option using setwinvar\n"[8;62H[K[9;1H:let g:options=[['number', 0, 1, 'local']][9;43H[K[10;1H:call setwinvar(0, '&number', 1)[10;33H[K[11;1H:" Write register now, because next test shouldn't output anything.[11;68H[K[12;1H:$put r[12;8H[K[13;1H:let @r=''[13;11H[K[14;1H:let g:testcase="\n15: Setting key option, shouldn't trigger\n"[14;64H[K[15;1H:let g:options=[['key', 'invalid', 'invalid1', 'invalid']][15;59H[K[16;1H:setlocal key=blah[16;19H[K[17;1H:setlocal key=[17;15H[K[18;1H:$put =g:testcase[18;18H[K[19;1H:$put r[19;8H[K[20;1H:/^dummy text/,$w! test.out[20;28H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1Hdummy text[23;11H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="8: Setting global acd\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autochdir', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal acd
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="9: Setting global autoread\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoread', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="10: Setting local autoread\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoread', 0, 1, 'local']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal ar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="11: Setting global autoread\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoread', 1, 0, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal invar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="12: Setting option backspace through :let\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['backspace', '', 'eol,indent,start', 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet &bs="eol,indent,start"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="13: Setting option backspace through setbufvar()\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['backup', '', '1', 'local']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h "try twice, first time, shouldn't trigger because option name is invalid, sec
[23;80Ho[24;1Hnd time, it should trigger
[?25l[1;1H[L[1;1H:let g:testcase="13: Setting option backspace through setbufvar()\n"[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcall setbufvar(1, '&l:bk', 1)
[?25l[1m[37m[41mE355: Unknown option: l:bk[m[24;27H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h "should trigger, use correct option name
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall setbufvar(1, '&backup', 1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="14: Setting number option using setwinvar\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['number', 0, 1, 'local']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall setwinvar(0, '&number', 1)
[?25l[1;1H[33m 56 [m:let g:testcase="13: Setting option backspace through setbufvar()\n"
[33m 57 [m:let g:options=[['backup', '', '1', 'local']]
[33m 58 [m: "try twice, first time, shouldn't trigger because option name is invall[4;1Hid, second time, it should trigger
[33m 59 [m:call setbufvar(1, '&l:bk', 1)
[33m 60 [m: "should trigger, use correct option name
[33m 61 [m:call setbufvar(1, '&backup', 1)
[33m 62 [m:let g:testcase="14: Setting number option using setwinvar\n"
[33m 63 [m:let g:options=[['number', 0, 1, 'local']]
[33m 64 [m:call setwinvar(0, '&number', 1)
[33m 65 [m:" Write register now, because next test shouldn't output anything.
[33m 66 [m:$put r
[33m 67 [m:let @r=''
[33m 68 [m:let g:testcase="\n15: Setting key option, shouldn't trigger\n"
[33m 69 [m:let g:options=[['key', 'invalid', 'invalid1', 'invalid']]
[33m 70 [m:setlocal key=blah
[33m 71 [m:setlocal key=
[33m 72 [m:$put =g:testcase
[33m 73 [m:$put r
[33m 74 [m:/^dummy text/,$w! test.out
[33m 75 [m:qa!
[33m 76 [mENDTEST
[33m 77 [mdummy text[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Write register now, because next test shouldn't output anything.
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put r
[?25l60 more lines[1;5H[33m117[m[1CAutocmd Option: <autoread>, OldVal: <0>, NewVal: <1>, Scope: <global>[2;5H[33m118[m[2;9H[K[3;5H[33m119[m[1C10: Setting local autoread[3;35H[K[4;1H[33m 120 [mExpected: Name: <autoread>, Oldval: <0>, NewVal: <1>, Scope: <local>[5;5H[33m121[m[1CAutocmd Option: <autoread>, OldVal: <1>, NewVal: <1>, Scope: <local>[6;5H[33m122[m[6;9H[K[7;5H[33m123[m[1C11: Setting global autoread[7;36H[K[8;5H[33m124[m[1CExpected: Name: <autoread>, Oldval: <1>, NewVal: <0>, Scope: <global>[9;5H[33m125[m[1CAutocmd Option: <autoread>, OldVal: <1>, NewVal: <0>, Scope: <global>[10;5H[33m126[m[10;9H[K[11;5H[33m127[m[1C12: Setting option backspace through :let[11;50H[K[12;5H[33m128[m[1CExpected: Name: <backspace>, Oldval: <>, NewVal: <eol,indent,start>, Scoo[13;1Hpe: <global>[13;14H[K[14;5H[33m129[m[1CAutocmd Option: <backspace>, OldVal: <>, NewVal: <eol,indent,start>, Scoo[15;1Hpe: <global>[15;14H[K[16;5H[33m13[m[16;9H[K[17;5H[33m13[m[2C13: Setting option backspace through setbufvar()[18;5H[33m13[m[2CExpected: Name: <backup>, Oldval: <>, NewVal: <1>, Scope: <local>[19;5H[33m13[m[2CAutocmd Option: <backup>, OldVal: <0>, NewVal: <1>, Scope: <local>[20;5H[33m13[m[20;9H[K[21;5H[33m13[m[2C14: Setting number option using setwinvar[22;5H[33m13[m[3Cxpected: Name: <number>, Oldval: <0>, NewVal: <1>, Scope: <local>[23;5H[33m13[m[2CAutocmd Option: <number>, OldVal: <0>, NewVal: <1>, Scope: <local>[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet @r=''
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="\n15: Setting key option, shouldn't trigger\n"
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['key', 'invalid', 'invalid1', 'invalid']]
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal key=blah
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal key=
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:testcase
[?25l[1;23r[1;1H[2M[1;24r[22;1H[33m 138
139 [m15: Setting key option, shouldn't trigger[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25h$put r
[?25l[1;23r[23;1H
[1;24r[23;1H[33m 140 [m[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25h/^dummy text/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 64 lines, 2700 characters written[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_autoformat_join.in" 23 lines, 524 characters[1;1HTests 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
ENDTEST[16;17HO 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:[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for setting the '[,'] marks when joining lines.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 9 lines, 265 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^\t\t/
[?25l[16;17H[?12l[?25h[16;8H[?25l[36Cattamen consulite per voster honur.
Tua pulchra facies me fay planszer milies[17;42H[K[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet a=string(getpos("'[")).'/'.string(getpos("']"))
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^This line/;'}-join
[?25l[19;23r[19;1H[2M[1;24r[19;1HThis line. Should be joined with the next line and with this line
[1m[34m~ [23;1H~ [m[24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet b=string(getpos("'[")).'/'.string(getpos("']"))
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='First test: Start/End '.string(a)
[?25l[22;1HFirst test: Start/End '[0, 16, 1, 0]/[0, 17, 1, 0]'[22;52H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='Second test: Start/End '.string(b)
[?25l[23;1HSecond test: Start/End '[0, 19, 11, 0]/[0, 19, 67, 0]'[23;55H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^\t\t/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_changelist.in" 22 lines, 288 characters[1;1HTest 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[34m^[[m
:catch
: normal ggVGcfail[34m^[[m
:finally
: %w! test.out
:endtry
:qa!
ENDTEST
1
2
[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest changelist position after splitting window[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 14 lines, 163 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h
[21;1H[?25l11[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ul=100
[?25l[21;2H[?12l[?25h
[?25l22[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ul=100
[?25l[22;2H[?12l[?25h[1;1H
[?25l[24;1H[K[24;1H:[?12l[?25hvsplit
[?25l[1;41H[7m|[m
window [7m|[m
Set 'undolevels' to make changelist for [7m|[m
sourced file[28C[7m|[m
[27C[7m|[m
STARTTEST [24C[7m|[m
:so small.vim [25C[7m|[m
Gkylp:set ul=100[24C[7m|[m
Gylp:set ul=100[25C[7m|[m
gg [36C[7m|[m
:vsplit [28C[7m|[m
:try [18C[7m|[m
: normal g;[28C[7m|[m[14;16Hpass[21C[7m|[m
:catch [32C[7m|[m
: normal ggVGcfail[34m^[[m[19C[7m|[m
:finally[32C[7m|[m
: %w! test.out[25C[7m|[m
:endtry[33C[7m|[m
:qa![36C[7m|[m
ENDTEST[33C[7m|[m
[38C[7m|[m
[1m[7mtest_changelist.in [+] [m[1;42HTest changelist position after splittin[2;42Hg window[2;50H[K[3;42HSet 'undolevels' to make changelist for[4;43Hsourced file[6;42HSTARTTEST[7;42H:so small.vim[8;42HGkylp:set ul=100[9;42HGylp:set ul=100[10;42Hgg[11;42H:vsplit[12;42H:try[13;42H: normal g;[14;42H: normal ggVGcpass[34m^[[m[15;42H:catch[16;42H: normal ggVGcfail[34m^[[m[17;42H:finally[18;42H: %w! test.out[19;42H:endtry[20;42H:qa![21;42HENDTEST[23;42H[7mtest_changelist.in [+] [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25htry
[?25l
: [?12l[?25h: normal g;
[?25l: [?12l[?25h: normal ggVGcpass
[?25l21 fewer lines[24;15H[K[24;1H
:
: [?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
[1;1H[10L[?25l[1;1Hpass[36C[7m|[2;41H|[3;41H|[4;41H|[5;41H|[6;41H|[7;41H|[8;41H|[9;41H|[10;41H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~ [m[23;20H[1m[7m [m[1;42Hpass[2;42H[1m[34m~ [3;42H~ [4;42H~ [5;42H~ [6;42H~ [7;42H~ [8;42H~ [9;42H~ [10;42H~ [11;42H~ [12;42H~ [13;42H~ [14;42H~ [15;42H~ [16;42H~ [17;42H~ [18;42H~ [19;42H~ [20;42H~ [21;42H~ [22;42H~ [m[23;61H[7m [m[24;1H[K[1;4H[?12l[?25h[?25l[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_close_count.in" 153 lines, 2665 characters[1;1HTests 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![1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :[count]close! and :[count]hide vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 41 lines, 749 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tests = []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(5)
[?25l
: [?12l[?25h:new
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [m[4;1H[1m[7m[No Name] [m[6;1H[1m[34m~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[7mtest_close_count.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h4wincmd w
[?25l[4;1H[7m[No Name][m[1m[7m [m[7m [m[16;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[7m[No Name] [m[7;1H[1m[34m~ [8;1H~ [m[9;1H[7m[No Name] [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [m[14;1H[7m[No Name] [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[1m[7m[No Name] [m[20;1H:b1
ENDTEST
[7mtest_close_count.in [15;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[19;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7m[No Name] [m[18;1H:only!
:b1
ENDTEST
STARTTEST
[1m[7mtest_close_count.in [21;1H[?12l[?25h[?25l
[m:[?12l[?25hlet buffers = []
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7m[No Name] [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [16;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[8;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h2close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[12;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[1m[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [m[18;1H[7m[No Name] [m[20;1H[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h2wincmd w
[?25l[6;1H[7m[No Name][m[1m[7m [m[7m [m[12;1H[1m[7m[No Name] [7;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h-1close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[8;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h2wincmd w
[?25l[16;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [9;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h+1close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [m[11;1H[7m[No Name] [m[13;1H[1m[34m~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [12;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [New File][23;1H[1m[7mtest.out] [12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(0, map(copy(tests), 'join(v:val, " ")'))
[?25l[12;22r[12;1H[6L[1;24r[12;1H6 5 4 2 1
5 4 2 1
5 4 2
5 2
7 5 2
7 5[23;10H[1m[7m[+][m[24;1H[K[18;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw
[?25l"test.out" [New File] 7 lines, 39 characters written[23;10H[1m[7m [18;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25honly!
[?25l[1;1H6 5 4 2 1
5 4 2 1[2;8H[K[3;1H5 4 2[3;6H[K[4;1H5 2[4;4H[K[5;1H7 5 2[5;6H[K[6;1H7 5[6;4H[K[7;1H[K[11;1H[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [23;1H~ [7;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hb1
[?25l"test_close_count.in" 153 lines, 2665 characters[1;1H: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[8;3H[K[9;1H:only![9;7H[K[10;1H:b1[10;4H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1HSTARTTEST[13;10H[K[14;1H:let tests = [][14;16H[K[15;1H:for i in range(5)[15;19H[K[16;1H:new[16;5H[K[17;1H:endfor[17;8H[K[18;1H:let buffers = [][18;18H[K[19;1H:windo call add(buffers, bufnr('%'))[19;37H[K[20;1H:call add(tests, buffers)[20;26H[K[21;1H:4wincmd w[21;11H[K[22;1H:.hide[22;7H[K[23;1H:let buffers = [][23;18H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H44 lines, 815 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[34m^[[m
: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('%'))[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tests = []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(5)
[?25l
: [?12l[?25h:new
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [m[4;1H[1m[7m[No Name] [m[6;1H[1m[34m~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[7mtest_close_count.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[4;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h4wincmd w
[?25l[16;1H[1m[7m[No Name] [m[23;1H[7mtest_close_count.in[m[1m[7m [m[7m [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[7m[No Name] [m[7;1H[1m[34m~ [8;1H~ [m[9;1H[7m[No Name] [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [m[14;1H[7m[No Name] [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[1m[7m[No Name] [m[20;1H:b1
ENDTEST
[7mtest_close_count.in [15;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[19;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7m[No Name] [m[18;1H:only!
:b1
ENDTEST
STARTTEST
[1m[7mtest_close_count.in [21;1H[?12l[?25h[?25l
[m:[?12l[?25hlet buffers = []
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7m[No Name] [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [16;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[8;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h2hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[12;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[1m[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [m[18;1H[7m[No Name] [m[20;1H[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h3wincmd w
[?25l[6;1H[7m[No Name][m[1m[7m [m[7m [m[18;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h-hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[1m[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [9;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[16;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h2wincmd w
[?25l[16;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [9;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h+hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [m[11;1H[7m[No Name] [m[13;1H[1m[34m~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [12;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H7 lines, 39 characters[12;1H6 5 4 2 1
5 4 2 1[13;8H[K[14;1H5 4 2[14;6H[K[15;1H5 2[15;4H[K[16;1H7 5 2[16;6H[K[17;1H7 5[17;4H[K[18;1H[K[23;1H[1m[7mtest.out] [12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l[19;1H13 12 11 10 9 1[19;16H[K[20;1H13 12 11 9 1[20;13H[K[21;1H12 11 9 1[21;10H[K[22;1H12 11 9[22;8H[K[23;10H[1m[7m[+][12;1H[?12l[?25h[?25l[12;22r[m[12;1H[3M[1;24r[20;1H12 9
15 12 9
15 12[24;1H[K[22;1H[?12l[?25h[?25l[12;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25hw
[?25l"test.out" 15 lines, 106 characters written[23;10H[1m[7m [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25honly!
[?25l[1;1H6 5 4 2 1
5 4 2 1[2;8H[K[3;1H5 4 2[3;6H[K[4;1H5 2[4;4H[K[5;1H7 5 2[5;6H[K[6;1H7 5[6;4H[K[7;1H[K[8;1H13 12 11 10 9 1[8;16H[K[9;1H13 12 11 9 1[9;13H[K[10;1H12 11 9 1[10;10H[K[11;1H12 11 9[11;8H[K[12;1H12 9[12;5H[K[13;1H15 12 9
15 12[15;1H[K[16;1H[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [15;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hb1
[?25l[1;1H:+hide[1;7H[K[2;1H:let buffers = []
:windo call add(buffers, bufnr('%'))
:call add(tests, buffers)
:e! test.out
:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))
Go[34m^[[m
:w[8;4H[K[9;1H:only![9;7H[K[10;1H:b1[10;4H[K[11;1HENDTEST[12;1H[K[13;1HSTARTTEST
:let tests = []
:set hidden
:for i in range(5)[16;19H[K[17;1H:new[17;5H[K[18;1H:endfor[18;8H[K[19;1H:1wincmd w[19;11H[K[20;1H:$ hide[20;8H[K[21;1H:let buffers = [][21;18H[K[22;1H:windo call add(buffers, bufnr('%'))[22;37H[K[23;1H:call add(tests, buffers)[23;26H[K[24;1H"test_close_count.in" line 93 of 153 --60%-- col 1[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H25 lines, 448 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[34m^[[m
:w
:only!
:b1
ENDTEST
STARTTEST
:let tests = []
:set hidden
:for i in range(5)
:new
:endfor
:4wincmd w
[34m^W[mc
:let buffers = []
:windo call add(buffers, bufnr('%'))[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tests = []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(5)
[?25l
: [?12l[?25h:new
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [m[4;1H[1m[7m[No Name] [m[6;1H[1m[34m~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[7mtest_close_count.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h1wincmd w
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$ hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[1m[7m[No Name] [m[7;1H[1m[34m~ [8;1H~ [9;1H~ [m[10;1H[7m[No Name] [m[12;1H[1m[34m~ [13;1H~ [m[14;1H[7m[No Name] [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[7m[No Name] [m[21;1H[1m[34m~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[5;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [20;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$-1 close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7m[No Name] [m[19;1H[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [18;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[6;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.+close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[8;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H15 lines, 106 characters[17;1H6 5 4 2 1
5 4 2 1[18;8H[K[19;1H5 4 2[19;6H[K[20;1H5 2[20;4H[K[21;1H7 5 2[21;6H[K[22;1H7 5[22;4H[K[23;1H[1m[7mtest.out] [17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l[23;10H[1m[7m[+][17;1H[?12l[?25h[?25l[m15 12 9[17;9H[K[18;1H15 1[18;7H[K[19;1H[K[20;1H20 19 18 17 16
20 19 18 16
20 18 16
[?12l[?25h[?25l[17;22r[22;1H
[1;24r[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hw
[?25l"test.out" 19 lines, 143 characters written[23;10H[1m[7m [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25honly!
[?25l[27m[23m[m[H[2J[1;1H6 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
[1m[34m~ [21;1H~ [22;1H~ [23;1H~ [19;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hb1
[?25l[1;1H:.+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[34m^[[m
:w[8;4H[K[9;1H:only![9;7H[K[10;1H:b1[10;4H[K[11;1HENDTEST[12;1H[K[13;1HSTARTTEST
:let tests = []
:set hidden
:for i in range(5)
:new[17;5H[K[18;1H:endfor[18;8H[K[19;1H:4wincmd w
[34m^W[mc[20;4H[K[21;1H:let buffers = [][21;18H[K[22;1H:windo call add(buffers, bufnr('%'))[22;37H[K[23;1H:call add(tests, buffers)[23;26H[K[24;1H"test_close_count.in" line 121 of 153 --79%-- col 1[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H28 lines, 511 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[19M[1;24r[5;1H1[34m^W[mc
:let buffers = []
:windo call add(buffers, bufnr('%'))
:call add(tests, buffers)
9[34m^W[mc
:let buffers = []
:windo call add(buffers, bufnr('%'))
:call add(tests, buffers)
:1wincmd w
2[34m^W[mc
: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tests = []
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(5)
[?25l
: [?12l[?25h:new
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [m[4;1H[1m[7m[No Name] [m[6;1H[1m[34m~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[7mtest_close_count.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h4wincmd w
[?25l[4;1H[7m[No Name][m[1m[7m [m[7m [m[16;1H[1m[7m[No Name] [13;1H[?12l[?25h[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[7m[No Name] [m[7;1H[1m[34m~ [8;1H~ [m[9;1H[7m[No Name] [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [m[14;1H[7m[No Name] [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[1m[7m[No Name] [m[20;1H:qa!
ENDTEST
[7mtest_close_count.in [15;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[19;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7m[No Name] [m[18;1H:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))
:w
:qa!
ENDTEST
[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[18;22r[m[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25hlet buffers = []
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7m[No Name] [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [16;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[8;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25honly!
[?25l[12;1H[1m[34m~ [13;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" line 19 of 19 --100%-- col 1[1;1H6 5 4 2 1
5 4 2 1[2;8H[K[3;1H5 4 2[3;6H[K[4;1H5 2[4;4H[K[5;1H7 5 2[5;6H[K[6;1H7 5[6;4H[K[7;1H[K[8;1H13 12 11 10 9 1[8;16H[K[9;1H13 12 11 9 1[9;13H[K[10;1H12 11 9 1[10;10H[K[11;1H12 11 9[11;8H[K[12;1H12 9[12;5H[K[13;1H15 12 9[13;8H[K[14;1H15 12[14;6H[K[15;1H[K[16;1H20 19 18 17 16[16;15H[K[17;1H20 19 18 16[17;12H[K[18;1H20 18 16[18;9H[K[19;1H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l[20;1H25 24 23 21 1[20;14H[K[21;1H24 23 21 1[21;11H[K[22;1H24 23 21[22;9H[K[23;1H24 21[23;6H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" 23 lines, 183 characters written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_comparators.in" 21 lines, 283 characters[1;1H" 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
[1m[34m~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1H" Test for expression comparators. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 14 lines, 200 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[10L[?25l[1;1H" Test for expression comparators. vim: set ft=vim :
STARTTEST
:so small.vim
:try
: let oldisident=&isident
: set isident+=#
: if 1 is#1
: $put ='ok'[22;1Hok[22;3H[K[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^marker/+1,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_erasebackword.in" 19 lines, 427 characters[1;1HTest for erasing backword
STARTTEST
:so small.vim
:so mbyte.vim
:set encoding=utf-8
G
:/^test/,$w! test.out
:qa!
ENDTEST
test starts here:
[1m[34m~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for erasing backword[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 12 lines, 362 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1HTest for erasing backword
STARTTEST
:so small.vim
:so mbyte.vim
:set encoding=utf-8
G
o wwwこんにちわ世界ワールドvim [34m^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^W^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^W^W^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^W^W^W^W^[[m
:/^test/,$w! test.out
:qa!
ENDTEST
test starts here:
[1m[34m~ [21;1H~ [22;1H~ [23;1H~ [17;1H[?12l[?25h
[?25l[m
www[20;5H[K[20;5H[?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[21;5H[K[21;5H[?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[21;19H[K[21;17H[?12l[?25h[?25l
www[22;5H[K[22;5H[?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[22;15H[K[22;13H[?12l[?25h[?25l
www[23;5H[K[23;5H[?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[23;5H[K[23;4H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Hwww[?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[23;2H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Hwww[?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[23;2H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^test/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 8 lines, 111 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_eval.in" 247 lines, 6201 characters[1;1HTest 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:rr[15;1Heg, 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[19;1H:type, a:cont, a:strcont, a:cont1, a:strcont1))
endfun
:command -nargs=? AR :call AppendRegContents(<q-args>)
:fun SetReg(...)
call call('setreg', a:000)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for various eval features. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 233 lines, 6010 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[9;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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:[18;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=latin1
[?25l[27m[23m[m[H[2J[1;1H:$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:[19;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset noswapfile
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang C
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfun AppendRegContents(reg)
[?25l
: [?12l[?25h call AppendRegParts(a:reg, getregtype(a:reg), getreg(a:reg), string(getreg
[23;80H([24;1Ha:reg, 0, 1)), getreg(a:reg, 1), string(getreg(a:reg, 1, 1)))
[?25l: [?12l[?25h:endfun
[1;1H[3L[?25l[1;1H:$put =str[:n]
:$put =str[n:n]
:unlet n[24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?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
[23;80Hg[24;1H, a:type, a:cont, a:strcont, a:cont1, a:strcont1))
[?25l: [?12l[?25hendfun
[1;1H[3L[?25l[1;1H:$put =str[:n]
:$put =str[n:n]
:unlet n[24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcommand -nargs=? AR :call AppendRegContents(<q-args>)
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[7L[?25l[1;1H:$put =str[:n]
:$put =str[n:n]
:unlet n
:let nn = 3
:$put =str[nn:]
:$put =str[:nn]
:$put =str[nn:nn][24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[7L[?25l[1;1H:$put =str[:n]
:$put =str[n:n]
:unlet n
:let nn = 3
:$put =str[nn:]
:$put =str[:nn]
:$put =str[nn:nn][24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?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
[23;80H-[24;1H4-2"])
[?25l: [?12l[?25hcall SetReg('b', ['abcB4c-0', "\n", "abcB4c-2\n", "\nabcB4c-3", "abcB4c-4\na
[23;80Hb[24;1HcB4c-4-2"], 'c')
[?25l: [?12l[?25hcall SetReg('c', ['abcC4l-0', "\n", "abcC4l-2\n", "\nabcC4l-3", "abcC4l-4\na
[23;80Hb[24;1HcC4l-4-2"], 'l')
[?25l: [?12l[?25hcall SetReg('d', ['abcD4b-0', "\n", "abcD4b-2\n", "\nabcD4b-3", "abcD4b-4\na
[23;80Hb[24;1HcD4b-4-2"], 'b')
[?25l: [?12l[?25hcall SetReg('e', ['abcE4b10-0', "\n", "abcE4b10-2\n", "\nabcE4b10-3", "abcE4
[23;80Hb[24;1H10-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
[23;80Hn[24;1Hts']", "clipboard contents\n", "['clipboard contents']")
[?25l: [?12l[?25h call AppendRegParts('*', 'V', "something else\n", "['something else']",
[23;80H"[24;1Hsomething 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
[27m[23m[m[H[2J[?25l[1;1H:$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:[19;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Test()
[?25lhi[24;3H[K[1;1H*: type V; value: something else[34m^@[m (['something else']), expr: something else[34m^@[m [2;1H(['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 moo[18;1Hre lines
Executing call setreg("=", ["1", "2"])
Vim(call):E883: search pattern and expression register may not contain two or moo[21;1Hre lines[21;9H[K[22;1HExecuting call setreg(1, ["", "", [], ""])
Vim(call):E730: using List as a String
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction SetReg
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction AppendRegContents
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction ErrExe
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction Test
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelcommand AR
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" function name not starting with capital
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1H{{{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)[7;14H8: Too many arguments for function: setreg[7;56H[K[8;23H[], 2)[8;29H[K[9;12H730: using List as a String[9;40H[K[10;23H1, {}[11;14H1[8CDictionary as a String[12;26H2, [])[13;14H0[8CList as a String[13;39H[K[14;23H"/", ["1", "2"])[15;12H883: search pattern and expression register may not contain two or moo[16;1Hre lines[16;9H[K[17;1HExecuting call setreg("=", ["1", "2"])[17;39H[K[18;1HVim(call):E883: search pattern and expression register may not contain two or moo[19;1Hre lines[19;9H[K[20;1HExecuting call setreg(1, ["", "", [], ""])[20;43H[K[21;1HVim(call):E730: using List as a String
Vim(function):E128: Function name must start with a capital or "s:": g:test()
[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" function name includes a colon
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1H{{{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)[23;1HVim(function):E128: Function name must start with a capital or "s:": b:test()[23;78H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" function name folowed by #
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1HExecuting 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)[7;29H[K[8;1HVim(call):E730: using List as a String
Executing call setreg(1, {})[9;29H[K[10;1HVim(call):E731: using Dictionary as a String
Executing call setreg(1, 2, [])[11;32H[K[12;1HVim(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 moo[15;1Hre lines[15;9H[K[16;1HExecuting call setreg("=", ["1", "2"])
Vim(call):E883: search pattern and expression register may not contain two or moo[18;1Hre lines[18;9H[K[19;1HExecuting call setreg(1, ["", "", [], ""])
Vim(call):E730: using List as a String[20;39H[K[21;5Hfunction):E128: Function name must start with a capital or "s:": g:test()[22;70Hb[23;70Htest2() "#[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" function name starting with/without "g:", buffer-local funcref.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! g:Foo(n)
[?25l
: [?12l[?25h: $put ='called Foo(' . a:n . ')'
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1HExecuting call setreg()
Vim(call):E119: Not enough arguments for function: setreg[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet b:my_func = function('Foo')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall b:my_func(1)
[?25l[1;23r[23;1H
[1;24r[23;1Hcalled Foo(1)[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hecho g:Foo(2)
[?25l0[24;2H[K[1;23r[23;1H
[1;24r[23;1Hcalled Foo(2)[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hecho Foo(3)
[?25l0[24;2H[K[1;23r[23;1H
[1;24r[23;1Hcalled Foo(3)[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" script-local function used in Funcref must exist.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso test_eval_func.vim
[?25l[1;23r[1;1H[4M[1;24r[20;1Hs:Testje exists: 0
func s:Testje exists: 1
Bar exists: 1
func Bar exists: 1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Using $ instead of '$' must give an error
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htry
[?25l
: [?12l[?25h: call append($, 'foobar')
[?25l: [?12l[?25h:catch
[?25l: [?12l[?25h:$put =v:exception
[?25l: [?12l[?25h:endtry
[1;1H[4L[?25l[1;1HExecuting 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 moo[7;1Hre lines[7;9H[K[8;1HExecuting call setreg("=", ["1", "2"])
Vim(call):E883: search pattern and expression register may not contain two or moo[10;1Hre lines[10;9H[K[11;1HExecuting call setreg(1, ["", "", [], ""])
Vim(call):E730: using List as a String[12;39H[K[13;5Hfunction):E128: Function name must start with a capital or "s:": g:test()[14;70Hb[15;70Htest2() "#
called Foo(1[16;14H[K[17;12H2[18;12H3
s:Testje exists: 0
func s:Testje exists: 1
Bar exists: 1[21;15H[K[22;1Hfunc Bar exists: 1
Vim(call):E116: Invalid arguments for function append[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='{{{1 getcurpos/setpos'
[?25l[1;23r[23;1H
[1;24r[23;1H{{{1 getcurpos/setpos[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^012345678
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: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[34m^@[m (['abc']), expr: abc[34m^@[m (['abc'])
": type V; value: abc[34m^M^@[m (['abc[34m^M[m']), expr: abc[34m^M^@[m (['abc[34m^M[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'])
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[m012345[?25l[24;1H[K[24;1H:[?12l[?25hlet sp = getcurpos()
[?25l[12;7H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hcall setpos('.', sp)
[?25l[12;7H[?12l[?25h[13;7H[?25l[24;1H[K[24;1H:[?12l[?25h$put
[?25l[27m[23m[m[H[2J[1;1HExecuting 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 moo[5;1Hre lines
Executing call setreg("=", ["1", "2"])
Vim(call):E883: search pattern and expression register may not contain two or moo[8;1Hre 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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" substring and variable name
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet str = 'abcdef'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet n = 3
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[n:]
[?25l[1;23r[23;1H
[1;24r[23;1Hdef[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =str[:n]
[?25l[1;23r[23;1H
[1;24r[23;1Habcd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =str[n:n]
[?25l[1;23r[23;1H
[1;24r[23;1Hd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet n
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet nn = 3
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[nn:]
[?25l[1;23r[1;1H[2M[1;24r[22;1Hdef
[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put =str[:nn]
[?25l[23;1Habcd[23;5H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[nn:nn]
[?25l[1;23r[23;1H
[1;24r[23;1Hd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet nn
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b:nn = 4
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[b:nn:]
[?25l[1;23r[1;1H[2M[1;24r[22;1Hef
[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put =str[:b:nn]
[?25l[23;1Habcde[23;6H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[b:nn:b:nn]
[?25l[1;23r[23;1H
[1;24r[23;1He[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet b:nn
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/+1,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_fixeol.in" 40 lines, 780 characters[1;1HTests for 'fixeol'[25Cvim: set ft=vim :
STARTTEST
:" use Unix fileformat for consistency
:set ff=unix
:enew!
awith eol[34m^[[m:w! XXEol
:enew!
:set noeol nofixeol
awithout eol[34m^[[m:w! XXNoEol
:set eol fixeol
:bwipe XXEol XXNoEol
:"
:" try editing files with 'fixeol' disabled
:e! XXEol
ostays eol[34m^[[m:set nofixeol
:w! XXTestEol
:e! XXNoEol
ostays without[34m^[[m:set nofixeol
:w! XXTestNoEol
:bwipe XXEol XXNoEol XXTestEol XXTestNoEol
:set fixeol[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for 'fixeol'[25Cvim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 35 lines, 698 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[16M[1;24r[8;1H:"
:" Append "END" to each file so that we can see what the last written char was.
ggdGaEND[34m^[[m:w >>XXEol
:w >>XXNoEol
:w >>XXTestEol
:w >>XXTestNoEol
:"
:" Concatenate the results
:e! test.out
a0[34m^[[m:$r XXEol
:$r XXNoEol
Go1[34m^[[m:$r XXTestEol
:$r XXTestNoEol
:w
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
2 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[2L[1;1H:w! XXTestEol
:e! XXNoEol
ostays without[34m^[[m:set nofixeol[3;30H[K[4;1H:w! XXTestNoEol[4;16H[K[5;1H:bwipe XXEol XXNoEol XXTestEol XXTestNoEol[5;43H[K[6;1H:set fixeol[6;12H[K[7;1H:"[7;3H[K[8;1H:" Append "END" to each file so that we can see what the last written char was.[8;80H[K[9;1HggdGaEND[34m^[[m:w >>XXEol[9;21H[K[10;1H:w >>XXNoEol[10;13H[K[11;1H:w >>XXTestEol[11;15H[K[12;1H:w >>XXTestNoEol[12;17H[K[13;1H:"[13;3H[K[14;1H:" Concatenate the results[14;27H[K[15;1H:e! test.out[15;13H[K[16;1Ha0[34m^[[m:$r XXEol[16;14H[K[17;1H:$r XXNoEol[17;12H[K[18;1HGo1[34m^[[m:$r XXTestEol[18;19H[K[19;1H:$r XXTestNoEol[19;16H[K[20;1H:w[20;3H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" try editing files with 'fixeol' disabled
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXEol
[?25l"XXEol" [24;9H[K[24;9H1 line, 9 characters[1;1Hwith eol[1;9H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m
stays eol[2;10H[K[2;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nofixeol
[?25l[2;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXTestEol
[?25l"XXTestEol" [24;13H[K[24;13H[New File] 2 lines, 19 characters written[2;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXNoEol
[?25l"XXNoEol" [24;11H[K[24;11H[Incomplete last line] 1 line, 11 characters[1;5Hout eol
[1m[34m~ [1;1H[?12l[?25h[?25l[m
stays without[2;14H[K[2;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nofixeol
[?25l[2;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXTestNoEol
[?25l"XXTestNoEol" [24;15H[K[24;15H[New File][Incomplete last line] 2 lines, 25 characters written[2;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXEol XXNoEol XXTestEol XXTestNoEol
[?25l"test_fixeol.in" [24;18H[K[24;18H40 lines, 780 characters
4 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fixeol
[?25l[1;1H[2L[1;1H:w! XXTestEol
:e! XXNoEol
ostays without[34m^[[m:set nofixeol[3;30H[K[4;1H:w! XXTestNoEol[4;16H[K[5;1H:bwipe XXEol XXNoEol XXTestEol XXTestNoEol[5;43H[K[6;1H:set fixeol[6;12H[K[7;1H:"[7;3H[K[8;1H:" Append "END" to each file so that we can see what the last written char was.[8;80H[K[9;1HggdGaEND[34m^[[m:w >>XXEol[9;21H[K[10;1H:w >>XXNoEol[10;13H[K[11;1H:w >>XXTestEol[11;15H[K[12;1H:w >>XXTestNoEol[12;17H[K[13;1H:"[13;3H[K[14;1H:" Concatenate the results[14;27H[K[15;1H:e! test.out[15;13H[K[16;1Ha0[34m^[[m:$r XXEol[16;14H[K[17;1H:$r XXNoEol[17;12H[K[18;1HGo1[34m^[[m:$r XXTestEol[18;19H[K[19;1H:$r XXTestNoEol[19;16H[K[20;1H:w[20;3H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Append "END" to each file so that we can see what the last written char was.
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[17L[1;24r[1;1HTests for 'fixeol'[25Cvim: set ft=vim :
STARTTEST
:" use Unix fileformat for consistency
:set ff=unix
:enew!
awith eol[34m^[[m:w! XXEol
:enew!
:set noeol nofixeol
awithout eol[34m^[[m:w! XXNoEol
:set eol fixeol
:bwipe XXEol XXNoEol
:"
:" try editing files with 'fixeol' disabled
:e! XXEol
ostays eol[34m^[[m:set nofixeol[24;1H[K[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25lEND[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXEol
[?25l"XXEol" [24;9H[K[24;9H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXNoEol
[?25l"XXNoEol" [24;11H[K[24;11H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXTestEol
[?25l"XXTestEol" [24;13H[K[24;13H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXTestNoEol
[?25l"XXTestNoEol" [24;15H[K[24;15H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Concatenate the results
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [New File][1;1H[K[1;1H[?12l[?25h[?25l0[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXEol
[?25l"XXEol" [24;9H[K[24;9H2 lines, 13 characters[2;1Hwith eol[2;9H[K[3;1HEND[3;4H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXNoEol
[?25l"XXNoEol" [24;11H[K[24;11H1 line, 15 characters[4;1Hwithout eolEND[4;15H[K[4;1H[?12l[?25h[?25l
1[5;2H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXTestEol
[?25l"XXTestEol" [24;13H[K[24;13H3 lines, 23 characters[6;1Hwith eol[6;9H[K[7;1Hstays eol[7;10H[K[8;1HEND[8;4H[K[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXTestNoEol
[?25l"XXTestNoEol" [24;15H[K[24;15H2 lines, 29 characters[9;1Hwithout eol[9;12H[K[10;1Hstays withoutEND[10;17H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" [New File] 10 lines, 84 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_getcwd.in" 96 lines, 2374 characters[1;1HTests for getcwd(), haslocaldir(), and :lcd[19Cvim: 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for getcwd(), haslocaldir(), and :lcd[19Cvim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 90 lines, 2273 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Do all test in a separate window to avoid E211 when we recursively
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" delete the Xtopdir directory during cleanup
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" This will cause a few errors, do it silently.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset visualbell
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" On windows a swapfile in Xtopdir prevents it from being cleaned up.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noswapfile
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[27m[23m[m[H[2J[?25l[1;1H: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[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" we start from a clean state.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xtopdir", "rf")
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet r=[]
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[23;1H[7mtest_getcwd.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet cwd=getcwd()
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet test_out = cwd . '/test.out'
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xtopdir')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd Xtopdir
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir[23;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test_getcwd.in[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xdir1')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xdir2')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xdir3')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew a
[?25l"a" [New File][27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7ma [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[17;1H:q
:exec "cd " . cwd
:call delete("Xtopdir", "rf")
:qa!
ENDTEST
[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test_getcwd.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew b
[?25l"b" [New File][27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[1m[7mb [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7ma [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [m[18;1H[7m[No Name] [m[19;1H:call delete("Xtopdir", "rf")
:qa!
ENDTEST
[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test_getcwd.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew c
[?25l"c" [New File][27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[1m[7mc [m[7;1H[1m[34m~ [8;1H~ [9;1H~ [m[10;1H[7mb [m[12;1H[1m[34m~ [13;1H~ [m[14;1H[7ma [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[7m[No Name] [m[20;1H:qa!
ENDTEST
[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test_getcwd.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h3wincmd w
[?25l[5;1H[7mc[m[1m[7m [m[7m [m[14;1H[1m[7ma [11;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlcd Xdir1
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/Xdir1[5;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/c[10;1H/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/b[m[14;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/a[11;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[5;1H[7mc [m[10;1H[1m[7mb [m[14;1H[7ma[m[1m[7mb[m[7m [6;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[5;1H[1m[7mc [m[10;1H[7mb[m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlcd Xdir3
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/Xdir3[5;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/c[m[10;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/b[14;1H/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/a[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("a"), 0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("b"), 0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("c"), 0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[5;1H[7mc[m[1m[7mb[m[7m [10;1Hb [14;1Ha [m[23;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("a"), tabpagenr()))
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("b"), tabpagenr()))
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("c"), tabpagenr()))
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabnew x
[?25l"x" [New File][27m[23m[m[H[2J[1;1H[4m[30m[47m [m[4m[35m[47m5[m[4m[30m[47m /b/v/v/s/v/t/test_getcwd.in [m[1m x [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew y
[?25l"y" [New File][1;33H[1m[35m2[m[1m y [m[43C[7m [m[1;80H[4m[30m[47mX[m[12;1H[1m[7my[m[1m[34m [m[1m[7m [m[13;1H[K[23;1H[7mx[m[1m[34m [m[7m [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnew z
[?25l"z" [New File][27m[23m[m[H[2J[1;1H[4m[30m[47m [m[4m[35m[47m5[m[4m[30m[47m /b/v/v/s/v/t/test_getcwd.in [m[1m [m[1m[35m3[m[1m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[9;1H[1m[7mz [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7my [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mx [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h3wincmd w
[?25l[9;1H[7mz[m[1m[7m [m[7m [m[23;1H[1m[7mx [m[1;35H[1mx [m[43C[7m [m[1;80H[4m[30m[47mX[17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[16;1H[1m[7my [m[23;1H[7mx[m[1m[7m [m[7m [m[1;35H[1my [m[43C[7m [m[1;80H[4m[30m[47mX[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlcd Xdir2
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/Xdir2[1;35H[1m/b/v/v/s/v/t/X/y [m[28C[7m [m[1;80H[4m[30m[47mX[m[9;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/z[m[16;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/y[m[23;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/x[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[1;35H[1mzb /[m[7m [28C [m[1;80H[4m[30m[47mX[m[9;1H[1m[7mz [m[16;1H[7my[m[1m[7mb[m[7m [23;1Hx [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlcd Xdir3
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/Xdir3[1;35H[1m/b/v/v/s/v/t/X/z [m[28C[7m [m[1;80H[4m[30m[47mX[m[9;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/z[m[16;1H[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/y[23;1H/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtopdir/x[2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("x"), 0))
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("y"), 0))
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("z"), 0))
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tp_nr = tabpagenr()
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m5[m[1m /b/v/v/s/v/t/test_getcwd.in [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [m[11;1H[7mb [m[13;1H[1m[34m~ [14;1H~ [m[15;1H[7ma [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hcall add(r, GetCwdInfo(3, tp_nr))
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m5[m[1m /b/v/v/s/v/t/test_getcwd.in [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [m[11;1H[7mb [m[13;1H[1m[34m~ [14;1H~ [m[15;1H[7ma [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hcall add(r, GetCwdInfo(2, tp_nr))
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m5[m[1m /b/v/v/s/v/t/test_getcwd.in [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [m[11;1H[7mb [m[13;1H[1m[34m~ [14;1H~ [m[15;1H[7ma [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hcall add(r, GetCwdInfo(1, tp_nr))
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m5[m[1m /b/v/v/s/v/t/test_getcwd.in [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [m[11;1H[7mb [m[13;1H[1m[34m~ [14;1H~ [m[15;1H[7ma [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[1m[7m/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall writefile(r, test_out, "a")
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m4[m[1m [No Name] [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7mb [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7ma [m[19;1H[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [18;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir[1;17H[4m[30m[47mX/z [m[59C[7m [m[1;80H[4m[30m[47mX[m[6;1H[7mXtopdir/c[12;1HXtopdir/b[17;1HXtopdir/a
[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall delete("Xtopdir", "rf")
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_insertcount.in" 14 lines, 204 characters[1;1HTests for repeating insert and replace.
STARTTEST
:so small.vim
:/Second
4gro
:/^First/,$wq! test.out
:" get here when failed and in Insert mode
[34m^[[m:.wq! test.out
ENDTEST
First line
Second line
Last line
[1m[34m~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for repeating insert and replace.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 6 lines, 111 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/Second
[?25l[13;1H[?12l[?25h[?25looooecond line
ooo[?12l[?25h
Las[?25l[24;1H[K[24;1H:[?12l[?25h/^First/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_listchars.in" 54 lines, 705 characters[1;1HTests 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))'))[9;1H, '')
:endfunction
:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\\[12;1H<CR>"
:set listchars+=tab:>-,space:.,trail:<
:set list
:
/^start:/
:normal! jzt
GG
GG
GG
GG
GGH:
:set listchars-=trail:<[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for 'listchars' display with 'list' and :list[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 25 lines, 431 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[9M[1;24r[15;1HGG
GG
GG
GG
GG:
:put =g:lines
:'[,']w! test.out
ENDTEST[24;1H[K[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff=unix
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:lines = []
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction GetScreenCharsForLine(lnum)
[?25l
: [?12l[?25h: return join(map(range(1, virtcol('$')), 'nr2char(screenchar(a:lnum, v:val
[23;80H)[24;1H)'), '')
[?25l: [?12l[?25h:endfunction
[1;1H[3L[?25l[1;1H:endfunction
:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\\[3;1H<CR>"[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hnnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))
[23;80H\[24;1H<CR>"
[?25l[1;1H[L[1;1H:endfunction[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset listchars+=tab:>-,space:.,trail:<
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset list
[?25l[1;13H[1m[34m$[m[2;10H[34m.[m<expr>[34m.[mGG[34m.[m":call[34m.[12C.[m[39C\\[3;1H<CR>"[1m[34m$[m
:set[34m.[m[33C[1m[34m$[m
:set[34m.[mlist[1m[34m$
[m:[1m[34m$[7;10H$[m[8;9H[34m.[mjzt[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGGH:[1m[34m$[m
:set[34m.[m[18C[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG:[1m[34m$[m
:put[34m.[m[8C[1m[34m$[m[21;9H[34m.[m[8C[1m[34m$[22;8H$
$[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start:/
[?25l[24;9H[K[24;1H[1;23r[23;1H
[1;24r[23;1Hstart:[1m[34m$[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hnormal! jzt
[?25l[27m[23m[m[H[2J[1;1H[34m>-------[maa[34m>-----[m[1m[34m$[m
[34m..[mbb[34m>---<<[m[1m[34m$[m
[34m...[mcccc[34m><[m[1m[34m$[m
dd[34m........[mee[34m<<>-[m[1m[34m$[m
[34m<[m[1m[34m$
$
$[m
STARTTEST[1m[34m$[m
:set[34m.[mlistchars+=trail:<[1m[34m$[m
:set[34m.[mnolist[1m[34m$[m
:[1m[34m$[m
/^start:/[1m[34m$[m
:redir![34m.[m>>[34m.[mtest.out[1m[34m$[m
:+1,$list[1m[34m$[m
:redir[34m.[mEND[1m[34m$[m
:q![1m[34m$[m
ENDTEST[1m[34m$
$[m
start:[1m[34m$[m
[34m..[mfff[34m>--<<[m[1m[34m$[m
[34m>-------[mgg[34m>-----[m[1m[34m$[m
[34m.....[mh[34m>-[m[1m[34m$[m
iii[34m<<<<><<[m[1m[34m$[1;1H[?12l[?25h[?25l[24;1H[m:call add(g:lines, GetScreenCharsForLine(1))
[1;1H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(2))
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(3))
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(4))
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(5))
[5;1H[?12l[?25h[1;9H[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset listchars-=trail:<
[?25l[2;9H[34m..[3;9H.[4;13H..
.[20;9H..[23;4H....>..[1;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(1))
[1;9H[?12l[?25h[2;9H[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(2))
[2;9H[?12l[?25h[3;9H[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(3))
[3;9H[?12l[?25h[4;9H[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(4))
[4;9H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(5))
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hput =g:lines
[?25l10 more [6;23r[6;1H[10L[1;24r[6;1H>-------aa>-----$[1m[34m$[m
..bb>---<<$[1m[34m$[m
...cccc><$[1m[34m$[m
dd........ee<<>-$[1m[34m$[m
<$[1m[34m$[m
>-------aa>-----$[1m[34m$[m
..bb>---..$[1m[34m$[m
...cccc>.$[1m[34m$[m
dd........ee..>-$[1m[34m$[m
.$[1m[34m$[m[24;1H[K[24;1H10 more lines[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h'[,']w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 10 lines, 124 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[18;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H8 lines, 93 characters written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[19;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H:+1,$list[1m[34m$[m
:redir[34m.[mEND[1m[34m$[m
:q![1m[34m$[m
ENDTEST[1m[34m$[m[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[1m[34m$[?12l[?25h[?25l
[m:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset listchars+=trail:<
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nolist
[?25l[1;18H[K[2;12H[K[3;11H[K[4;18H[K[5;3H[K[6;18H[K[7;12H[K[8;11H[K[9;18H[K[10;3H[K[11;1H[K[12;1H[K[13;10H[K[14;5H [14;24H[K[15;5H [15;12H[K[16;2H[K[17;10H[K[18;8H >> [18;20H[K[19;10H[K[20;7H [20;11H[K[21;4H[K[22;8H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start:/
[?25l[24;9H[K[24;1H[1;23r[23;1H
[1;24r[23;1Hstart:[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hredir! >> test.out
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h+1,$list
[?25l[34m..[mfff[34m>--<<[m[1m[34m$[m
[34m>-------[mgg[34m>-----[m[1m[34m$[m
[34m.....[mh[34m>-[m[1m[34m$[m
iii[34m<<<<><<[m[1m[34m$[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[4L[1;1H>-------aa>-----$
..bb>---..$
...cccc>.$
dd........ee..>-$
.$[5;3H[K[6;1H[K[7;1H[K[8;1HSTARTTEST[8;10H[K[9;1H:set listchars+=trail:<
:set nolist
:
/^start:/
:redir! >> test.out[13;20H[K[14;2H+1,$list[14;10H[K[15;2Hredir END
:q![16;4H[K[17;1HENDTEST[17;9H[K[18;1H[K[19;1Hstart:[19;8H[K[20;1H fff
gg[22;6Hh
iii [24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_listlbr.in" 119 lines, 2868 characters[1;1HTest for linebreak and list option (non-utf8)
STARTTEST
:so small.vim
:if !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! | [6;1Hendif
: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)
:[7Clet c=''
:[7Cfor j in range(1,4)
:[11Cfor i in range(1,a:width)
:[15Clet c.=nr2char(screenchar(j, i))
:[11Cendfor
:[11Clet c.="\n"
:[7Cendfor
:[7Creturn c
:endfu
:fu! DoRecordScreen()
:[7Cwincmd l
:[7C$put =printf(\"\n%s\", g:test)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for linebreak and list option (non-utf8)[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 114 lines, 2792 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Habcd{ef
ghijklm
no}pqrs[34m^[[m2k0f{[34m^V^V[mc%[34m^[[m
:"
:let g:test ="Test 11: using block replace mode after wrapping"
:$put =g:test
:set linebreak wrap
Go[34m^[[m150aa[34m^[[myypk147|[34m^V[mjr0
:"
:let g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$"[11;1H: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[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! |
endif
[?25l[1;1H[L[1;1Habcd{ef[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h10new|:vsp|:vert resize 20
[?25l[1;1H [13C[7m|[2;21H|[3;21H|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [m[2;22H[1m[34m~ [3;22H~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [m[12;2Hlet line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line[13;12H[K[14;3H[K[15;2Hnorm! zt
:redraw![16;9H[K[17;2Hlet line=ScreenChar(winwidth(0))
:call DoRecordScreen()[18;23H[K[19;2H%w! test.out[19;14H[K[20;2Hqa[20;6H[K[21;1HENDTEST
dummy text
[7mtest_listlbr.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"
[?25l[2;1H abcdef hijkl
mn pqrstuvwxyz_1060
ABCDEFGHIJKLMNOP [11;11H[1m[7m[+][m[2;22H abcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP [2;79H[K[11;32H[7m[+][2;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H abcdef hijkl
mn pqrstuvwxyz_1060
ABCDEFGHIJKLMNOP
[1m[34m~
~
~
~
~
~ [m
[1m[34m~ [m[24;1H[K[1;9H[?12l[?25h[?25l[24;1H:[?12l[?25hset ts=4 sw=4 sts=4 linebreak sbr=+ wrap
[?25l[1;5Habcdef
[1m[34m+[mhijklmn
[1m[34m+[mpqrstuvwxyz_1060ABC
[1m[34m+[mDEFGHIJKLMNOP [2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP [2;75H[K[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfu! ScreenChar(width)
[?25l
: [?12l[?25h:[34m^I[mlet c=''
[?25l: [?12l[?25h:[34m^I[mfor j in range(1,4)
[?25l: [?12l[?25h:[34m^I[m for i in range(1,a:width)
[?25l: [?12l[?25h:[34m^I[m [34m^I[mlet c.=nr2char(screenchar(j, i))
[?25l: [?12l[?25h:[34m^I[m endfor
[?25l: [?12l[?25h: let c.="\n"
[?25l: [?12l[?25h:[34m^I[mendfor
[?25l: [?12l[?25h:[34m^I[mreturn c
[?25l: [?12l[?25h:endfu
[1;1H[9L[?25l[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[m[5;1H[1m[34m~
~
~
~
~ [m[2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hfu! DoRecordScreen()
[?25l
: [?12l[?25h:[34m^I[mwincmd l
[?25l: [?12l[?25h:[34m^I[m$put =printf(\"\n%s\", g:test)
[?25l: [?12l[?25h:[34m^I[m$put =g:line
[?25l: [?12l[?25h:[34m^I[mwincmd p
[?25l: [?12l[?25h:endfu
[1;1H[5L[?25l[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[m
[1m[34m~ [m[2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 1: set linebreak"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;5H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[5;1H
Test 1: set
[1m[34m+[mlinebreak
abcdef
+hijklmn
+pqrstuvwxyz_1060ABC[3;22H[K[4;22HTest 1: set linebreak[4;43H[K[5;22H abcdef [5;42H[K[6;22H+hijklmn [6;42H[K[7;22H+pqrstuvwxyz_1060ABC[7;42H[K[8;22H+DEFGHIJKLMNOP [8;42H[K[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 2: set linebreak + set list"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset linebreak list listchars=
[?25l[1;1H[34m^I[mabcdef hijklmn[34m^I [m[2;2Hpqrstuvwxyz_1060ABC[3;2HDEFGHIJKLMNOP
Test 1: set
[1m[34m+[mlinebreak
abcdef
+hijklmn
+pqrstuvwxyz_1060ABC
+DEFGHIJKLMNOP [1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H[34m^I[mabcdef hijklmn[34m^I [m[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[4;21H|[m
Test 1: set[9C[7m|[m
[1m[34m+[mlinebreak[10C[7m|[m
abcdef[10C[7m|[m
+hijklmn[12C[7m|[m
+pqrstuvwxyz_1060ABC[7m|[m
+DEFGHIJKLMNOP [7m|[m
[1m[7m[No Name] [+] [m[2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP[4;22HTest 1: set linebreak[5;26Habcdef[6;22H+hijklmn[7;22H+pqrstuvwxyz_1060ABC[8;22H+DEFGHIJKLMNOP[9;22H[1m[34m~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;3H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[1;22H abcdef [2;22H+hijklmn [3;22H+pqrstuvwxyz_1060ABC [4;22H+DEFGHIJKLMNOP [5;22H[1m[34m~ [6;22H~ [m[7;22H [8;22H [9;22H [10;22H [5;22H[K[6;22HTest 2: set linebreak + set list[6;54H[K[7;22H^Iabcdef hijklmn^I[8;22H+pqrstuvwxyz_1060ABC[9;22H+DEFGHIJKLMNOP[24;1H[K[24;1H4 more lines[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 3: set linebreak nolist"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nolist linebreak
[?25l[1;1H abcdef [2;2Hhijklmn [3;2Hpqrstuvwxyz_1060ABC
[1m[34m+[mDEFGHIJKLMNOP
Test 1: set
[1m[34m+[mlinebreak
abcdef
+hijklmn
+pqrstuvwxyz_1060ABC[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[m
Test 1: set[9C[7m|[m
[1m[34m+[mlinebreak[10C[7m|[m
abcdef[10C[7m|[m
+hijklmn[12C[7m|[m
+pqrstuvwxyz_1060ABC[7m|[m
[1m[7m[No Name] [+] [m[1;26Habcdef[2;22H+hijklmn[3;22H+pqrstuvwxyz_1060ABC[4;22H+DEFGHIJKLMNOP[6;22HTest 2: set linebreak + set list[7;22H^Iabcdef hijklmn^I[8;22H+pqrstuvwxyz_1060ABC[9;22H+DEFGHIJKLMNOP[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;5H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[1;22H^Iabcdef hijklmn^I [2;22H+pqrstuvwxyz_1060ABC [3;22H+DEFGHIJKLMNOP [4;22H [5;22H [6;22H [7;22H [8;22H [9;22H [10;22H [6;22HTest 3: set linebreak nolist[7;26Habcdef[8;22H+hijklmn[9;22H+pqrstuvwxyz_1060ABC[10;22H+DEFGHIJKLMNOP[24;1H[K[24;1H4 more lines[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 4: set linebreak with tab and 1 line as long as screen: shou
[23;80Hl[24;1Hd break!"
[?25l[1;1H[L[1;5Habcdef[10C[7m|[m^Iabcdef hijklmn^I[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hset nolist linebreak ts=8
[?25l[1;5H abcdef[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet line="1\t".repeat('a', winwidth(0)-2)
[?25l[1;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[1;9H
Test 3: set [4;2Hlinebreak nolist
abcdef
+hijklmn
+pqrstuvwxyz_1060ABC
+DEFGHIJKLMNOP
1
[1m[34m+[maaaaaaaaaaaaaaaaaa [9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H1
[1m[34m+[maaaaaaaaaaaaaaaaaa
[3;1H[1m[34m~
~
~
~
~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H1[19C[7m|[m
[1m[34m+[maaaaaaaaaaaaaaaaaa [7m|[3;21H|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[3;1H[1m[34m~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[1;22H^Iabcdef hijklmn^I[2;22H+pqrstuvwxyz_1060ABC[3;22H+DEFGHIJKLMNOP[6;22HTest 3: set linebreak nolist[7;26Habcdef[8;22H+hijklmn[9;22H+pqrstuvwxyz_1060ABC[10;22H+DEFGHIJKLMNOP[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[3;1H
Test 4: set
[1m[34m+[mlinebreak with tab
[1m[34m+[mand 1 line as long
[1m[34m+[mas screen: should
[1m[34m+[mbreak!
1
+aaaaaaaaaaaaaaaaaa [1;22H+pqrstuvwxyz_1060ABC [2;22H+DEFGHIJKLMNOP [3;22H [4;22H [5;22H [6;22H [7;22H [8;22H [9;22H [10;22H [3;22H1[7Caaaaaaaaaaaaaaaaaa[5;22HTest 4: set linebreak with tab and 1 line as long as screen[6;22H[1m[34m+[m: should break![7;22H1[8;22H+aaaaaaaaaaaaaaaaaa[9;22H~[10;22H~[24;1H[K[24;1H4 more lines[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet line="_S_\t bla"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[1;1HTest 4: set
[1m[34m+[mlinebreak with tab
[1m[34m+[mand 1 line as long
[1m[34m+[mas screen: should
[1m[34m+[mbreak!
1
+aaaaaaaaaaaaaaaaaa
[8;1H~
~
_S_ bla[24;1H[K[10;1H[?12l[?25h[?25l[24;1H:[?12l[?25h$
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H_S_ bla
[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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[1;1H[L[1;1H_S_ bla[8C[7m|[m+pqrstuvwxyz_1060ABC[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset cpo&vim list linebreak conceallevel=2 concealcursor=nv listchars=tab:ab
[?25l[1;4H[34mabbbb[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsyn match ConcealVar contained /_/ conceal
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn match All /.*/ contains=ConcealVar
[?25l[1;1HS[34mabb[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l[24;1H4 more lines[24;13H[K[2;1H
Test 5: set
[1m[34m+[mlinebreak with
[1m[34m+[mconceal and set
[1m[34m+[mlist and tab
[1m[34m+[mdisplayed by
[1m[34m+[mdifferent char
[1m[34m+[m(line may not be
[1m[34m+[mtruncated) [1;22H~ [2;22H~ [3;22H [4;22H [5;22H [6;22H [7;22H [8;22H [9;22H [10;22H [3;22H_S_ bla[5;22HTest 5: set linebreak with conceal and set list and tab dis[6;22H[1m[34m+[mplayed by different char (line may not be truncated)[7;22HSabbbbbb bla[8;22H~[9;22H~[10;22H~[24;1H[K[24;1H4 more lines[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&vim linebreak
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 6: set linebreak with visual block mode"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet line="REMOVE: this not"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;2Habbbbbb
~
~
~
Test 6: set [6;4Hnebreak with[7;2Hvisual block mode
[1m[34m~
~
~ [5;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[8;1HREMOVE: this not [8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet line="REMOVE: aaaaaaaaaaaaa"
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[9;1HREMOVE:
[1m[34m+[maaaaaaaaaaaaa [9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1/^REMOVE:
[?25l[8;1H[?12l[?25h[8;1H[?25l[8;1H[?12l[?25h[?25l[7mR[9;1H[?12l[?25h[?25l[8;2HEMOVE:
REMOVE:[9;8H[?12l[?25h[?25l[m[8;1Hthis not
aaaaaaaaaaaaa
[1m[34m~ [8;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put
[?25l[1;1H~
~
~
Test 6: set
[1m[34m+[mlinebreak with
[1m[34m+[mvisual block mode
this not
aaaaaaaaaaaaa
[1m[34m~ [m
[9;1HREMOVE:
REMOVE:[24;1H[K[10;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset cpo&vim linebreak
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 7: set linebreak with visual block mode and v_b_A"
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1Hthis not
aaaaaaaaaaaaa
REMOVE:
REMOVE:
[5;1HTest 7: set
[1m[34m+[mlinebreak with
[1m[34m+[mvisual block mode
[1m[34m+[mand vbA
[1m[34m~
~ [m[24;1H[K[5;1H[?12l[?25h[5;1H[?25l[9;1Hlong line: [9;11H[?12l[?25h[?25l foobar
[1m[34m+[mfoobar foobar [9;1H[1m[34m@
@ [m[1;1H
[1;1H[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar[10;8H[?12l[?25h[1;1H[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar
[?25l[9;9HTARGET at
[1m[34m+[mend[10;4H[?12l[?25h[10;4H[?25l[24;1H:[?12l[?25hexe "norm! $3B\<C-v>eAx\<Esc>"
[?25l[9;15Hx at[9;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&vim linebreak sbr=
[?25l[1;1Hfoobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar TARGETx at
end [6;22Hplayed by different char (line may not be truncated)[6;74H[K[9;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[9;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 8: set linebreak with visual char mode and changing block"
[?25l[9;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1HTest 8: set
linebreak with
visual char mode
and changing block
[1m[34m~
~
~
~
~
~ [1;1H[?12l[?25h[1;1H[?25l[m[5;1H1111-1111-1111-11-
1111-1111-1111 [6;14H[?12l[?25h[5;1H[5;5H[5;6H[?25l[5;6H[?12l[?25h[?25l[7m111[5;9H[?12l[?25h[?25l[m2222[5;9H[?12l[?25h[5;6H[6;6H[?25l2222[6;9H[?12l[?25h[6;9H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[6;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 9: using redo after block visual mode"
[?25l[6;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[7;1HTest 9: using redo
after block visual
mode [7;1H[?12l[?25h[7;1H[?25l[1;1H1111-2222-1111-11-
1111-2222-1111
Test 9: using redo
after block visual
mode
[1m[34m~ [m
[6;1H
aaa
aaa
a
[1m[34m~ [m[24;1H[K[9;1H[?12l[?25h[7;1H[?25l[7;1H[?12l[?25h[?25l[7ma
a[9;1H[?12l[?25h[?25l[m[24;1H3 lines changed[7;1HA
A
A[7;1H[?12l[?25h[7;3H[?25lA
AaA[7;3H[?12l[?25h[8;3H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[8;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 10: using normal commands after block-visual"
[?25l[8;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1HTest 9: using redo
after block visual
mode
AaA
AaA
A
[1m[34m~ [m
[8;1HTest 10: using
normal commands
after block-visual[24;1H[K[8;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset linebreak
[?25l[8;1H[?12l[?25h[8;1H[?25l[1;1HAaA
AaA
A
Test 10: using
normal commands
after block-visual
[8;1Habcd{ef
ghijklm
no}pqrs[24;1H[K[10;7H[?12l[?25h[8;7H[8;1H[8;5H[?25l[8;5H[?12l[?25h[?25l[8;5H[?12l[?25h[8;5H[?25lpqrs
[1m[34m~
~ [8;4H[?12l[?25h[8;4H[?25l[24;1H[m:[?12l[?25h"
[?25l[8;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 11: using block replace mode after wrapping"
[?25l[8;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1HAaA
A
Test 10: using
normal commands
after block-visual
abcdpqrs
[1m[34m~
~ [m
[8;1HTest 11: using
block replace mode
after wrapping[24;1H[K[8;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset linebreak wrap
[?25l[8;1H[?12l[?25h[8;1H[?25l[1;1HA
Test 10: using
normal commands
after block-visual
abcdpqrs
Test 11: using
block replace mode
after wrapping
[24;1H[K[10;1H[?12l[?25h[?25l[1;1Haaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaa
[1m[34m~
~ [8;10H[?12l[?25h[8;10H[8;10H[?25l[1;1H[?12l[?25h[?25l[m[9;1Haaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa[9;1H[1m[34m@
@ [1;1H[?12l[?25h[8;7H[?25l[8;7H[?12l[?25h[?25l[m[1;1H[1m[34m@
@ [m
[1;1Haaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaa
[1m[34m~
~ [8;7H[?12l[?25h[?25l[m0
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa[9;1H[1m[34m@
@ [8;7H[?12l[?25h[?25l[m[1;1H[1m[34m@
@ [m
[1;1Haaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaa0aaa
[1m[34m~
~ [8;7H[?12l[?25h[?25l[24;1H[m:[?12l[?25h"
[?25l[8;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$
[23;80H"[24;1H[?25l[1;1H[L[1;1Haaaaaaaaaaaaaaaaaaaa[7m|[m~[24;1H[K[8;7H[?12l[?25h[?25l[24;1H:[?12l[?25hset list listchars=space:_,trail:-,tab:>-,eol:$
[?25l[8;11H[1m[34m$[8;7H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1HTest[34m_[m12:[34m_[mset[34m_[m
linebreak[34m_[mlist[34m_[m
listchars=space:,
tab:>-,tail:-,eol:$[1m[34m$
~
~
~
~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[5;1Ha[34m_[m
aaaaaaaaaaaaaaaaaaaa
aa[34m>-----[ma[34m-[m[1m[34m$[m [5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1Ha[34m_[m
aaaaaaaaaaaaaaaaaaaa
aa[34m>-----[ma[34m-[m[1m[34m$[m
[1m[34m~
~
~ [m
[7;1H[1m[34m~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1Ha[34m_[m[18C[7m|[m
aaaaaaaaaaaaaaaaaaaa[7m|[m
aa[34m>-----[ma[34m-[m[1m[34m$[m[9C[7m|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[4;1H[1m[34m~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[1;22H~[2;22H~[3;22H_S_ bla[5;22HTest 5: set linebreak with conceal and set list and tab dis[6;22Hplayed by different char (line may not be truncated)[7;22HSabbbbbb bla[8;22H~[9;22H~[10;22H~[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l[24;1H4 more lines[24;13H[K[4;1H[1m[34m$[m
Test[34m_[m12:[34m_[mset[34m_[m
linebreak[34m_[mlist[34m_[m
listchars=space:,
tab:>-,tail:-,eol:$[1m[34m$[m
a[34m------------------[m
[1m[34m$[m [1;22HTest 12: set linebreak list listchars=space:_,tab:>-,tail:-[2;22H,eol:$[3;22Ha aaaaaaaaaaaaaaaaaaaaaa[8Ca[5;27H12: set linebreak list listchars=space:_,tab:>-,tail:-[6;22H,eol:$[6;29H[K[7;22Ha_ [8;22Haaaaaaaaaaaaaaaaaaaa[9;22Haa>-----a-$[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 62 lines, 2030 characters written[11;1H[1m[7mtest.out] [m[7C[7mtest.out [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_search_mbyte.in" 15 lines, 226 characters[1;1HTest 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
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for search('multi-byte char', 'bce')[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 6 lines, 140 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsource small.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsource mbyte.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1HTest 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
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [11;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h/^Test bce:/+1
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =search('A', 'bce', line('.'))
[?25l[16;1H15[16;3H[K[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/^Results:/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_utf8.in" 46 lines, 1245 characters[1;1HTests for Unicode manipulations[16Cvim: 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()
:[7C$put=strchars(str)
:[7C$put=strchars(str, 0)
:[7C$put=strchars(str, 1)
:endfor
:"
:" Test for customlist completion[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for Unicode manipulations[16Cvim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 40 lines, 1151 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:"
:" 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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1H:" Test for customlist completion
:function! CustomComplete1(lead, line, pos)
:[7Creturn ['あ', 'い']
:endfunction
:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo
:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')
:"
:function! CustomComplete2(lead, line, pos)
:[7Creturn ['あたし', 'あたま', 'あたりめ']
:endfunction
:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo
:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')
:"
:function! CustomComplete3(lead, line, pos)
:[7Creturn ['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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Visual block Insert adjusts for multi-byte char
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;2Hfunction! CustomComplete3(lead, line, pos)
: return ['Nこ', 'Nん', 'Nぶ'][14;37H[K[15;2Hendfunction[15;13H[K[16;2Hcommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo
:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')[17;56H[K[18;2H"[18;3H[K[19;2Hcall garbagecollect(1)
:/^start:/,$wq! test.out
ENDTEST[21;8H[K[22;1H [22;2H[K[23;1H[7mtest_utf8.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall setline(1, ["aaa", "あああ", "bbb"])
[?25l[1;1Haaa
あああ[2;7H[K[3;1Hbbb[3;4H[K[12;11H[1m[7m[+][1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexe ":norm! gg0l\<C-V>jjIx\<Esc>"
[?25l[1;2Hxaa
xあああ
bxbb[1;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet r = getline(1, '$')
[?25l[1;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipeout!
[?25l[1;1H:" Test for customlist completion
:function! CustomComplete1(lead, line, pos)
: return ['あ', 'い']
:endfunction[4;13H[K[5;1H:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo[5;66H[K[6;1H:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')[6;56H[K[7;1H:"[7;3H[K[8;1H:function! CustomComplete2(lead, line, pos)[8;44H[K[9;1H: return ['あたし', 'あたま', 'あたりめ'][9;48H[K[10;1H:endfunction[10;13H[K[11;1H:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo[11;66H[K[12;1H:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')[12;56H[K[13;2H"[13;3H[K[14;2Hfunction! CustomComplete3(lead, line, pos)
: return ['Nこ', 'Nん', 'Nぶ']
:endfunction[16;13H[K[17;3Hommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo
:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')
:"[19;3H[K[20;2Hcall garbagecollect(1)[20;24H[K[21;1H:/^start:/,$wq! test.out
ENDTEST
[23;2H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put=r
[?25l3 more lines[1;23r[1;1H[4M[1;24r[20;1Hstart:
axaa
xあああ
bxbb[24;1H[K[24;1H3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for built-in function strchars()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor str in ["a", "あいa", "A\u20dd", "A\u20dd\u20dd", "\u20dd"]
[?25l
: [?12l[?25h:[34m^I[m$put=strchars(str)
[?25l: [?12l[?25h:[34m^I[m$put=strchars(str, 0)
[?25l: [?12l[?25h:[34m^I[m$put=strchars(str, 1)
[?25l: [?12l[?25h:endfor
[1;1H[4L[?25l[1;1H:call garbagecollect(1)
:/^start:/,$wq! test.out
ENDTEST
start:[5;9H[K[6;1Haxaa[6;5H[K[7;1Hxあああ[7;8H[K[8;1Hbxbb[8;5H[K[9;1H1[9;2H[K[10;1H1[10;2H[K[11;1H1[11;9H[K[12;1H3[12;2H[K[13;1H3[13;2H[K[14;1H3[14;2H[K[15;1H2[15;2H[K[16;1H2[16;2H[K[17;1H1[17;2H[K[18;1H3[18;2H[K[19;1H3
1[20;2H[K[21;1H1[21;2H[K[22;1H1[22;2H[K[23;1H1[23;2H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for customlist completion
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! CustomComplete1(lead, line, pos)
[?25l
: [?12l[?25h:[34m^I[mreturn ['あ', 'い']
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1H:call garbagecollect(1)
:/^start:/,$wq! test.out[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete1 Test1 echo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:Test1 ...[24;8H[K[24;8H'
:$Test1 '
:$pTest1 '
:$puTest1 '
:$putTest1 '
:$put=Test1 '[24;7H'Test1 '[24;8H
[1;23r[23;1H
[1;24r[23;1HTest1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! CustomComplete2(lead, line, pos)
[?25l
: [?12l[?25h:[34m^I[mreturn ['あたし', 'あたま', 'あたりめ']
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1H:/^start:/,$wq! test.out
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete2 Test2 echo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:Test2 ...あた'
:$Test2 あた'
:$pTest2 あた'
:$puTest2 あた'
:$putTest2 あた'
:$put=Test2 あた'[24;7H'Test2 あた'[24;8H
[1;23r[23;1H
[1;24r[23;1HTest2 あた[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! CustomComplete3(lead, line, pos)
[?25l
: [?12l[?25h:[34m^I[mreturn ['Nこ', 'Nん', 'Nぶ']
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1HENDTEST[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:Test3 ...N[24;9H[K[24;9H'
:$Test3 N'
:$pTest3 N'
:$puTest3 N'
:$putTest3 N'
:$put=Test3 N'[24;7H'Test3 N'[24;8H
[1;23r[23;1H
[1;24r[23;1HTest3 N[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_wordcount.in" 126 lines, 2815 characters[1;1HTest for wordcount() function
STARTTEST
:so small.vim
:so mbyte.vim
:set enc=utf8
:set selection=inclusive fileformat=unix fileformats=unix
:new
:fu DoRecordWin(...)
:[7Cwincmd k
:[7Cif exists("a:1")
:[11Ccall cursor(a:1)
:[7Cendif
:[7Clet result=[]
:[7Ccall add(result, g:test)
:[7Ccall add(result, getline(1, '$'))
:[7Ccall add(result, wordcount())
:[7Cwincmd j
:[7Creturn result
:endfu
:fu PutInWindow(args)
:[7Cwincmd k
:[7C%d _[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for wordcount() function[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 121 lines, 2753 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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:[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=utf8
[?25l[27m[23m[m[H[2J[1;1H: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¤[9;27Hne Mü[9;32Hh', 'und raus bist dü[9;53H!'])
: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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1H0v$y
:set stl= ls=1
:let log=DoRecordWin([3,99,0])[16;9H[2]=g:visual_stat[16;26H[K[17;2Hcall Log()[17;12H[K[18;2H"[18;3H[K[19;2H/^RESULT test/,$w! test.out
:qa![20;5H[K[21;1HENDTEST
RESULT test:
[7mtest_wordcount.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hfu DoRecordWin(...)
[?25l
: [?12l[?25h:[34m^I[mwincmd 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:[34m^I[mwincmd j
[?25l: [?12l[?25h: return result
[?25l: [?12l[?25h:endfu
[1;1H[11L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfu PutInWindow(args)
[?25l
: [?12l[?25h: wincmd k
[?25l: [?12l[?25h: %d _
[?25l: [?12l[?25h: call append(1, a:args)
[?25l: [?12l[?25h:[34m^I[mwincmd j
[?25l: [?12l[?25h:endfu
[1;1H[5L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[4L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[5L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet g:test="Test 1: empty window"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin()
[?25l[12;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 1: empty window
[[''], {'chars': 0, 'cursor_chars': 0, 'words': 0, 'cursor_words': 0, 'bytes': 00[22;1H, 'cursor_bytes': 0}][23;19H[1m[7m[+][m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 2: some words, cursor at start"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow('one two three')
[?25l[2;1Hone two three[2;14H[K[12;11H[7m[+][21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([1,1,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 2: some words, cursor at start
[['', 'one two three'], {'chars': 15, 'cursor_chars': 1, 'words': 3, 'cursor_worr[22;1Hds': 0, 'bytes': 15, 'cursor_bytes': 1}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 3: some words, cursor at end"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow('one two three')
[?25l--No lines in buffer--[24;24H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 3: some words, cursor at end
[['', 'one two three'], {'chars': 15, 'cursor_chars': 14, 'words': 3, 'cursor_woo[22;1Hrds': 3, 'bytes': 15, 'cursor_bytes': 14}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 4: some words, cursor at end, ve=all"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=all
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow('one two three')
[?25l--No lines in buffer--[24;24H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 4: some words, cursor at end, ve=all
[['', 'one two three'], {'chars': 15, 'cursor_chars': 15, 'words': 3, 'cursor_woo[22;1Hrds': 3, 'bytes': 15, 'cursor_bytes': 15}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hset ve=
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 5: several lines with words"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['one two three', 'one two three', 'one two three'])
[?25l[3;1Hone two three[3;14H[K[4;1Hone two three[4;14H[K[24;1H--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([4,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 5: several lines with words
[['', 'one two three', 'one two three', 'one two three'], {'chars': 43, 'cursor__[22;1Hchars': 42, 'words': 9, 'cursor_words': 9, 'bytes': 43, 'cursor_bytes': 42}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 6: one line with BOM set"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow('one two three')
[?25l[3;1H[1m[34m~ [4;1H~ [m[24;1H--No lines in buffer--[24;24H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd k
[?25l[12;1H[1m[7m[No Name] [+] [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset bomb
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest
[?25l"Xtest" [24;9H[K[24;9H[New File] 2 lines, 18 characters written[12;1H[1m[7mXtesta [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd j
[?25l[12;1H[7mXtest[m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 6: one line with BOM set
[['', 'one two three'], {'chars': 15, 'cursor_chars': 14, 'words': 3, 'cursor_woo[22;1Hrds': 3, 'bytes': 18, 'cursor_bytes': 14}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hwincmd k
[?25l[12;1H[1m[7mXtest [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [2;13H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset nobomb
[?25l[12;7H[1m[7m[+][2;13H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw!
[?25l"Xtest" 2 lines, 15 characters written[12;7H[1m[7m [2;13H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd j
[?25l[12;1H[7mXtest[m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 7: one line with multibyte words"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh'])
[?25l[2;1HÄne M¤[2;7Hne Mü[2;12Hh[2;13H[K[12;7H[7m[+][m[24;1H--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 7: one line with multibyte words
[['', 'Äne M¤[21;14Hne Mü[21;19Hh'], {'chars': 14, 'cursor_chars': 13, 'words': 3, 'cursor_worr[22;1Hds': 3, 'bytes': 17, 'cursor_bytes': 16}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 8: several lines with multibyte words"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh', 'und raus bist dü[24;53H!'])
[?25l[3;1Hund raus bist dü[3;17H![3;18H[K[24;1H--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 8: several lines with multibyte words
[['', 'Äne M¤[21;14Hne Mü[21;19Hh', 'und raus bist dü[21;40H!'], {'chars': 32, 'cursor_chars': 31, 'ww[22;1Hords': 7, 'cursor_words': 7, 'bytes': 36, 'cursor_bytes': 35}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 9: visual mode, complete buffer"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh', 'und raus bist dü[24;53H!'])
[?25l--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd k
[?25l[12;1H[1m[7mXtest [+] [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ls=2 stl=%{STL()}
[?25l[12;1H[1m[7m<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[m[23;1H[7m<: 3985, 'words': 579, 'cursor_words': 560, 'bytes': 4153, 'cursor_bytes': 4007}[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h0
[?25l[1;1H[?12l[?25h[?25l[12;2H[1m[7mords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 0, 'visual_[1;1H[?12l[?25h[?25l[m[7m
Äne M¤[2;7Hne Mü[2;12Hh
[mu[7mnd raus bist dü[3;17H! [m[12;2H[1m[7mds': 7, 'bytes': 36, 'visual_chars': 32, 'visual_words': 7, 'visual_bytes': 36}[3;1H[?12l[?25h[?25l[m[1;1H[K[2;1HÄne M¤[2;7Hne Mü[2;12Hh[2;13H[K[3;2Hnd raus bist dü[3;17H![3;18H[K[24;1H3 lines yanked[12;2H[1m[7mursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[1;1H[?12l[?25h[12;16H2,[29C1,[30C3}[2;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset stl= ls=1
[?25l[12;1H[1m[7mXtest [+]a [m[23;1H[7mtest_wordcount.in [+] [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[12;1H[7mXtest [+][m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log[2]=g:visual_stat
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 9: visual mode, complete buffer
[['', 'Äne M¤[21;14Hne Mü[21;19Hh', 'und raus bist dü[21;40H!'], {'chars': 32, 'words': 7, 'bytes': 33[22;1H6, 'visual_chars': 32, 'visual_words': 7, 'visual_bytes': 36}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 10: visual mode (empty)"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh', 'und raus bist dü[24;53H!'])
[?25l--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd k
[?25l[12;1H[1m[7mXtest [+] [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ls=2 stl=%{STL()}
[?25l[12;1H[1m[7m<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[m[23;1H[7m<: 4170, 'words': 606, 'cursor_words': 587, 'bytes': 4342, 'cursor_bytes': 4196}[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h0
[?25l[1;1H[?12l[?25h[?25l[12;2H[1m[7mords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 0, 'visual_[1;1H[?12l[?25h[?25l[?12l[?25h[?25l[12;2Hursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_[1;1H[?12l[?25h[12;16H2,[29C1,[30C3}[2;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset stl= ls=1
[?25l[12;1H[1m[7mXtest [+]a [m[23;1H[7mtest_wordcount.in [+] [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[12;1H[7mXtest [+][m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log[2]=g:visual_stat
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 10: visual mode (empty)
[['', 'Äne M¤[21;14Hne Mü[21;19Hh', 'und raus bist dü[21;40H!'], {'chars': 32, 'words': 7, 'bytes': 33[22;1H6, 'visual_chars': 1, 'visual_words': 0, 'visual_bytes': 1}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 11: visual mode, single line"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh', 'und raus bist dü[24;53H!'])
[?25l--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd k
[?25l[12;1H[1m[7mXtest [+] [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ls=2 stl=%{STL()}
[?25l[12;1H[1m[7m<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[m[23;1H[7m<: 4347, 'words': 632, 'cursor_words': 613, 'bytes': 4521, 'cursor_bytes': 4377}[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h2
[?25l[12;16H[1m[7m2,[29C1,[30C3}[2;1H[?12l[?25h[?25l[12;2Hords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 1, 'visual_[8C2}[2;1H[?12l[?25h[?25l[m[7mÄne M¤[2;7Hne Mü[2;12Hh[m[12;2H[1m[7mds': 7, 'bytes': 36, 'visual_chars': 13, 'visual_words': 3, 'visual_bytes': 16}[2;13H[?12l[?25h[?25l[m
Äne M¤[2;7Hne Mü[2;12Hh[12;2H[1m[7mursor_chars': 2, 'words': 7, 'cursor_words': 1, 'bytes': 36, 'cursor_bytes': 3}[2;1H[?12l[?25h[12;2Hsor_chars': 15, 'words': 7, 'cursor_words': 4, 'bytes': 36, 'cursor_bytes': 18}[3;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset stl= ls=1
[?25l[12;1H[1m[7mXtest [+]s [m[23;1H[7mtest_wordcount.in [+] [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[12;1H[7mXtest [+][m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log[2]=g:visual_stat
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 11: visual mode, single line
[['', 'Äne M¤[21;14Hne Mü[21;19Hh', 'und raus bist dü[21;40H!'], {'chars': 32, 'words': 7, 'bytes': 33[22;1H6, 'visual_chars': 13, 'visual_words': 3, 'visual_bytes': 16}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^RESULT test/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 34 lines, 1905 characters written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test11.in" 84 lines, 3366 characters[1;1HTests for autocommands:
- FileWritePre[10Cwriting a compressed file
- FileReadPost[10Creading a compressed file
- BufNewFile[12Creading a file template
- BufReadPre[12Cdecompressing the file to be read
- FilterReadPre[9Csubstituting characters in the temp file
- FilterReadPost[8Csubstituting characters after filtering
- FileReadPre[11Cset options for decompression
- FileReadPost[10Cdecompress 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for autocommands:[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 48 lines, 2298 characters written[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[17;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:au! FileReadPre *.gz exe 'silent !gzip -d ' . shellescape(expand("<afile>""[2;1H))
:au FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
:au! FileReadPost *.gz '[,']s/l/L/
:$r Xtestfile.gz[13C" Read compressed file
:w[27C" write it, after filtering
:au![13C" remove all autocommands
:e[15C" 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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" drop out when there is no gzip program
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !executable("gzip")
[?25l
: [?12l[?25h: e! test.ok
[?25l: [?12l[?25h: w! test.out
[?25l: [?12l[?25h: qa!
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:au! FileReadPre *.gz exe 'silent !gzip -d ' . shellescape(expand("<afile>""[2;1H))
:au FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
:au! FileReadPost *.gz '[,']s/l/L/[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet $GZIP = ""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileChangedShell * echo "caught FileChangedShell"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileWritePre *.gz '[,']!gzip
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileWritePost *.gz undo
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start of testfile/,/^end of testfile/w! Xtestfile.gz
[?25l[?12l[?25h[?25l11 lines filtered[24;18H[K[24;1H
"Xtestfile.gz" [New File][Incomplete last line] 1 line, 111 characters written
10 more lines; before #1 0 seconds ago
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau FileReadPost *.gz '[,']!gzip -d
[?25l[1;1H[3L[1;1H:au FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
:au! FileReadPost *.gz '[,']s/l/L/
:$r Xtestfile.gz[13C" Read compressed file
:w " write it, after filtering
:au! " remove all autocommands[5;43H[K[6;2He[15C" Edit test.out again[6;39H[K[7;2Hset nobin ff& " use the default fileformat for writing
:w[8;18H[K[9;2Hqa![9;6H[K[10;1HENDTEST[11;1H[K[12;1Hstartstart
start of testfile
line 2 Abcdefghijklmnopqrstuvwxyz
line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[16;6H4[17;6H5[18;6H6[19;6H7[20;6H8[21;6H9[22;6H10
end of testfile[23;16H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtestfile.gz " Read and decompress the testfile
[?25l"Xtestfile.gz" [24;16H[K[24;16H[Incomplete last line] 1 line, 111 characters
[?12l[?25h[60C[?25l[1;23r[1;1H[7M[1;24r[18;1Hstart of test.c
/*
* Here is a new .c file
*/
end of test.c
start of testfile[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h?startstart?,$w! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 29 lines, 788 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufNewFile *.c read Xtest.c
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start of test.c/+1,/^end of test.c/-1w! Xtest.c
[?25l[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[24;1H"Xtest.c" [24;11H[K[24;11H[New File] 3 lines, 32 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! foo.c " Will load Xtest.c
[?25l"foo.c" [New File][24;33H[K[24;1H
"Xtest.c" 3 lines, 32 characters
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau FileAppendPre *.out '[,']s/new/NEW/
[?25l[1;1H[2L[2;1H/*
* Here is a new .c file
*/
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hau FileAppendPost *.out !cat Xtest.c >>test.out
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw>>test.out " Append it to the output file
[?25l"test.out" [24;12H[K[24;12H4 lines, 33 characters appended
:!cat Xtest.c >>test.out
[?12l[?25h[m
[32mPress ENTER or type command to continue[?25l[m[24;1H[K[24;1H:[?12l[?25hau! FileAppendPre
[?25l[27m[23m[m[H[2J[2;1H/*
* Here is a NEW .c file
*/
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [3;2H[?12l[?25h[?25l[24;1H[m:[?12l[?25h" setup autocommands to decompress before reading and re-compress afterwards
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPre *.gz exe '!gzip -d ' . shellescape(expand("<afile>"))
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPost *.gz call rename(expand("<afile>"), expand("<afile>:r"))
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPost *.gz exe '!gzip ' . shellescape(expand("<afile>:r"))
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile.gz " Edit compressed file
[?25l:!gzip -d 'Xtestfile.gz'[24;33H[K[24;25H
[?12l[?25h[?25l[m"Xtestfile.gz"[23;1H"Xtestfile.gz" 11 lines, 357 characters[24;1H[K[24;1H:!gzip 'Xtestfile'
[?12l[?25h[?25l[mcaught FileChangedShell
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw>>test.out " Append it to the output file
[?25l"test.out" [24;12H[K[24;12H11 lines, 357 characters appended
:!cat Xtest.c >>test.out
[?12l[?25h[m
[32mPress ENTER or type command to continue[?25l[m[24;1H[K[24;1H:[?12l[?25hset shelltemp " need temp files here
[?25l[27m[23m[m[H[2J[1;1Hstart 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
[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hau FilterReadPre *.out call rename(expand("<afile>"), expand("<afile>") . "
[23;80H.[24;1Ht")
[?25l[1;1H[L[1;1Hstart of testfile[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hau FilterReadPre *.out exe 'silent !sed s/e/E/ ' . shellescape(expand("<afi
[23;80Hl[24;1He>")) . ".t >" . shellescape(expand("<afile>"))
[?25l[1;1H[L[1;1Hstart of testfile[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hau FilterReadPre *.out exe 'silent !rm ' . shellescape(expand("<afile>")) .
'.t'
[?25l[1;1H[L[1;1Hstart of testfile[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hau FilterReadPost *.out '[,']s/x/X/g
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out " Edit the output file
[?25l"test.out" [24;12H[K[24;12H50 lines, 1242 characters[1;6Hstar[1;11H[K[2;1Hstart of testfile[2;18H[K[3;6H2 Abcdefghijklmnopqrstuvwxyz[3;35H[K[4;6H3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[5;6H4 Abcdefghijklmnopqrstuvwxyz[5;35H[K[6;6H5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[7;6H6 Abcdefghijklmnopqrstuvwxyz[7;35H[K[8;6H7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[9;6H8 Abcdefghijklmnopqrstuvwxyz[9;35H[K[10;6H9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 10 Abcdefghijklmnopqrstuvwxyz
end of testfile[12;16H[K[13;1H[K[14;1Hstart of test.c[14;16H[K[15;1H/*[15;3H[K[16;1H * Here is a new .c file[16;25H[K[17;1H */[17;4H[K[18;1Hend of test.c[18;14H[K[19;1Hstart of testfile[19;18H[K[20;1Hline 2 Abcdefghijklmnopqrstuvwxyz[20;35H[K[21;1Hline 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[21;39H[K[22;1Hline 4 Abcdefghijklmnopqrstuvwxyz[22;35H[K[23;1Hline 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[23;39H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h23,$!cat
[?25l[?12l[?25h[?25l218 substitutions on 15 lines
28 lines filtered
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h23,$s/\r$// " remove CR for when sed adds them
[?25l[1m[37m[41mE486: Pattern not found: \r$[m[24;30H[K[24;1H
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau! FileReadPre *.gz exe 'silent !gzip -d ' . shellescape(expand("<afile>
[23;80H"[24;1H))
[?25l[1;1H[4L[1;1Hstartstart
start of testfile
line 2 Abcdefghijklmnopqrstuvwxyz
line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[23;4HE 5 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hau FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau! FileReadPost *.gz '[,']s/l/L/
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r Xtestfile.gz " Read compressed file
[?25l[?12l[?25h[?25l"Xtestfile.gz" [24;16H[K[24;16H11 lines, 357 characters
11 substitutions on 11 lines
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw " write it, after filtering
[?25l"test.out"[24;30H[K[24;12H61 lines, 1599 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau! " remove all autocommands
[?25l[1m[37m[41mE216: No such group or event: " remove all autocommands[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he " Edit test.out again
[?25l"test.out"[24;18H[K[24;12H61 lines, 1599 characters[1;1H[4L[1;1Hstartstart
start of testfile
line 2 Abcdefghijklmnopqrstuvwxyz
line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[24;1H[K[24;1H"test.out" 61 lines, 1599 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nobin ff& " use the default fileformat for writing
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" 61 lines, 1599 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test52.in" 65 lines, 1645 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for reading and writing files with conversion for Win32.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 57 lines, 1333 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[24;1H:so! Xdotest
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make this a dummy test for non-Win32 systems
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has("win32") | e! test.ok | wq! test.out | endif
[?25l"test.ok" [24;11H[K[24;11H18 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test85.in" 85 lines, 1868 characters[1;1HTest 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)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for Lua interface and luaeval() function[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 77 lines, 1775 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[19;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso lua.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l = vim.list():add"item0":add"dictionary with list OK":add"item2"
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua h = vim.dict(); h.list = l
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect()
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^1
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" change buffer contents
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua curbuf = vim.buffer()
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua curline = vim.eval"line('.')"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua curbuf[curline] = "1 changed line 1"
[?25l[21;3Hchanged line 1
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" scalar test
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tmp_string = luaeval('"string"')
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tmp_1000 = luaeval('1000')
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1H:lua d = vim.eval("d")
:lua d[0] = 123
:lua d[1] = "abc"
:lua d[2] = vim.eval("[1, 2, 3]")[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hcall append(search("^1"), "scalar test " . scalar_res)
[?25l[22;1Hscalar test OK
2 line 2[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" dictionary containing a list
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tmp = luaeval("h").list[1]
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^2/put =tmp
[?25l[1;23r[23;1H
[1;24r[23;1Hdictionary with list OK[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" circular list (at the same time test lists containing lists)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[2] = l
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet l2 = luaeval("h").list
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1H: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}")[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcall setline(search("^3"), "circular test " . res)
[?25l[1;23r[23;1H
[1;24r[23;1Hcircular test OK[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet l = []
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l = vim.eval("l")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:add(123)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:add("abc")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:add(vim.eval("[1, 2, 3]"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:add(vim.eval("{'a':1, 'b':2, 'c':3}"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:insert(123)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:insert("abc")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:insert(vim.eval("[1, 2, 3]"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:insert(vim.eval("{'a':1, 'b':2, 'c':3}"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[0] = l[0]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[1] = l[1]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[2] = l[2]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[3] = l[3]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[0] = 123
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[1] = "abc"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[2] = vim.eval("[1, 2, 3]")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[3] = vim.eval("{'a':1, 'b':2, 'c':3}")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[3] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[2] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[1] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[0] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(l)
[?25l[1;23r[23;1H
[1;24r[23;1H[123.0, 'abc', [1, 2, 3], {'a': 1, 'b': 2, 'c': 3}][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet d = {}
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d = vim.eval("d")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[0] = 123
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[1] = "abc"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[2] = vim.eval("[1, 2, 3]")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[3] = vim.eval("{'a':1, 'b':2, 'c':3}")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[4] = d[0]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[5] = d[1]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[6] = d[2]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[7] = d[3]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[3] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[2] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[1] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[0] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(d)
[?25l[1;23r[23;1H
[1;24r[23;1H{'4': 123.0, '5': 'abc', '6': [1, 2, 3], '7': {'a': 1, 'b': 2, 'c': 3}}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h?^1?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 7L, 206C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test86.in" 1711 lines, 48481 characters[1;1HTests 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])[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for various python features. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1700 lines, 48188 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[9;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: endif
: call Test()
: if i == 0
:[7Clet 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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=latin1
[?25l[27m[23m[m[H[2J[1;1H: endif
: call Test()
: if i == 0
:[7Clet 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:[22;1H[?12l[?25h[?25l
:[?12l[?25hset noswapfile
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has('python') | e! test.ok | wq! test.out | endif
[?25l"test.ok" [24;11H[K[24;11H1445 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test87.in" 1707 lines, 49069 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for various python features. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1701 lines, 48985 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: call Test()
: if i == 0
:[7Clet 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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noswapfile
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has('python3') | e! test.ok | wq! test.out | endif
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang C
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[23;80Hr[24;1H 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
[23;80Ht[24;1Hr(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(
[23;80He[24;1H).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
[23;80Ht[24;1H ({1} given)'.format(m.group(1), m.group(2))
[?25l: [?12l[?25h cb.append(expr + ':' + repr((e.__class__, TypeError(ms
[23;80Hg[24;1H))))
[?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
[23;80Ha[24;1Hnd str(e) == 'embedded null byte':
[?25l: [?12l[?25h cb.append(expr + ':' + repr((TypeError, TypeError('expecte
[23;80Hd[24;1H 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:[8C[?12l[?25h: return ['DictNewStart']+a:000+['DictNewEnd', self]
[?25l:[8C[?12l[?25h:endfun
[?25l:[8C[?12l[?25h:let l=[function('New'), function('DictNew')]
[?25l:[8C[?12l[?25h:py3 l=vim.bindeval('l')
[?25l:[8C[?12l[?25h:py3 l.extend(list(l[0](1, 2, 3)))
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:py3 l.extend(list(l[1](1, 2, 3, self={'a': 'b'})))
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:py3 l+=[l[0].name]
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:py3 ee('l[1](1, 2, 3)')
[?25l:[8C[?12l[?25h:py3 f=l[0]
[?25l:[8C[?12l[?25h:delfunction New
[?25l:[8C[?12l[?25h:py3 ee('f(1, 2, 3)')
[?25l:[8C[?12l[?25h:if has('float')
[?25l:[10C[?12l[?25h: let l=[0.0]
[?25l:[10C[?12l[?25h: py3 l=vim.bindeval('l')
[?25l:[10C[?12l[?25h: py3 l.extend([0.0])
[?25l:[10C[?12l[?25h: $put =string(l)
[?25l:[10C[?12l[?25h:else
[?25l:[10C[?12l[?25h: $put ='[0.0, 0.0]'
[?25l:[10C[?12l[?25h:endif
[?25l:[8C[?12l[?25h:let messages=[]
[?25l:[8C[?12l[?25h:delfunction DictNew
[?25l:[8C[?12l[?25hpy3 <<EOF
[?25l:[8C[?12l[?25himport sys
[?25l:[8C[?12l[?25hd=vim.bindeval('{}')
[?25l:[8C[?12l[?25hm=vim.bindeval('messages')
[?25l:[8C[?12l[?25hdef em(expr, g=globals(), l=locals()):
[?25l:[8C[?12l[?25h try:
[?25l:[8C[?12l[?25h exec(expr, g, l)
[?25l:[8C[?12l[?25h except Exception as e:
[?25l:[8C[?12l[?25h if sys.version_info >= (3, 5) and e.__class__ is ValueError an
[23;80Hd[24;1H str(e) == 'embedded null byte':
[?25l:[8C[?12l[?25h m.extend([TypeError.__name__])
[?25l:[8C[?12l[?25h else:
[?25l:[8C[?12l[?25h m.extend([e.__class__.__name__])
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25hem('d["abc1"]')
[?25l:[8C[?12l[?25hem('d["abc1"]="\\0"')
[?25l:[8C[?12l[?25hem('d["abc1"]=vim')
[?25l:[8C[?12l[?25hem('d[""]=1')
[?25l:[8C[?12l[?25hem('d["a\\0b"]=1')
[?25l:[8C[?12l[?25hem('d[b"a\\0b"]=1')
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25hem('d.pop("abc1")')
[?25l:[8C[?12l[?25hem('d.popitem()')
[?25l:[8C[?12l[?25hdel em
[?25l:[8C[?12l[?25hdel m
[?25l:[8C[?12l[?25hEOF
[?25l:[8C[?12l[?25h:$put =messages
[?25l:[8C[?12l[?25h:unlet messages
[?25l:[8C[?12l[?25h:" locked and scope attributes
[?25l:[8C[?12l[?25h:let d={} | let dl={} | lockvar dl
[?25l:[8C[?12l[?25h:for s in split("d dl v: g:")
[?25l:[10C[?12l[?25h: let name=tr(s, ':', 's')
[?25l:[10C[?12l[?25h: execute 'py3 '.name.'=vim.bindeval("'.s.'")'
[?25l:[10C[?12l[?25h: let toput=s.' : '.join(map(['locked', 'scope'], 'v:val.":".py3e
[23;80Hv[24;1Hal(name.".".v:val)'), ';')
[?25l:[10C[?12l[?25h: $put =toput
[?25l:[10C[?12l[?25h:endfor
[?25l:[8C[?12l[?25h:silent! let d.abc2=1
[?25l:[8C[?12l[?25h:silent! let dl.abc3=1
[?25l:[8C[?12l[?25h:py3 d.locked=True
[?25l:[8C[?12l[?25h:py3 dl.locked=False
[?25l:[8C[?12l[?25h:silent! let d.def=1
[?25l:[8C[?12l[?25h:silent! let dl.def=1
[?25l:[8C[?12l[?25h:put ='d:'.string(d)
[?25l:[8C[?12l[?25h:put ='dl:'.string(dl)
[?25l:[8C[?12l[?25h:unlet d dl
[?25l:[8C[?12l[?25h:
[?25l:[8C[?12l[?25h:let l=[] | let ll=[] | lockvar ll
[?25l:[8C[?12l[?25h:for s in split("l ll")
[?25l:[10C[?12l[?25h: let name=tr(s, ':', 's')
[?25l:[10C[?12l[?25h: execute 'py3 '.name.'=vim.bindeval("'.s.'")'
[?25l:[10C[?12l[?25h: let toput=s.' : locked:'.py3eval(name.'.locked')
[?25l:[10C[?12l[?25h: $put =toput
[?25l:[10C[?12l[?25h:endfor
[?25l:[8C[?12l[?25h:silent! call extend(l, [0])
[?25l:[8C[?12l[?25h:silent! call extend(ll, [0])
[?25l:[8C[?12l[?25h:py3 l.locked=True
[?25l:[8C[?12l[?25h:py3 ll.locked=False
[?25l:[8C[?12l[?25h:silent! call extend(l, [1])
[?25l:[8C[?12l[?25h:silent! call extend(ll, [1])
[?25l:[8C[?12l[?25h:put ='l:'.string(l)
[?25l:[8C[?12l[?25h:put ='ll:'.string(ll)
[?25l:[8C[?12l[?25h:unlet l ll
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" py3eval()
[?25l:[8C[?12l[?25h:let l=py3eval('[0, 1, 2]')
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:let d=py3eval('{"a": "b", "c": 1, "d": ["e"]}')
[?25l:[8C[?12l[?25h:$put =sort(items(d))
[?25l:[8C[?12l[?25h:let v:errmsg = ''
[?25l:[8C[?12l[?25h:$put ='py3eval(\"None\") = ' . py3eval('None') . v:errmsg
[?25l:[8C[?12l[?25h:if has('float')
[?25l:[10C[?12l[?25h: let f=py3eval('0.0')
[?25l:[10C[?12l[?25h: $put =string(f)
[?25l:[10C[?12l[?25h:else
[?25l:[10C[?12l[?25h: $put ='0.0'
[?25l:[10C[?12l[?25h:endif
[?25l:[8C[?12l[?25h:" Invalid values:
[?25l:[8C[?12l[?25h:for e in ['"\0"', '{"\0": 1}', 'undefined_name', 'vim']
[?25l:[10C[?12l[?25h: try
[?25l:[12C[?12l[?25h: let v=py3eval(e)
[?25l:[12C[?12l[?25h: catch
[?25l:[12C[?12l[?25h: let toput=e.":\t".v:exception[:13]
[?25l:[12C[?12l[?25h: $put =toput
[?25l:[12C[?12l[?25h: endtry
[?25l:[10C[?12l[?25h:endfor
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" threading
[?25l:[8C[?12l[?25h:let l = [0]
[?25l:[8C[?12l[?25h:py3 l=vim.bindeval('l')
[?25l:[8C[?12l[?25hpy3 <<EOF
[?25l:[8C[?12l[?25himport threading
[?25l:[8C[?12l[?25himport time
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25hclass T(threading.Thread):
[?25l:[8C[?12l[?25h def __init__(self):
[?25l:[8C[?12l[?25h threading.Thread.__init__(self)
[?25l:[8C[?12l[?25h self.t = 0
[?25l:[8C[?12l[?25h self.running = True
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25h def run(self):
[?25l:[8C[?12l[?25h while self.running:
[?25l:[8C[?12l[?25h self.t += 1
[?25l:[8C[?12l[?25h time.sleep(0.1)
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25ht = T()
[?25l:[8C[?12l[?25hdel T
[?25l:[8C[?12l[?25ht.start()
[?25l:[8C[?12l[?25hEOF
[?25l:[8C[?12l[?25h:sleep 1
[?25l:[8C[?12l[?25h:py3 t.running = False
[?25l:[8C[?12l[?25h:py3 t.join()
[?25l:[8C[?12l[?25h:" Check if the background thread is working. Count should be 10, but
on a
[?25l:[8C[?12l[?25h:" busy system (AppVeyor) it can be much lower.
[?25l:[8C[?12l[?25h:py3 l[0] = t.t > 4
[?25l:[8C[?12l[?25h:py3 del time
[?25l:[8C[?12l[?25h:py3 del threading
[?25l:[8C[?12l[?25h:py3 del t
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" settrace
[?25l:[8C[?12l[?25h:let l = []
[?25l:[8C[?12l[?25h:py3 l=vim.bindeval('l')
[?25l:[8C[?12l[?25hpy3 <<EOF
[?25l:[8C[?12l[?25himport sys
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25hdef traceit(frame, event, arg):
[?25l:[8C[?12l[?25h global l
[?25l:[8C[?12l[?25h if event == "line":
[?25l:[8C[?12l[?25h l += [frame.f_lineno]
[?25l:[8C[?12l[?25h return traceit
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25hdef trace_main():
[?25l:[8C[?12l[?25h for i in range(5):
[?25l:[8C[?12l[?25h pass
[?25l:[8C[?12l[?25hEOF
[?25l:[8C[?12l[?25h:py3 sys.settrace(traceit)
[?25l:[8C[?12l[?25h:py3 trace_main()
[?25l:[8C[?12l[?25h:py3 sys.settrace(None)
[?25l:[8C[?12l[?25h:py3 del traceit
[?25l:[8C[?12l[?25h:py3 del trace_main
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Slice
[?25l:[8C[?12l[?25h:py3 ll = vim.bindeval('[0, 1, 2, 3, 4, 5]')
[?25l:[8C[?12l[?25h:py3 l = ll[:4]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[2:]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[:-4]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[-2:]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[2:4]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[4:2]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[-4:-2]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[-2:-4]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[:]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[0:6]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[-10:10]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[4:2:-1]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[::2]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[4:2:1]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 del l
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Vars
[?25l:[8C[?12l[?25h:let g:foo = 'bac'
[?25l:[8C[?12l[?25h:let w:abc3 = 'def'
[?25l:[8C[?12l[?25h:let b:baz = 'bar'
[?25l:[8C[?12l[?25h:let t:bar = 'jkl'
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: throw "Abc"
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: put =py3eval('vim.vvars[''exception'']')
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:put =py3eval('vim.vars[''foo'']')
[?25l:[8C[?12l[?25h:put =py3eval('vim.current.window.vars[''abc3'']')
[?25l:[8C[?12l[?25h:put =py3eval('vim.current.buffer.vars[''baz'']')
[?25l:[8C[?12l[?25h:put =py3eval('vim.current.tabpage.vars[''bar'']')
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Options
[?25l:[8C[?12l[?25h:" paste: boolean, global
[?25l:[8C[?12l[?25h:" previewheight number, global
[?25l:[8C[?12l[?25h:" operatorfunc: string, global
[?25l:[8C[?12l[?25h:" number: boolean, window-local
[?25l:[8C[?12l[?25h:" numberwidth: number, window-local
[?25l:[8C[?12l[?25h:" colorcolumn: string, window-local
[?25l:[8C[?12l[?25h:" statusline: string, window-local/global
[?25l:[8C[?12l[?25h:" autoindent: boolean, buffer-local
[?25l:[8C[?12l[?25h:" shiftwidth: number, buffer-local
[?25l:[8C[?12l[?25h:" omnifunc: string, buffer-local
[?25l:[8C[?12l[?25h:" preserveindent: boolean, buffer-local/global
[?25l:[8C[?12l[?25h:" path: string, buffer-local/global
[?25l:[8C[?12l[?25h:let g:bufs=[bufnr('%')]
[?25l:[8C[?12l[?25h:new
[?25l:[8C[?12l[?25h:let g:bufs+=[bufnr('%')]
[?25l:[8C[?12l[?25h:vnew
[?25l:[8C[?12l[?25h:let g:bufs+=[bufnr('%')]
[?25l:[8C[?12l[?25h:wincmd j
[?25l:[8C[?12l[?25h:vnew
[?25l:[8C[?12l[?25h:let g:bufs+=[bufnr('%')]
[?25l:[8C[?12l[?25h:wincmd l
[?25l:[8C[?12l[?25h:fun RecVars(opt)
[?25l:[10C[?12l[?25h: let gval =string(eval('&g:'.a:opt))
[?25l:[10C[?12l[?25h: let wvals=join(map(range(1, 4), 'v:val.":".string(getwinvar(v:va
[23;80Hl[24;1H, "&".a:opt))'))
[?25l:[10C[?12l[?25h: let bvals=join(map(copy(g:bufs), 'v:val.":".string(getbufvar(v:va
[23;80Hl[24;1H, "&".a:opt))'))
[?25l:[10C[?12l[?25h: put =' G: '.gval
[?25l:[10C[?12l[?25h: put =' W: '.wvals
[?25l:[10C[?12l[?25h: put =' B: '.wvals
[?25l:[10C[?12l[?25h:endfun
[?25l:[10C[?12l[?25hpy3 << EOF
[?25l:[10C[?12l[?25hdef e(s, g=globals(), l=locals()):
[?25l:[10C[?12l[?25h try:
[?25l:[10C[?12l[?25h exec(s, g, l)
[?25l:[10C[?12l[?25h except Exception as e:
[?25l:[10C[?12l[?25h vim.command('return ' + repr(e.__class__.__name__))
[?25l:[10C[?12l[?25h
[?25l:[10C[?12l[?25hdef ev(s, g=globals(), l=locals()):
[?25l:[10C[?12l[?25h try:
[?25l:[10C[?12l[?25h return eval(s, g, l)
[?25l:[10C[?12l[?25h except Exception as e:
[?25l:[10C[?12l[?25h vim.command('let exc=' + repr(e.__class__.__name__))
[?25l:[10C[?12l[?25h return 0
[?25l:[10C[?12l[?25hEOF
[?25l:[10C[?12l[?25h:fun E(s)
[?25l:[12C[?12l[?25h: python3 e(vim.eval('a:s'))
[?25l:[12C[?12l[?25h:endfun
[?25l:[12C[?12l[?25h:fun Ev(s)
[?25l:[14C[?12l[?25h: let r=py3eval('ev(vim.eval("a:s"))')
[?25l:[14C[?12l[?25h: if exists('exc')
[?25l:[16C[?12l[?25h: throw exc
[?25l:[16C[?12l[?25h: endif
[?25l:[14C[?12l[?25h: return r
[?25l:[14C[?12l[?25h:endfun
[?25l:[14C[?12l[?25h:py3 gopts1=vim.options
[?25l:[14C[?12l[?25h:py3 wopts1=vim.windows[2].options
[?25l:[14C[?12l[?25h:py3 wopts2=vim.windows[0].options
[?25l:[14C[?12l[?25h:py3 wopts3=vim.windows[1].options
[?25l:[14C[?12l[?25h:py3 bopts1=vim.buffers[vim.bindeval("g:bufs")[2]].options
[?25l:[14C[?12l[?25h:py3 bopts2=vim.buffers[vim.bindeval("g:bufs")[1]].options
[?25l:[14C[?12l[?25h:py3 bopts3=vim.buffers[vim.bindeval("g:bufs")[0]].options
[?25l:[14C[?12l[?25h:$put ='wopts iters equal: '.py3eval('list(wopts1) == list(wopts
[23;80H2[24;1H)')
[?25l:[14C[?12l[?25h:$put ='bopts iters equal: '.py3eval('list(bopts1) == list(bopts
[23;80H2[24;1H)')
[?25l:[14C[?12l[?25h:py3 gset=set(iter(gopts1))
[?25l:[14C[?12l[?25h:py3 wset=set(iter(wopts1))
[?25l:[14C[?12l[?25h:py3 bset=set(iter(bopts1))
[?25l:[14C[?12l[?25h:set path=.,..,,
[?25l:[14C[?12l[?25h:let lst=[]
[?25l:[14C[?12l[?25h:let lst+=[['paste', 1, 0, 1, 2, 1,
1, 0 ]]
[?25l:[14C[?12l[?25h:let lst+=[['previewheight', 5, 1, 6, 'a', 0,
1, 0 ]]
[?25l:[14C[?12l[?25h:let lst+=[['operatorfunc', 'A', 'B', 'C', 2, 0,
1, 0 ]]
[?25l:[14C[?12l[?25h:let lst+=[['number', 0, 1, 1, 0, 1,
0, 1 ]]
[?25l:[14C[?12l[?25h:let lst+=[['numberwidth', 2, 3, 5, -100, 0,
0, 1 ]]
[?25l:[14C[?12l[?25h:let lst+=[['colorcolumn', '+1', '+2', '+3', 'abc4', 0,
0, 1 ]]
[?25l:[14C[?12l[?25h:let lst+=[['statusline', '1', '2', '4', 0, 0,
1, 1 ]]
[?25l:[14C[?12l[?25h:let lst+=[['autoindent', 0, 1, 1, 2, 1,
0, 2 ]]
[?25l:[14C[?12l[?25h:let lst+=[['shiftwidth', 0, 2, 1, 3, 0,
0, 2 ]]
[?25l:[14C[?12l[?25h:let lst+=[['omnifunc', 'A', 'B', 'C', 1, 0,
0, 2 ]]
[?25l:[14C[?12l[?25h:let lst+=[['preserveindent', 0, 1, 1, 2, 1,
1, 2 ]]
[?25l:[14C[?12l[?25h:let lst+=[['path', '.,,', ',,', '.', 0, 0,
1, 2 ]]
[?25l:[14C[?12l[?25h:for [oname, oval1, oval2, oval3, invval, bool,
global, local] in lst
[?25l:[16C[?12l[?25h: py3 oname=vim.eval('oname')
[?25l:[16C[?12l[?25h: py3 oval1=vim.bindeval('oval1')
[?25l:[16C[?12l[?25h: py3 oval2=vim.bindeval('oval2')
[?25l:[16C[?12l[?25h: py3 oval3=vim.bindeval('oval3')
[?25l:[16C[?12l[?25h: if invval is 0 || invval is 1
[?25l:[18C[?12l[?25h: py3 invval=bool(vim.bindeval('invval'))
[?25l:[18C[?12l[?25h: else
[?25l:[18C[?12l[?25h: py3 invval=vim.bindeval('invval')
[?25l:[18C[?12l[?25h: endif
[?25l:[16C[?12l[?25h: if bool
[?25l:[18C[?12l[?25h: py3 oval1=bool(oval1)
[?25l:[18C[?12l[?25h: py3 oval2=bool(oval2)
[?25l:[18C[?12l[?25h: py3 oval3=bool(oval3)
[?25l:[18C[?12l[?25h: endif
[?25l:[16C[?12l[?25h: put ='>>> '.oname
[?25l:[16C[?12l[?25h: $put =' g/w/b:'.py3eval('oname in gset').'/'.py3eval('ona
[23;80Hm[24;1He in wset').'/'.py3eval('oname in bset')
[?25l:[16C[?12l[?25h: $put =' g/w/b (in):'.py3eval('oname in gopts1').'/'.py3ev
[23;80Ha[24;1Hl('oname in wopts1').'/'.py3eval('oname in bopts1')
[?25l:[16C[?12l[?25h: for v in ['gopts1', 'wopts1', 'bopts1']
[?25l:[18C[?12l[?25h: try
[?25l:[20C[?12l[?25h: put =' p/'.v.': '.Ev('repr('.v.'['''.oname.''
[23;80H'[24;1H])')
[?25l:[20C[?12l[?25h: catch
[?25l:[20C[?12l[?25h: put =' p/'.v.'! '.v:exception
[?25l:[20C[?12l[?25h: endtry
[?25l:[18C[?12l[?25h: let r=E(v.'['''.oname.''']=invval')
[?25l:[18C[?12l[?25h: if r isnot 0
[?25l:[20C[?12l[?25h: put =' inv: '.string(invval).'! '.r
[?25l:[20C[?12l[?25h: endif
[?25l:[18C[?12l[?25h: for vv in (v is# 'gopts1' ? [v] : [v, v[:-2].'2', v[
[23;80H:[24;1H-2].'3'])
[?25l:[20C[?12l[?25h: let val=substitute(vv, '^.opts', 'oval', '')
[?25l:[20C[?12l[?25h: let r=E(vv.'['''.oname.''']='.val)
[?25l:[20C[?12l[?25h: if r isnot 0
[?25l:[22C[?12l[?25h: put =' '.vv.'! '.r
[?25l:[22C[?12l[?25h: endif
[?25l:[20C[?12l[?25h: endfor
[?25l:[18C[?12l[?25h: endfor
[?25l:[16C[?12l[?25h: call RecVars(oname)
[?25l:[16C[?12l[?25h: for v in ['wopts3', 'bopts3']
[?25l:[18C[?12l[?25h: let r=E('del '.v.'["'.oname.'"]')
[?25l:[18C[?12l[?25h: if r isnot 0
[?25l:[20C[?12l[?25h: put =' del '.v.'! '.r
[?25l:[20C[?12l[?25h: endif
[?25l:[18C[?12l[?25h: endfor
[?25l:[16C[?12l[?25h: call RecVars(oname)
[?25l:[16C[?12l[?25h:endfor
[?25l:[14C[?12l[?25h:delfunction RecVars
[?25l:[14C[?12l[?25h:delfunction E
[?25l:[14C[?12l[?25h:delfunction Ev
[?25l:[14C[?12l[?25h:py3 del ev
[?25l:[14C[?12l[?25h:py3 del e
[?25l:[14C[?12l[?25h:only
[?25l:[14C[?12l[?25h:for buf in g:bufs[1:]
[?25l:[16C[?12l[?25h: execute 'bwipeout!' buf
[?25l:[16C[?12l[?25h:endfor
[?25l:[14C[?12l[?25h:py3 del gopts1
[?25l:[14C[?12l[?25h:py3 del wopts1
[?25l:[14C[?12l[?25h:py3 del wopts2
[?25l:[14C[?12l[?25h:py3 del wopts3
[?25l:[14C[?12l[?25h:py3 del bopts1
[?25l:[14C[?12l[?25h:py3 del bopts2
[?25l:[14C[?12l[?25h:py3 del bopts3
[?25l:[14C[?12l[?25h:py3 del oval1
[?25l:[14C[?12l[?25h:py3 del oval2
[?25l:[14C[?12l[?25h:py3 del oval3
[?25l:[14C[?12l[?25h:py3 del oname
[?25l:[14C[?12l[?25h:py3 del invval
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test buffer object
[?25l:[14C[?12l[?25h:vnew
[?25l:[14C[?12l[?25h:put ='First line'
[?25l:[14C[?12l[?25h:put ='Second line'
[?25l:[14C[?12l[?25h:put ='Third line'
[?25l:[14C[?12l[?25h:1 delete _
[?25l:[14C[?12l[?25h:py3 b=vim.current.buffer
[?25l:[14C[?12l[?25h:wincmd w
[?25l:[14C[?12l[?25h:mark a
[?25l:[14C[?12l[?25h:augroup BUFS
[?25l:[14C[?12l[?25h: autocmd BufFilePost * python3 cb.append(vim.eval('expand("<a
[23;80Hb[24;1Huf>")') + ':BufFilePost:' + vim.eval('bufnr("%")'))
[?25l:[14C[?12l[?25h: autocmd BufFilePre * python3 cb.append(vim.eval('expand("<ab
[23;80Hu[24;1Hf>")') + ':BufFilePre:' + vim.eval('bufnr("%")'))
[?25l:[14C[?12l[?25h:augroup END
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25h# Tests BufferAppend and BufferItem
[?25l:[14C[?12l[?25hcb.append(b[0])
[?25l:[14C[?12l[?25h# Tests BufferSlice and BufferAssSlice
[?25l:[14C[?12l[?25hcb.append('abc5') # Will be overwritten
[?25l:[14C[?12l[?25hcb[-1:] = b[:-2]
[?25l:[14C[?12l[?25h# Test BufferLength and BufferAssSlice
[?25l:[14C[?12l[?25hcb.append('def') # Will not be overwritten
[?25l:[14C[?12l[?25hcb[len(cb):] = b[:]
[?25l:[14C[?12l[?25h# Test BufferAssItem and BufferMark
[?25l:[14C[?12l[?25hcb.append('ghi') # Will be overwritten
[?25l:[14C[?12l[?25hcb[-1] = repr((len(cb) - cb.mark('a')[0], cb.mark('a')[1]))
[?25l:[14C[?12l[?25h# Test BufferRepr
[?25l:[14C[?12l[?25hcb.append(repr(cb) + repr(b))
[?25l:[14C[?12l[?25h# Modify foreign buffer
[?25l:[14C[?12l[?25hb.append('foo')
[?25l:[14C[?12l[?25hb[0]='bar'
[?25l:[14C[?12l[?25hb[0:0]=['baz']
[?25l:[14C[?12l[?25hvim.command('call append("$", getbufline(%i, 1, "$"))' % b.numbe
[23;80Hr[24;1H)
[?25l:[14C[?12l[?25h# Test assigning to name property
[?25l:[14C[?12l[?25himport os
[?25l:[14C[?12l[?25hold_name = cb.name
[?25l:[14C[?12l[?25hcb.name = 'foo'
[?25l:[14C[?12l[?25hcb.append(cb.name[-11:].replace(os.path.sep, '/'))
[?25l:[14C[?12l[?25hb.name = 'bar'
[?25l:[14C[?12l[?25hcb.append(b.name[-11:].replace(os.path.sep, '/'))
[?25l:[14C[?12l[?25hcb.name = old_name
[?25l:[14C[?12l[?25hcb.append(cb.name[-17:].replace(os.path.sep, '/'))
[?25l:[14C[?12l[?25hdel old_name
[?25l:[14C[?12l[?25h# Test CheckBuffer
[?25l:[14C[?12l[?25hfor _b in vim.buffers:
[?25l:[14C[?12l[?25h if _b is not cb:
[?25l:[14C[?12l[?25h vim.command('bwipeout! ' + str(_b.number))
[?25l:[14C[?12l[?25hdel _b
[?25l:[14C[?12l[?25hcb.append('valid: b:%s, cb:%s' % (repr(b.valid), repr(cb.valid))
[23;80H)[24;1H
[?25l:[14C[?12l[?25hfor expr in ('b[1]','b[:] = ["A", "B"]','b[:]','b.append("abc6")
[23;80H'[24;1H):
[?25l:[14C[?12l[?25h try:
[?25l:[14C[?12l[?25h exec(expr)
[?25l:[14C[?12l[?25h except vim.error:
[?25l:[14C[?12l[?25h pass
[?25l:[14C[?12l[?25h else:
[?25l:[14C[?12l[?25h # Usually a SEGV here
[?25l:[14C[?12l[?25h # Should not happen in any case
[?25l:[14C[?12l[?25h cb.append('No exception for ' + expr)
[?25l:[14C[?12l[?25hvim.command('cd .')
[?25l:[14C[?12l[?25hdel b
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test vim.buffers object
[?25l:[14C[?12l[?25h:set hidden
[?25l:[14C[?12l[?25h:edit a
[?25l:[14C[?12l[?25h:buffer #
[?25l:[14C[?12l[?25h:edit b
[?25l:[14C[?12l[?25h:buffer #
[?25l:[14C[?12l[?25h:edit c
[?25l:[14C[?12l[?25h:buffer #
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25h# Check GCing iterator that was not fully exhausted
[?25l:[14C[?12l[?25hi = iter(vim.buffers)
[?25l:[14C[?12l[?25hcb.append('i:' + str(next(i)))
[?25l:[14C[?12l[?25h# and also check creating more than one iterator at a time
[?25l:[14C[?12l[?25hi2 = iter(vim.buffers)
[?25l:[14C[?12l[?25hcb.append('i2:' + str(next(i2)))
[?25l:[14C[?12l[?25hcb.append('i:' + str(next(i)))
[?25l:[14C[?12l[?25h# The following should trigger GC and not cause any problems
[?25l:[14C[?12l[?25hdel i
[?25l:[14C[?12l[?25hdel i2
[?25l:[14C[?12l[?25hi3 = iter(vim.buffers)
[?25l:[14C[?12l[?25hcb.append('i3:' + str(next(i3)))
[?25l:[14C[?12l[?25hdel i3
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hprevnum = 0
[?25l:[14C[?12l[?25hfor b in vim.buffers:
[?25l:[14C[?12l[?25h # Check buffer order
[?25l:[14C[?12l[?25h if prevnum >= b.number:
[?25l:[14C[?12l[?25h cb.append('!!! Buffer numbers not in strictly ascending
[23;80Ho[24;1Hrder')
[?25l:[14C[?12l[?25h # Check indexing: vim.buffers[number].number == number
[?25l:[14C[?12l[?25h cb.append(str(b.number) + ':' + repr(vim.buffers[b.number])
[23;80H+[24;1H '=' + repr(b))
[?25l:[14C[?12l[?25h prevnum = b.number
[?25l:[14C[?12l[?25hdel prevnum
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hcb.append(str(len(vim.buffers)))
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hbnums = list(map(lambda b: b.number, vim.buffers))[1:]
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25h# Test wiping out buffer with existing iterator
[?25l:[14C[?12l[?25hi4 = iter(vim.buffers)
[?25l:[14C[?12l[?25hcb.append('i4:' + str(next(i4)))
[?25l:[14C[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(0)))
[?25l:[14C[?12l[?25htry:
[?25l:[14C[?12l[?25h next(i4)
[?25l:[14C[?12l[?25hexcept vim.error:
[?25l:[14C[?12l[?25h pass
[?25l:[14C[?12l[?25helse:
[?25l:[14C[?12l[?25h cb.append('!!!! No vim.error')
[?25l:[14C[?12l[?25hi4 = iter(vim.buffers)
[?25l:[14C[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(-1)))
[?25l:[14C[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(-1)))
[?25l:[14C[?12l[?25hcb.append('i4:' + str(next(i4)))
[?25l:[14C[?12l[?25htry:
[?25l:[14C[?12l[?25h next(i4)
[?25l:[14C[?12l[?25hexcept StopIteration:
[?25l:[14C[?12l[?25h cb.append('StopIteration')
[?25l:[14C[?12l[?25hdel i4
[?25l:[14C[?12l[?25hdel bnums
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test vim.{tabpage,window}list and vim.{tabpage,window} object
[23;80Hs[24;1H
[?25l:[14C[?12l[?25h:tabnew 0
[?25l:[14C[?12l[?25h:tabnew 1
[?25l:[14C[?12l[?25h:vnew a.1
[?25l:[14C[?12l[?25h:tabnew 2
[?25l:[14C[?12l[?25h:vnew a.2
[?25l:[14C[?12l[?25h:vnew b.2
[?25l:[14C[?12l[?25h:vnew c.2
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25hcb.append('Number of tabs: ' + str(len(vim.tabpages)))
[?25l:[14C[?12l[?25hcb.append('Current tab pages:')
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hdef W(w):
[?25l:[14C[?12l[?25h if '(unknown)' in repr(w):
[?25l:[14C[?12l[?25h return '<window object (unknown)>'
[?25l:[14C[?12l[?25h else:
[?25l:[14C[?12l[?25h return repr(w)
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hdef Cursor(w, start=len(cb)):
[?25l:[14C[?12l[?25h if w.buffer is cb:
[?25l:[14C[?12l[?25h return repr((start - w.cursor[0], w.cursor[1]))
[?25l:[14C[?12l[?25h else:
[?25l:[14C[?12l[?25h return repr(w.cursor)
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hfor t in vim.tabpages:
[?25l:[14C[?12l[?25h cb.append(' ' + repr(t) + '(' + str(t.number) + ')' + ': '
[23;80H+[24;1H str(len(t.windows)) + ' windows, current is ' + W(t.window))
[?25l:[14C[?12l[?25h cb.append(' Windows:')
[?25l:[14C[?12l[?25h for w in t.windows:
[?25l:[14C[?12l[?25h cb.append(' ' + W(w) + '(' + str(w.number) + ')' + ':
displays buffer ' + repr(w.buffer) + '; cursor is at ' + Cursor(w))
[?25l:[14C[?12l[?25h # Other values depend on the size of the terminal, so th
[23;80He[24;1Hy are checked partly:
[?25l:[14C[?12l[?25h for attr in ('height', 'row', 'width', 'col'):
[?25l:[14C[?12l[?25h try:
[?25l:[14C[?12l[?25h aval = getattr(w, attr)
[?25l:[14C[?12l[?25h if type(aval) is not int:
[?25l:[14C[?12l[?25h raise TypeError
[?25l:[14C[?12l[?25h if aval < 0:
[?25l:[14C[?12l[?25h raise ValueError
[?25l:[14C[?12l[?25h except Exception as e:
[?25l:[14C[?12l[?25h cb.append('!!!!!! Error while getting attribute
[23;80H'[24;1H + attr + ': ' + e.__class__.__name__)
[?25l:[14C[?12l[?25h del aval
[?25l:[14C[?12l[?25h del attr
[?25l:[14C[?12l[?25h w.cursor = (len(w.buffer), 0)
[?25l:[14C[?12l[?25hdel W
[?25l:[14C[?12l[?25hdel Cursor
[?25l:[14C[?12l[?25hcb.append('Number of windows in current tab page: ' + str(len(vi
[23;80Hm[24;1H.windows)))
[?25l:[14C[?12l[?25hif list(vim.windows) != list(vim.current.tabpage.windows):
[?25l:[14C[?12l[?25h cb.append('!!!!!! Windows differ')
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test vim.current
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25hdef H(o):
[?25l:[14C[?12l[?25h return repr(o)
[?25l:[14C[?12l[?25hcb.append('Current tab page: ' + repr(vim.current.tabpage))
[?25l:[14C[?12l[?25hcb.append('Current window: ' + repr(vim.current.window) + ': ' +
H(vim.current.window) + ' is ' + H(vim.current.tabpage.window))
[?25l:[14C[?12l[?25hcb.append('Current buffer: ' + repr(vim.current.buffer) + ': ' +
H(vim.current.buffer) + ' is ' + H(vim.current.window.buffer)+ ' is ' + H(vim.c
[23;80Hu[24;1Hrrent.tabpage.window.buffer))
[?25l:[14C[?12l[?25hdel H
[?25l:[14C[?12l[?25h# Assigning: fails
[?25l:[14C[?12l[?25htry:
[?25l:[14C[?12l[?25h vim.current.window = vim.tabpages[0].window
[?25l:[14C[?12l[?25hexcept ValueError:
[?25l:[14C[?12l[?25h cb.append('ValueError at assigning foreign tab window')
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hfor attr in ('window', 'tabpage', 'buffer'):
[?25l:[14C[?12l[?25h try:
[?25l:[14C[?12l[?25h setattr(vim.current, attr, None)
[?25l:[14C[?12l[?25h except TypeError:
[?25l:[14C[?12l[?25h cb.append('Type error at assigning None to vim.current.'
+ attr)
[?25l:[14C[?12l[?25hdel attr
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25h# Assigning: success
[?25l:[14C[?12l[?25hvim.current.tabpage = vim.tabpages[-2]
[?25l:[14C[?12l[?25hvim.current.buffer = cb
[?25l:[14C[?12l[?25hvim.current.window = vim.windows[0]
[?25l:[14C[?12l[?25hvim.current.window.cursor = (len(vim.current.buffer), 0)
[?25l:[14C[?12l[?25hcb.append('Current tab page: ' + repr(vim.current.tabpage))
[?25l:[14C[?12l[?25hcb.append('Current window: ' + repr(vim.current.window))
[?25l:[14C[?12l[?25hcb.append('Current buffer: ' + repr(vim.current.buffer))
[?25l:[14C[?12l[?25hcb.append('Current line: ' + repr(vim.current.line))
[?25l:[14C[?12l[?25hws = list(vim.windows)
[?25l:[14C[?12l[?25hts = list(vim.tabpages)
[?25l:[14C[?12l[?25hfor b in vim.buffers:
[?25l:[14C[?12l[?25h if b is not cb:
[?25l:[14C[?12l[?25h vim.command('bwipeout! ' + str(b.number))
[?25l:[14C[?12l[?25hdel b
[?25l:[14C[?12l[?25hcb.append('w.valid: ' + repr([w.valid for w in ws]))
[?25l:[14C[?12l[?25hcb.append('t.valid: ' + repr([t.valid for t in ts]))
[?25l:[14C[?12l[?25hdel w
[?25l:[14C[?12l[?25hdel t
[?25l:[14C[?12l[?25hdel ts
[?25l:[14C[?12l[?25hdel ws
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:tabonly!
[?25l:[14C[?12l[?25h:only!
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test types
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25hfor expr, attr in (
[?25l:[14C[?12l[?25h ('vim.vars', 'Dictionary'),
[?25l:[14C[?12l[?25h ('vim.options', 'Options'),
[?25l:[14C[?12l[?25h ('vim.bindeval("{}")', 'Dictionary'),
[?25l:[14C[?12l[?25h ('vim.bindeval("[]")', 'List'),
[?25l:[14C[?12l[?25h ('vim.bindeval("function(\'tr\')")', 'Function'),
[?25l:[14C[?12l[?25h ('vim.current.buffer', 'Buffer'),
[?25l:[14C[?12l[?25h ('vim.current.range', 'Range'),
[?25l:[14C[?12l[?25h ('vim.current.window', 'Window'),
[?25l:[14C[?12l[?25h ('vim.current.tabpage', 'TabPage'),
[?25l:[14C[?12l[?25h):
[?25l:[14C[?12l[?25h cb.append(expr + ':' + attr + ':' + repr(type(eval(expr)) is
getattr(vim, attr)))
[?25l:[14C[?12l[?25hdel expr
[?25l:[14C[?12l[?25hdel attr
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test __dir__() method
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25hfor name, o in (
[?25l:[14C[?12l[?25h ('current', vim.current),
[?25l:[14C[?12l[?25h ('buffer', vim.current.buffer),
[?25l:[14C[?12l[?25h ('window', vim.current.window),
[?25l:[14C[?12l[?25h ('tabpage', vim.current.tabpage),
[?25l:[14C[?12l[?25h ('range', vim.current.range),
[?25l:[14C[?12l[?25h ('dictionary', vim.bindeval('{}')),
[?25l:[14C[?12l[?25h ('list', vim.bindeval('[]')),
[?25l:[14C[?12l[?25h ('function', vim.bindeval('function("tr")')),
[?25l:[14C[?12l[?25h ('output', sys.stdout),
[?25l:[14C[?12l[?25h ):
[?25l:[14C[?12l[?25h cb.append(name + ':' + ','.join(dir(o)))
[?25l:[14C[?12l[?25hdel name
[?25l:[14C[?12l[?25hdel o
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test vim.*.__new__
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Dictionary({})'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Dictionary(a=1)'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Dictionary(((''a'', 1),))'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.List()'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.List(iter(''abc7''))'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'')'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4])'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[])'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', self={})'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], se
[23;80Hl[24;1Hf={})'))
[?25l:[14C[?12l[?25h:$put ='auto_rebind'
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', auto_rebind=False)')
[23;80H)[24;1H
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], au
[23;80Ht[24;1Ho_rebind=False)'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[], auto_rebind
[23;80H=[24;1HFalse)'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', self={}, auto_rebind
[23;80H=[24;1HFalse)'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], se
[23;80Hl[24;1Hf={}, auto_rebind=False)'))
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test vim.Function
[?25l:[14C[?12l[?25h:function Args(...)
[?25l:[16C[?12l[?25h: return a:000
[?25l:[16C[?12l[?25h:endfunction
[?25l:[16C[?12l[?25h:function SelfArgs(...) dict
[?25l:[18C[?12l[?25h: return [a:000, self]
[?25l:[18C[?12l[?25h:endfunction
[?25l:[18C[?12l[?25h:" The following four lines should not crash
[?25l:[18C[?12l[?25h:let Pt = function('tr', [[]], {'l': []})
[?25l:[18C[?12l[?25h:py3 Pt = vim.bindeval('Pt')
[?25l:[18C[?12l[?25h:unlet Pt
[?25l:[18C[?12l[?25h:py3 del Pt
[?25l:[18C[?12l[?25hpy3 << EOF
[?25l:[18C[?12l[?25hdef ecall(out_prefix, func, *args, **kwargs):
[?25l:[18C[?12l[?25h line = out_prefix + ': '
[?25l:[18C[?12l[?25h try:
[?25l:[18C[?12l[?25h ret = func(*args, **kwargs)
[?25l:[18C[?12l[?25h except Exception:
[?25l:[18C[?12l[?25h line += '!exception: ' + emsg(sys.exc_info())
[?25l:[18C[?12l[?25h else:
[?25l:[18C[?12l[?25h line += '!result: ' + str(vim.Function('string')(ret
[23;80H)[24;1H, 'utf-8')
[?25l:[18C[?12l[?25h cb.append(line)
[?25l:[18C[?12l[?25ha = vim.Function('Args')
[?25l:[18C[?12l[?25hpa1 = vim.Function('Args', args=['abcArgsPA1'])
[?25l:[18C[?12l[?25hpa2 = vim.Function('Args', args=[])
[?25l:[18C[?12l[?25hpa3 = vim.Function('Args', args=['abcArgsPA3'], self={'abcSe
[23;80Hl[24;1HfPA3': 'abcSelfPA3Val'})
[?25l:[18C[?12l[?25hpa4 = vim.Function('Args', self={'abcSelfPA4': 'abcSelfPA4Va
[23;80Hl[24;1H'})
[?25l:[18C[?12l[?25hcb.append('a: ' + repr(a))
[?25l:[18C[?12l[?25hcb.append('pa1: ' + repr(pa1))
[?25l:[18C[?12l[?25hcb.append('pa2: ' + repr(pa2))
[?25l:[18C[?12l[?25hcb.append('pa3: ' + repr(pa3))
[?25l:[18C[?12l[?25hcb.append('pa4: ' + repr(pa4))
[?25l:[18C[?12l[?25hsa = vim.Function('SelfArgs')
[?25l:[18C[?12l[?25hpsa1 = vim.Function('SelfArgs', args=['abcArgsPSA1'])
[?25l:[18C[?12l[?25hpsa2 = vim.Function('SelfArgs', args=[])
[?25l:[18C[?12l[?25hpsa3 = vim.Function('SelfArgs', args=['abcArgsPSA3'], self={
[23;80H'[24;1HabcSelfPSA3': 'abcSelfPSA3Val'})
[?25l:[18C[?12l[?25hpsa4 = vim.Function('SelfArgs', self={'abcSelfPSA4': 'abcSel
[23;80Hf[24;1HPSA4Val'})
[?25l:[18C[?12l[?25hpsa5 = vim.Function('SelfArgs', self={'abcSelfPSA5': 'abcSel
[23;80Hf[24;1HPSA5Val'}, auto_rebind=0)
[?25l:[18C[?12l[?25hpsa6 = vim.Function('SelfArgs', args=['abcArgsPSA6'], self={
[23;80H'[24;1HabcSelfPSA6': 'abcSelfPSA6Val'}, auto_rebind=())
[?25l:[18C[?12l[?25hpsa7 = vim.Function('SelfArgs', args=['abcArgsPSA7'], auto_r
[23;80He[24;1Hbind=[])
[?25l:[18C[?12l[?25hpsa8 = vim.Function('SelfArgs', auto_rebind=False)
[?25l:[18C[?12l[?25hpsa9 = vim.Function('SelfArgs', self={'abcSelfPSA9': 'abcSel
[23;80Hf[24;1HPSA9Val'}, auto_rebind=True)
[?25l:[18C[?12l[?25hpsaA = vim.Function('SelfArgs', args=['abcArgsPSAA'], self={
[23;80H'[24;1HabcSelfPSAA': 'abcSelfPSAAVal'}, auto_rebind=1)
[?25l:[18C[?12l[?25hpsaB = vim.Function('SelfArgs', args=['abcArgsPSAB'], auto_r
[23;80He[24;1Hbind={'abcARPSAB': 'abcARPSABVal'})
[?25l:[18C[?12l[?25hpsaC = vim.Function('SelfArgs', auto_rebind=['abcARPSAC'])
[?25l:[18C[?12l[?25hcb.append('sa: ' + repr(sa))
[?25l:[18C[?12l[?25hcb.append('psa1: ' + repr(psa1))
[?25l:[18C[?12l[?25hcb.append('psa2: ' + repr(psa2))
[?25l:[18C[?12l[?25hcb.append('psa3: ' + repr(psa3))
[?25l:[18C[?12l[?25hcb.append('psa4: ' + repr(psa4))
[?25l:[18C[?12l[?25hcb.append('psa5: ' + repr(psa5))
[?25l:[18C[?12l[?25hcb.append('psa6: ' + repr(psa6))
[?25l:[18C[?12l[?25hcb.append('psa7: ' + repr(psa7))
[?25l:[18C[?12l[?25hcb.append('psa8: ' + repr(psa8))
[?25l:[18C[?12l[?25hcb.append('psa9: ' + repr(psa9))
[?25l:[18C[?12l[?25hcb.append('psaA: ' + repr(psaA))
[?25l:[18C[?12l[?25hcb.append('psaB: ' + repr(psaB))
[?25l:[18C[?12l[?25hcb.append('psaC: ' + repr(psaC))
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hpsar = vim.Function('SelfArgs', args=[{'abcArgsPSAr': 'abcAr
[23;80Hg[24;1HsPSArVal'}], self={'abcSelfPSAr': 'abcSelfPSArVal'})
[?25l:[18C[?12l[?25hpsar.args[0]['abcArgsPSAr2'] = [psar.self, psar.args[0]]
[?25l:[18C[?12l[?25hpsar.self['rec'] = psar
[?25l:[18C[?12l[?25hpsar.self['self'] = psar.self
[?25l:[18C[?12l[?25hpsar.self['args'] = psar.args
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25htry:
[?25l:[18C[?12l[?25h cb.append('psar: ' + repr(psar))
[?25l:[18C[?12l[?25hexcept Exception:
[?25l:[18C[?12l[?25h cb.append('!!!!!!!! Caught exception: ' + emsg(sys.exc_i
[23;80Hn[24;1Hfo()))
[?25l:[18C[?12l[?25hEOF
[?25l:[18C[?12l[?25h:$put ='s(a): '.string(py3eval('a'))
[?25l:[18C[?12l[?25h:$put ='s(pa1): '.string(py3eval('pa1'))
[?25l:[18C[?12l[?25h:$put ='s(pa2): '.string(py3eval('pa2'))
[?25l:[18C[?12l[?25h:$put ='s(pa3): '.string(py3eval('pa3'))
[?25l:[18C[?12l[?25h:$put ='s(pa4): '.string(py3eval('pa4'))
[?25l:[18C[?12l[?25h:$put ='s(sa): '.string(py3eval('sa'))
[?25l:[18C[?12l[?25h:$put ='s(psa1): '.string(py3eval('psa1'))
[?25l:[18C[?12l[?25h:$put ='s(psa2): '.string(py3eval('psa2'))
[?25l:[18C[?12l[?25h:$put ='s(psa3): '.string(py3eval('psa3'))
[?25l:[18C[?12l[?25h:$put ='s(psa4): '.string(py3eval('psa4'))
[?25l:[18C[?12l[?25h:$put ='s(psa5): '.string(py3eval('psa5'))
[?25l:[18C[?12l[?25h:$put ='s(psa6): '.string(py3eval('psa6'))
[?25l:[18C[?12l[?25h:$put ='s(psa7): '.string(py3eval('psa7'))
[?25l:[18C[?12l[?25h:$put ='s(psa8): '.string(py3eval('psa8'))
[?25l:[18C[?12l[?25h:$put ='s(psa9): '.string(py3eval('psa9'))
[?25l:[18C[?12l[?25h:$put ='s(psaA): '.string(py3eval('psaA'))
[?25l:[18C[?12l[?25h:$put ='s(psaB): '.string(py3eval('psaB'))
[?25l:[18C[?12l[?25h:$put ='s(psaC): '.string(py3eval('psaC'))
[?25l:[18C[?12l[?25h:
[?25l:[18C[?12l[?25h:for v in ['sa', 'psa1', 'psa2', 'psa3', 'psa4', 'psa5', 'ps
[23;80Ha[24;1H6', 'psa7', 'psa8', 'psa9', 'psaA', 'psaB', 'psaC']
[?25l:[20C[?12l[?25h: let d = {'f': py3eval(v)}
[?25l:[20C[?12l[?25h: $put ='d.'.v.'(): '.string(d.f())
[?25l:[20C[?12l[?25h:endfor
[?25l:[18C[?12l[?25h:
[?25l:[18C[?12l[?25h:py3 ecall('a()', a, )
[?25l:[18C[?12l[?25h:py3 ecall('pa1()', pa1, )
[?25l:[18C[?12l[?25h:py3 ecall('pa2()', pa2, )
[?25l:[18C[?12l[?25h:py3 ecall('pa3()', pa3, )
[?25l:[18C[?12l[?25h:py3 ecall('pa4()', pa4, )
[?25l:[18C[?12l[?25h:py3 ecall('sa()', sa, )
[?25l:[18C[?12l[?25h:py3 ecall('psa1()', psa1, )
[?25l:[18C[?12l[?25h:py3 ecall('psa2()', psa2, )
[?25l:[18C[?12l[?25h:py3 ecall('psa3()', psa3, )
[?25l:[18C[?12l[?25h:py3 ecall('psa4()', psa4, )
[?25l:[18C[?12l[?25h:
[?25l:[18C[?12l[?25h:py3 ecall('a(42, 43)', a, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('pa1(42, 43)', pa1, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('pa2(42, 43)', pa2, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('pa3(42, 43)', pa3, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('pa4(42, 43)', pa4, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('sa(42, 43)', sa, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('psa1(42, 43)', psa1, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('psa2(42, 43)', psa2, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('psa3(42, 43)', psa3, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('psa4(42, 43)', psa4, 42, 43)
[?25l:[18C[?12l[?25h:
[?25l:[18C[?12l[?25h:py3 ecall('a(42, self={"20": 1})', a, 42, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('pa1(42, self={"20": 1})', pa1, 42, self={'20': 1
[23;80H}[24;1H)
[?25l:[18C[?12l[?25h:py3 ecall('pa2(42, self={"20": 1})', pa2, 42, self={'20': 1
[23;80H}[24;1H)
[?25l:[18C[?12l[?25h:py3 ecall('pa3(42, self={"20": 1})', pa3, 42, self={'20': 1
[23;80H}[24;1H)
[?25l:[18C[?12l[?25h:py3 ecall('pa4(42, self={"20": 1})', pa4, 42, self={'20': 1
[23;80H}[24;1H)
[?25l:[18C[?12l[?25h:py3 ecall('sa(42, self={"20": 1})', sa, 42, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('psa1(42, self={"20": 1})', psa1, 42, self={'20':
1})
[?25l:[18C[?12l[?25h:py3 ecall('psa2(42, self={"20": 1})', psa2, 42, self={'20':
1})
[?25l:[18C[?12l[?25h:py3 ecall('psa3(42, self={"20": 1})', psa3, 42, self={'20':
1})
[?25l:[18C[?12l[?25h:py3 ecall('psa4(42, self={"20": 1})', psa4, 42, self={'20':
1})
[?25l:[18C[?12l[?25h:
[?25l:[18C[?12l[?25h:py3 ecall('a(self={"20": 1})', a, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('pa1(self={"20": 1})', pa1, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('pa2(self={"20": 1})', pa2, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('pa3(self={"20": 1})', pa3, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('pa4(self={"20": 1})', pa4, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('sa(self={"20": 1})', sa, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('psa1(self={"20": 1})', psa1, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('psa2(self={"20": 1})', psa2, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('psa3(self={"20": 1})', psa3, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('psa4(self={"20": 1})', psa4, self={'20': 1})
[?25l:[18C[?12l[?25hpy3 << EOF
[?25l:[18C[?12l[?25hdef s(v):
[?25l:[18C[?12l[?25h if v is None:
[?25l:[18C[?12l[?25h return repr(v)
[?25l:[18C[?12l[?25h else:
[?25l:[18C[?12l[?25h return str(vim.Function('string')(v), 'utf-8')
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hcb.append('a.args: ' + s(a.args))
[?25l:[18C[?12l[?25hcb.append('pa1.args: ' + s(pa1.args))
[?25l:[18C[?12l[?25hcb.append('pa2.args: ' + s(pa2.args))
[?25l:[18C[?12l[?25hcb.append('pa3.args: ' + s(pa3.args))
[?25l:[18C[?12l[?25hcb.append('pa4.args: ' + s(pa4.args))
[?25l:[18C[?12l[?25hcb.append('sa.args: ' + s(sa.args))
[?25l:[18C[?12l[?25hcb.append('psa1.args: ' + s(psa1.args))
[?25l:[18C[?12l[?25hcb.append('psa2.args: ' + s(psa2.args))
[?25l:[18C[?12l[?25hcb.append('psa3.args: ' + s(psa3.args))
[?25l:[18C[?12l[?25hcb.append('psa4.args: ' + s(psa4.args))
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hcb.append('a.self: ' + s(a.self))
[?25l:[18C[?12l[?25hcb.append('pa1.self: ' + s(pa1.self))
[?25l:[18C[?12l[?25hcb.append('pa2.self: ' + s(pa2.self))
[?25l:[18C[?12l[?25hcb.append('pa3.self: ' + s(pa3.self))
[?25l:[18C[?12l[?25hcb.append('pa4.self: ' + s(pa4.self))
[?25l:[18C[?12l[?25hcb.append('sa.self: ' + s(sa.self))
[?25l:[18C[?12l[?25hcb.append('psa1.self: ' + s(psa1.self))
[?25l:[18C[?12l[?25hcb.append('psa2.self: ' + s(psa2.self))
[?25l:[18C[?12l[?25hcb.append('psa3.self: ' + s(psa3.self))
[?25l:[18C[?12l[?25hcb.append('psa4.self: ' + s(psa4.self))
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hcb.append('a.name: ' + s(a.name))
[?25l:[18C[?12l[?25hcb.append('pa1.name: ' + s(pa1.name))
[?25l:[18C[?12l[?25hcb.append('pa2.name: ' + s(pa2.name))
[?25l:[18C[?12l[?25hcb.append('pa3.name: ' + s(pa3.name))
[?25l:[18C[?12l[?25hcb.append('pa4.name: ' + s(pa4.name))
[?25l:[18C[?12l[?25hcb.append('sa.name: ' + s(sa.name))
[?25l:[18C[?12l[?25hcb.append('psa1.name: ' + s(psa1.name))
[?25l:[18C[?12l[?25hcb.append('psa2.name: ' + s(psa2.name))
[?25l:[18C[?12l[?25hcb.append('psa3.name: ' + s(psa3.name))
[?25l:[18C[?12l[?25hcb.append('psa4.name: ' + s(psa4.name))
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hcb.append('a.auto_rebind: ' + s(a.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('pa1.auto_rebind: ' + s(pa1.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('pa2.auto_rebind: ' + s(pa2.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('pa3.auto_rebind: ' + s(pa3.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('pa4.auto_rebind: ' + s(pa4.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('sa.auto_rebind: ' + s(sa.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa1.auto_rebind: ' + s(psa1.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa2.auto_rebind: ' + s(psa2.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa3.auto_rebind: ' + s(psa3.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa4.auto_rebind: ' + s(psa4.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa5.auto_rebind: ' + s(psa5.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa6.auto_rebind: ' + s(psa6.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa7.auto_rebind: ' + s(psa7.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa8.auto_rebind: ' + s(psa8.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psa9.auto_rebind: ' + s(psa9.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psaA.auto_rebind: ' + s(psaA.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psaB.auto_rebind: ' + s(psaB.auto_rebind))
[?25l:[18C[?12l[?25hcb.append('psaC.auto_rebind: ' + s(psaC.auto_rebind))
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hdel s
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hdel a
[?25l:[18C[?12l[?25hdel pa1
[?25l:[18C[?12l[?25hdel pa2
[?25l:[18C[?12l[?25hdel pa3
[?25l:[18C[?12l[?25hdel pa4
[?25l:[18C[?12l[?25hdel sa
[?25l:[18C[?12l[?25hdel psa1
[?25l:[18C[?12l[?25hdel psa2
[?25l:[18C[?12l[?25hdel psa3
[?25l:[18C[?12l[?25hdel psa4
[?25l:[18C[?12l[?25hdel psa5
[?25l:[18C[?12l[?25hdel psa6
[?25l:[18C[?12l[?25hdel psa7
[?25l:[18C[?12l[?25hdel psa8
[?25l:[18C[?12l[?25hdel psa9
[?25l:[18C[?12l[?25hdel psaA
[?25l:[18C[?12l[?25hdel psaB
[?25l:[18C[?12l[?25hdel psaC
[?25l:[18C[?12l[?25hdel psar
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hdel ecall
[?25l:[18C[?12l[?25hEOF
[?25l:[18C[?12l[?25h:"
[?25l:[18C[?12l[?25h:" Test stdout/stderr
[?25l:[18C[?12l[?25h:redir => messages
[?25l:[18C[?12l[?25h:py3 sys.stdout.write('abc8') ; sys.stdout.write('def')
[?25l:[18C[?12l[?25h:py3 sys.stderr.write('abc9') ; sys.stderr.write('def')
[?25l:[18C[?12l[?25h:py3 sys.stdout.writelines(iter('abcA'))
[?25l:[18C[?12l[?25h:py3 sys.stderr.writelines(iter('abcB'))
[?25l:[18C[?12l[?25h:redir END
[?25l:[18C[?12l[?25h:$put =string(substitute(messages, '\d\+', '', 'g'))
[?25l:[18C[?12l[?25h:" Test subclassing
[?25l:[18C[?12l[?25h:fun Put(...)
[?25l:[20C[?12l[?25h: $put =string(a:000)
[?25l:[20C[?12l[?25h: return a:000
[?25l:[20C[?12l[?25h:endfun
[?25l:[20C[?12l[?25hpy3 << EOF
[?25l:[20C[?12l[?25hclass DupDict(vim.Dictionary):
[?25l:[20C[?12l[?25h def __setitem__(self, key, value):
[?25l:[20C[?12l[?25h super(DupDict, self).__setitem__(key, value)
[?25l:[20C[?12l[?25h super(DupDict, self).__setitem__('dup_' + key, val
[23;80Hu[24;1He)
[?25l:[20C[?12l[?25hdd = DupDict()
[?25l:[20C[?12l[?25hdd['a'] = 'b'
[?25l:[20C[?12l[?25h
[?25l:[20C[?12l[?25hclass DupList(vim.List):
[?25l:[20C[?12l[?25h def __getitem__(self, idx):
[?25l:[20C[?12l[?25h return [super(DupList, self).__getitem__(idx)] * 2
[?25l:[20C[?12l[?25h
[?25l:[20C[?12l[?25hdl = DupList()
[?25l:[20C[?12l[?25hdl2 = DupList(iter('abcC'))
[?25l:[20C[?12l[?25hdl.extend(dl2[0])
[?25l:[20C[?12l[?25h
[?25l:[20C[?12l[?25hclass DupFun(vim.Function):
[?25l:[20C[?12l[?25h def __call__(self, arg):
[?25l:[20C[?12l[?25h return super(DupFun, self).__call__(arg, arg)
[?25l:[20C[?12l[?25h
[?25l:[20C[?12l[?25hdf = DupFun('Put')
[?25l:[20C[?12l[?25hEOF
[?25l:[20C[?12l[?25h:$put =string(sort(keys(py3eval('dd'))))
[?25l:[20C[?12l[?25h:$put =string(py3eval('dl'))
[?25l:[20C[?12l[?25h:$put =string(py3eval('dl2'))
[?25l:[20C[?12l[?25h:$put =string(py3eval('df(2)'))
[?25l:[20C[?12l[?25h:$put =string(py3eval('dl') is# py3eval('dl'))
[?25l:[20C[?12l[?25h:$put =string(py3eval('dd') is# py3eval('dd'))
[?25l:[20C[?12l[?25h:$put =string(py3eval('df'))
[?25l:[20C[?12l[?25h:delfunction Put
[?25l:[20C[?12l[?25hpy3 << EOF
[?25l:[20C[?12l[?25hdel DupDict
[?25l:[20C[?12l[?25hdel DupList
[?25l:[20C[?12l[?25hdel DupFun
[?25l:[20C[?12l[?25hdel dd
[?25l:[20C[?12l[?25hdel dl
[?25l:[20C[?12l[?25hdel dl2
[?25l:[20C[?12l[?25hdel df
[?25l:[20C[?12l[?25hEOF
[?25l:[20C[?12l[?25h:"
[?25l:[20C[?12l[?25h:" Test chdir
[?25l:[20C[?12l[?25hpy3 << EOF
[?25l:[20C[?12l[?25himport os
[?25l:[20C[?12l[?25hfnamemodify = vim.Function('fnamemodify')
[?25l:[20C[?12l[?25hcb.append(str(fnamemodify('.', ':p:h:t')))
[?25l:[20C[?12l[?25hcb.append(vim.eval('@%'))
[?25l:[20C[?12l[?25hos.chdir('..')
[?25l:[20C[?12l[?25hpath = fnamemodify('.', ':p:h:t')
[?25l:[20C[?12l[?25hif path != b'src':
[?25l:[20C[?12l[?25h # Running tests from a shadow directory, so move up anot
[23;80Hh[24;1Her level
[?25l:[20C[?12l[?25h # This will result in @% looking like shadow/testdir/tes
[23;80Ht[24;1H87.in, hence the
[?25l:[20C[?12l[?25h # slicing to remove the leading path and path separator
[?25l:[20C[?12l[?25h os.chdir('..')
[?25l:[20C[?12l[?25h cb.append(str(fnamemodify('.', ':p:h:t')))
[?25l:[20C[?12l[?25h cb.append(vim.eval('@%')[len(path)+1:].replace(os.path.s
[23;80He[24;1Hp, '/'))
[?25l:[20C[?12l[?25h os.chdir(path)
[?25l:[20C[?12l[?25helse:
[?25l:[20C[?12l[?25h cb.append(str(fnamemodify('.', ':p:h:t')))
[?25l:[20C[?12l[?25h cb.append(vim.eval('@%').replace(os.path.sep, '/'))
[?25l:[20C[?12l[?25hdel path
[?25l:[20C[?12l[?25hos.chdir('testdir')
[?25l:[20C[?12l[?25hcb.append(str(fnamemodify('.', ':p:h:t')))
[?25l:[20C[?12l[?25hcb.append(vim.eval('@%'))
[?25l:[20C[?12l[?25hdel fnamemodify
[?25l:[20C[?12l[?25hEOF
[?25l:[20C[?12l[?25h:"
[?25l:[20C[?12l[?25h:" Test errors
[?25l:[20C[?12l[?25h:fun F() dict
[?25l:[22C[?12l[?25h:endfun
[?25l:[22C[?12l[?25h:fun D()
[?25l:[24C[?12l[?25h:endfun
[?25l:[24C[?12l[?25hpy3 << EOF
[?25l:[24C[?12l[?25hd = vim.Dictionary()
[?25l:[24C[?12l[?25hned = vim.Dictionary(foo='bar', baz='abcD')
[?25l:[24C[?12l[?25hdl = vim.Dictionary(a=1)
[?25l:[24C[?12l[?25hdl.locked = True
[?25l:[24C[?12l[?25hl = vim.List()
[?25l:[24C[?12l[?25hll = vim.List('abcE')
[?25l:[24C[?12l[?25hll.locked = True
[?25l:[24C[?12l[?25hnel = vim.List('abcO')
[?25l:[24C[?12l[?25hf = vim.Function('string')
[?25l:[24C[?12l[?25hfd = vim.Function('F')
[?25l:[24C[?12l[?25hfdel = vim.Function('D')
[?25l:[24C[?12l[?25hvim.command('delfunction D')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hdef subexpr_test(expr, name, subexprs):
[?25l:[24C[?12l[?25h cb.append('>>> Testing %s using %s' % (name, expr)
[23;80H)[24;1H
[?25l:[24C[?12l[?25h for subexpr in subexprs:
[?25l:[24C[?12l[?25h ee(expr % subexpr)
[?25l:[24C[?12l[?25h cb.append('<<< Finished')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hdef stringtochars_test(expr):
[?25l:[24C[?12l[?25h return subexpr_test(expr, 'StringToChars', (
[?25l:[24C[?12l[?25h '1', # Fail type checks
[?25l:[24C[?12l[?25h 'b"\\0"', # Fail PyString_AsStringAndSize(obj
[23;80He[24;1Hct, , NULL) check
[?25l:[24C[?12l[?25h '"\\0"', # Fail PyString_AsStringAndSize(byt
[23;80He[24;1Hs, , NULL) check
[?25l:[24C[?12l[?25h ))
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass Mapping(object):
[?25l:[24C[?12l[?25h def __init__(self, d):
[?25l:[24C[?12l[?25h self.d = d
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def __getitem__(self, key):
[?25l:[24C[?12l[?25h return self.d[key]
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def keys(self):
[?25l:[24C[?12l[?25h return self.d.keys()
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def items(self):
[?25l:[24C[?12l[?25h return self.d.items()
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hdef convertfrompyobject_test(expr, recurse=True):
[?25l:[24C[?12l[?25h # pydict_to_tv
[?25l:[24C[?12l[?25h stringtochars_test(expr % '{%s : 1}')
[?25l:[24C[?12l[?25h if recurse:
[?25l:[24C[?12l[?25h convertfrompyobject_test(expr % '{"abcF" : %s}
[23;80H'[24;1H, False)
[?25l:[24C[?12l[?25h # pymap_to_tv
[?25l:[24C[?12l[?25h stringtochars_test(expr % 'Mapping({%s : 1})')
[?25l:[24C[?12l[?25h if recurse:
[?25l:[24C[?12l[?25h convertfrompyobject_test(expr % 'Mapping({"abc
[23;80HG[24;1H" : %s})', False)
[?25l:[24C[?12l[?25h # pyseq_to_tv
[?25l:[24C[?12l[?25h iter_test(expr)
[?25l:[24C[?12l[?25h return subexpr_test(expr, 'ConvertFromPyObject', (
[?25l:[24C[?12l[?25h 'None', # Not conversible
[?25l:[24C[?12l[?25h '{b"": 1}', # Empty key not allowe
[23;80Hd[24;1H
[?25l:[24C[?12l[?25h '{"": 1}', # Same, but with unico
[23;80Hd[24;1He object
[?25l:[24C[?12l[?25h 'FailingMapping()', #
[?25l:[24C[?12l[?25h 'FailingMappingKey()', #
[?25l:[24C[?12l[?25h 'FailingNumber()', #
[?25l:[24C[?12l[?25h ))
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hdef convertfrompymapping_test(expr):
[?25l:[24C[?12l[?25h convertfrompyobject_test(expr)
[?25l:[24C[?12l[?25h return subexpr_test(expr, 'ConvertFromPyMapping',
[23;80H([24;1H
[?25l:[24C[?12l[?25h '[]',
[?25l:[24C[?12l[?25h ))
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hdef iter_test(expr):
[?25l:[24C[?12l[?25h return subexpr_test(expr, '*Iter*', (
[?25l:[24C[?12l[?25h 'FailingIter()',
[?25l:[24C[?12l[?25h 'FailingIterNext()',
[?25l:[24C[?12l[?25h ))
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hdef number_test(expr, natural=False, unsigned=False):
[?25l:[24C[?12l[?25h if natural:
[?25l:[24C[?12l[?25h unsigned = True
[?25l:[24C[?12l[?25h return subexpr_test(expr, 'NumberToLong', (
[?25l:[24C[?12l[?25h '[]',
[?25l:[24C[?12l[?25h 'None',
[?25l:[24C[?12l[?25h ) + (('-1',) if unsigned else ())
[?25l:[24C[?12l[?25h + (('0',) if natural else ()))
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingTrue(object):
[?25l:[24C[?12l[?25h def __bool__(self):
[?25l:[24C[?12l[?25h raise NotImplementedError('bool')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingIter(object):
[?25l:[24C[?12l[?25h def __iter__(self):
[?25l:[24C[?12l[?25h raise NotImplementedError('iter')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingIterNext(object):
[?25l:[24C[?12l[?25h def __iter__(self):
[?25l:[24C[?12l[?25h return self
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def __next__(self):
[?25l:[24C[?12l[?25h raise NotImplementedError('next')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingIterNextN(object):
[?25l:[24C[?12l[?25h def __init__(self, n):
[?25l:[24C[?12l[?25h self.n = n
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def __iter__(self):
[?25l:[24C[?12l[?25h return self
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def __next__(self):
[?25l:[24C[?12l[?25h if self.n:
[?25l:[24C[?12l[?25h self.n -= 1
[?25l:[24C[?12l[?25h return 1
[?25l:[24C[?12l[?25h else:
[?25l:[24C[?12l[?25h raise NotImplementedError('next N')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingMappingKey(object):
[?25l:[24C[?12l[?25h def __getitem__(self, item):
[?25l:[24C[?12l[?25h raise NotImplementedError('getitem:mappingkey'
[23;80H)[24;1H
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def keys(self):
[?25l:[24C[?12l[?25h return list("abcH")
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingMapping(object):
[?25l:[24C[?12l[?25h def __getitem__(self):
[?25l:[24C[?12l[?25h raise NotImplementedError('getitem:mapping')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25h def keys(self):
[?25l:[24C[?12l[?25h raise NotImplementedError('keys')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingList(list):
[?25l:[24C[?12l[?25h def __getitem__(self, idx):
[?25l:[24C[?12l[?25h if i == 2:
[?25l:[24C[?12l[?25h raise NotImplementedError('getitem:list')
[?25l:[24C[?12l[?25h else:
[?25l:[24C[?12l[?25h return super(FailingList, self).__getitem_
[23;80H_[24;1H(idx)
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass NoArgsCall(object):
[?25l:[24C[?12l[?25h def __call__(self):
[?25l:[24C[?12l[?25h pass
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingCall(object):
[?25l:[24C[?12l[?25h def __call__(self, path):
[?25l:[24C[?12l[?25h raise NotImplementedError('call')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hclass FailingNumber(object):
[?25l:[24C[?12l[?25h def __int__(self):
[?25l:[24C[?12l[?25h raise NotImplementedError('int')
[?25l:[24C[?12l[?25h
[?25l:[24C[?12l[?25hcb.append("> Output")
[?25l:[24C[?12l[?25hcb.append(">> OutputSetattr")
[?25l:[24C[?12l[?25hee('del sys.stdout.softspace')
[?25l:[24C[?12l[?25hnumber_test('sys.stdout.softspace = %s', unsigned=True
[23;80H)[24;1H
[?25l:[24C[?12l[?25hnumber_test('sys.stderr.softspace = %s', unsigned=True
[23;80H)[24;1H
[?25l:[24C[?12l[?25hee('assert sys.stdout.isatty()==False')
[?25l:[24C[?12l[?25hee('assert sys.stdout.seekable()==False')
[?25l:[24C[?12l[?25hee('sys.stdout.close()')
[?25l:[24C[?12l[?25hee('sys.stdout.flush()')
[?25l:[24C[?12l[?25hee('assert sys.stderr.isatty()==False')
[?25l:[24C[?12l[?25hee('assert sys.stderr.seekable()==False')
[?25l:[24C[?12l[?25hee('sys.stderr.close()')
[?25l:[24C[?12l[?25hee('sys.stderr.flush()')
[?25l:[24C[?12l[?25hee('sys.stdout.attr = None')
[?25l:[24C[?12l[?25hcb.append(">> OutputWrite")
[?25l:[24C[?12l[?25hee('assert sys.stdout.writable()==True')
[?25l:[24C[?12l[?25hee('assert sys.stdout.readable()==False')
[?25l:[24C[?12l[?25hee('assert sys.stderr.writable()==True')
[?25l:[24C[?12l[?25hee('assert sys.stderr.readable()==False')
[?25l:[24C[?12l[?25hee('assert sys.stdout.closed()==False')
[?25l:[24C[?12l[?25hee('assert sys.stderr.closed()==False')
[?25l:[24C[?12l[?25hee('assert sys.stdout.errors=="strict"')
[?25l:[24C[?12l[?25hee('assert sys.stderr.errors=="strict"')
[?25l:[24C[?12l[?25hee('assert sys.stdout.encoding==sys.stderr.encoding')
[?25l:[24C[?12l[?25hee('sys.stdout.write(None)')
[?25l:[24C[?12l[?25hcb.append(">> OutputWriteLines")
[?25l:[24C[?12l[?25hee('sys.stdout.writelines(None)')
[?25l:[24C[?12l[?25hee('sys.stdout.writelines([1])')
[?25l:[24C[?12l[?25hiter_test('sys.stdout.writelines(%s)')
[?25l:[24C[?12l[?25hcb.append("> VimCommand")
[?25l:[24C[?12l[?25hstringtochars_test('vim.command(%s)')
[?25l:[24C[?12l[?25hee('vim.command("", 2)')
[?25l:[24C[?12l[?25h#! Not checked: vim->python exceptions translating: ch
[23;80He[24;1Hcked later
[?25l:[24C[?12l[?25hcb.append("> VimToPython")
[?25l:[24C[?12l[?25h#! Not checked: everything: needs errors in internal p
[23;80Hy[24;1Hthon functions
[?25l:[24C[?12l[?25hcb.append("> VimEval")
[?25l:[24C[?12l[?25hstringtochars_test('vim.eval(%s)')
[?25l:[24C[?12l[?25hee('vim.eval("", FailingTrue())')
[?25l:[24C[?12l[?25h#! Not checked: everything: needs errors in internal p
[23;80Hy[24;1Hthon functions
[?25l:[24C[?12l[?25hcb.append("> VimEvalPy")
[?25l:[24C[?12l[?25hstringtochars_test('vim.bindeval(%s)')
[?25l:[24C[?12l[?25hee('vim.eval("", 2)')
[?25l:[24C[?12l[?25h#! Not checked: vim->python exceptions translating: ch
[23;80He[24;1Hcked later
[?25l:[24C[?12l[?25hcb.append("> VimStrwidth")
[?25l:[24C[?12l[?25hstringtochars_test('vim.strwidth(%s)')
[?25l:[24C[?12l[?25hcb.append("> VimForeachRTP")
[?25l:[24C[?12l[?25hee('vim.foreach_rtp(None)')
[?25l:[24C[?12l[?25hee('vim.foreach_rtp(NoArgsCall())')
[?25l:[24C[?12l[?25hee('vim.foreach_rtp(FailingCall())')
[?25l:[24C[?12l[?25hee('vim.foreach_rtp(int, 2)')
[?25l:[24C[?12l[?25hcb.append('> import')
[?25l:[24C[?12l[?25hold_rtp = vim.options['rtp']
[?25l:[24C[?12l[?25hvim.options['rtp'] = os.getcwd().replace('\\', '\\\\')
[23;80H.[24;1Hreplace(',', '\\,')
[?25l:[24C[?12l[?25hee('import xxx_no_such_module_xxx')
[?25l:[24C[?12l[?25hee('import failing_import')
[?25l:[24C[?12l[?25hee('import failing')
[?25l:[24C[?12l[?25hvim.options['rtp'] = old_rtp
[?25l:[24C[?12l[?25hdel old_rtp
[?25l:[24C[?12l[?25hcb.append("> Options")
[?25l:[24C[?12l[?25hcb.append(">> OptionsItem")
[?25l:[24C[?12l[?25hee('vim.options["abcQ"]')
[?25l:[24C[?12l[?25hee('vim.options[""]')
[?25l:[24C[?12l[?25hstringtochars_test('vim.options[%s]')
[?25l:[24C[?12l[?25hcb.append(">> OptionsContains")
[?25l:[24C[?12l[?25hstringtochars_test('%s in vim.options')
[?25l:[24C[?12l[?25hcb.append("> Dictionary")
[?25l:[24C[?12l[?25hcb.append(">> DictionaryConstructor")
[?25l:[24C[?12l[?25hee('vim.Dictionary("abcI")')
[?25l:[24C[?12l[?25h##! Not checked: py_dict_alloc failure
[?25l:[24C[?12l[?25hcb.append(">> DictionarySetattr")
[?25l:[24C[?12l[?25hee('del d.locked')
[?25l:[24C[?12l[?25hee('d.locked = FailingTrue()')
[?25l:[24C[?12l[?25hee('vim.vvars.locked = False')
[?25l:[24C[?12l[?25hee('d.scope = True')
[?25l:[24C[?12l[?25hee('d.xxx = True')
[?25l:[24C[?12l[?25hcb.append(">> _DictionaryItem")
[?25l:[24C[?12l[?25hee('d.get("a", 2, 3)')
[?25l:[24C[?12l[?25hstringtochars_test('d.get(%s)')
[?25l:[24C[?12l[?25hee('d.pop("a")')
[?25l:[24C[?12l[?25hee('dl.pop("a")')
[?25l:[24C[?12l[?25hcb.append(">> DictionaryContains")
[?25l:[24C[?12l[?25hee('"" in d')
[?25l:[24C[?12l[?25hee('0 in d')
[?25l:[24C[?12l[?25hcb.append(">> DictionaryIterNext")
[?25l:[24C[?12l[?25hee('for i in ned: ned["a"] = 1')
[?25l:[24C[?12l[?25hdel i
[?25l:[24C[?12l[?25hcb.append(">> DictionaryAssItem")
[?25l:[24C[?12l[?25hee('dl["b"] = 1')
[?25l:[24C[?12l[?25hstringtochars_test('d[%s] = 1')
[?25l:[24C[?12l[?25hconvertfrompyobject_test('d["a"] = %s')
[?25l:[24C[?12l[?25hcb.append(">> DictionaryUpdate")
[?25l:[24C[?12l[?25hcb.append(">>> kwargs")
[?25l:[24C[?12l[?25hcb.append(">>> iter")
[?25l:[24C[?12l[?25hee('d.update(FailingMapping())')
[?25l:[24C[?12l[?25hee('d.update([FailingIterNext()])')
[?25l:[24C[?12l[?25hee('d.update([FailingIterNextN(1)])')
[?25l:[24C[?12l[?25hiter_test('d.update(%s)')
[?25l:[24C[?12l[?25hconvertfrompyobject_test('d.update(%s)')
[?25l:[24C[?12l[?25hstringtochars_test('d.update(((%s, 0),))')
[?25l:[24C[?12l[?25hconvertfrompyobject_test('d.update((("a", %s),))')
[?25l:[24C[?12l[?25hcb.append(">> DictionaryPopItem")
[?25l:[24C[?12l[?25hee('d.popitem(1, 2)')
[?25l:[24C[?12l[?25hcb.append(">> DictionaryHasKey")
[?25l:[24C[?12l[?25hee('d.has_key()')
[?25l:[24C[?12l[?25hcb.append("> List")
[?25l:[24C[?12l[?25hcb.append(">> ListConstructor")
[?25l:[24C[?12l[?25hee('vim.List(1, 2)')
[?25l:[24C[?12l[?25hee('vim.List(a=1)')
[?25l:[24C[?12l[?25hiter_test('vim.List(%s)')
[?25l:[24C[?12l[?25hconvertfrompyobject_test('vim.List([%s])')
[?25l:[24C[?12l[?25hcb.append(">> ListItem")
[?25l:[24C[?12l[?25hee('l[1000]')
[?25l:[24C[?12l[?25hcb.append(">> ListAssItem")
[?25l:[24C[?12l[?25hee('ll[1] = 2')
[?25l:[24C[?12l[?25hee('l[1000] = 3')
[?25l:[24C[?12l[?25hcb.append(">> ListAssSlice")
[?25l:[24C[?12l[?25hee('ll[1:100] = "abcJ"')
[?25l:[24C[?12l[?25hiter_test('l[:] = %s')
[?25l:[24C[?12l[?25hee('nel[1:10:2] = "abcK"')
[?25l:[24C[?12l[?25hcb.append(repr(tuple(nel)))
[?25l:[24C[?12l[?25hee('nel[1:10:2] = "a"')
[?25l:[24C[?12l[?25hcb.append(repr(tuple(nel)))
[?25l:[24C[?12l[?25hee('nel[1:1:-1] = "a"')
[?25l:[24C[?12l[?25hcb.append(repr(tuple(nel)))
[?25l:[24C[?12l[?25hee('nel[:] = FailingIterNextN(2)')
[?25l:[24C[?12l[?25hcb.append(repr(tuple(nel)))
[?25l:[24C[?12l[?25hconvertfrompyobject_test('l[:] = [%s]')
[?25l:[24C[?12l[?25hcb.append(">> ListConcatInPlace")
[?25l:[24C[?12l[?25hiter_test('l.extend(%s)')
[?25l:[24C[?12l[?25hconvertfrompyobject_test('l.extend([%s])')
[?25l:[24C[?12l[?25hcb.append(">> ListSetattr")
[?25l:[24C[?12l[?25hee('del l.locked')
[?25l:[24C[?12l[?25hee('l.locked = FailingTrue()')
[?25l:[24C[?12l[?25hee('l.xxx = True')
[?25l:[24C[?12l[?25hcb.append("> Function")
[?25l:[24C[?12l[?25hcb.append(">> FunctionConstructor")
[?25l:[24C[?12l[?25hcb.append(">>> FunctionConstructor")
[?25l:[24C[?12l[?25hee('vim.Function("123")')
[?25l:[24C[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx")')
[?25l:[24C[?12l[?25hee('vim.Function("xxx#non#existent#function#xxx")')
[?25l:[24C[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx2", arg
[23;80Hs[24;1H=[])')
[?25l:[24C[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx3", sel
[23;80Hf[24;1H={})')
[?25l:[24C[?12l[?25hee('vim.Function("xxx_non_existent_function_xxx4", arg
[23;80Hs[24;1H=[], self={})')
[?25l:[24C[?12l[?25hcb.append(">>> FunctionNew")
[?25l:[24C[?12l[?25hee('vim.Function("tr", self="abcFuncSelf")')
[?25l:[24C[?12l[?25hee('vim.Function("tr", args=427423)')
[?25l:[24C[?12l[?25hee('vim.Function("tr", self="abcFuncSelf2", args="abcF
[23;80Hu[24;1HncArgs2")')
[?25l:[24C[?12l[?25hee('vim.Function(self="abcFuncSelf2", args="abcFuncArg
[23;80Hs[24;1H2")')
[?25l:[24C[?12l[?25hee('vim.Function("tr", "", self="abcFuncSelf2", args="
[23;80Ha[24;1HbcFuncArgs2")')
[?25l:[24C[?12l[?25hee('vim.Function("tr", "")')
[?25l:[24C[?12l[?25hcb.append(">> FunctionCall")
[?25l:[24C[?12l[?25hconvertfrompyobject_test('f(%s)')
[?25l:[24C[?12l[?25hconvertfrompymapping_test('fd(self=%s)')
[?25l:[24C[?12l[?25hcb.append("> TabPage")
[?25l:[24C[?12l[?25hcb.append(">> TabPageAttr")
[?25l:[24C[?12l[?25hee('vim.current.tabpage.xxx')
[?25l:[24C[?12l[?25hcb.append("> TabList")
[?25l:[24C[?12l[?25hcb.append(">> TabListItem")
[?25l:[24C[?12l[?25hee('vim.tabpages[1000]')
[?25l:[24C[?12l[?25hcb.append("> Window")
[?25l:[24C[?12l[?25hcb.append(">> WindowAttr")
[?25l:[24C[?12l[?25hee('vim.current.window.xxx')
[?25l:[24C[?12l[?25hcb.append(">> WindowSetattr")
[?25l:[24C[?12l[?25hee('vim.current.window.buffer = 0')
[?25l:[24C[?12l[?25hee('vim.current.window.cursor = (100000000, 100000000)
[23;80H'[24;1H)
[?25l:[24C[?12l[?25hee('vim.current.window.cursor = True')
[?25l:[24C[?12l[?25hnumber_test('vim.current.window.height = %s', unsigned
[23;80H=[24;1HTrue)
[?25l:[24C[?12l[?25hnumber_test('vim.current.window.width = %s', unsigned=
[23;80HT[24;1Hrue)
[?25l:[24C[?12l[?25hee('vim.current.window.xxxxxx = True')
[?25l:[24C[?12l[?25hcb.append("> WinList")
[?25l:[24C[?12l[?25hcb.append(">> WinListItem")
[?25l:[24C[?12l[?25hee('vim.windows[1000]')
[?25l:[24C[?12l[?25hcb.append("> Buffer")
[?25l:[24C[?12l[?25hcb.append(">> StringToLine (indirect)")
[?25l:[24C[?12l[?25hee('vim.current.buffer[0] = "\\na"')
[?25l:[24C[?12l[?25hee('vim.current.buffer[0] = b"\\na"')
[?25l:[24C[?12l[?25hcb.append(">> SetBufferLine (indirect)")
[?25l:[24C[?12l[?25hee('vim.current.buffer[0] = True')
[?25l:[24C[?12l[?25hcb.append(">> SetBufferLineList (indirect)")
[?25l:[24C[?12l[?25hee('vim.current.buffer[:] = True')
[?25l:[24C[?12l[?25hee('vim.current.buffer[:] = ["\\na", "bc"]')
[?25l:[24C[?12l[?25hcb.append(">> InsertBufferLines (indirect)")
[?25l:[24C[?12l[?25hee('vim.current.buffer.append(None)')
[?25l:[24C[?12l[?25hee('vim.current.buffer.append(["\\na", "bc"])')
[?25l:[24C[?12l[?25hee('vim.current.buffer.append("\\nbc")')
[?25l:[24C[?12l[?25hcb.append(">> RBItem")
[?25l:[24C[?12l[?25hee('vim.current.buffer[100000000]')
[?25l:[24C[?12l[?25hcb.append(">> RBAsItem")
[?25l:[24C[?12l[?25hee('vim.current.buffer[100000000] = ""')
[?25l:[24C[?12l[?25hcb.append(">> BufferAttr")
[?25l:[24C[?12l[?25hee('vim.current.buffer.xxx')
[?25l:[24C[?12l[?25hcb.append(">> BufferSetattr")
[?25l:[24C[?12l[?25hee('vim.current.buffer.name = True')
[?25l:[24C[?12l[?25hee('vim.current.buffer.xxx = True')
[?25l:[24C[?12l[?25hcb.append(">> BufferMark")
[?25l:[24C[?12l[?25hee('vim.current.buffer.mark(0)')
[?25l:[24C[?12l[?25hee('vim.current.buffer.mark("abcM")')
[?25l:[24C[?12l[?25hee('vim.current.buffer.mark("!")')
[?25l:[24C[?12l[?25hcb.append(">> BufferRange")
[?25l:[24C[?12l[?25hee('vim.current.buffer.range(1, 2, 3)')
[?25l:[24C[?12l[?25hcb.append("> BufMap")
[?25l:[24C[?12l[?25hcb.append(">> BufMapItem")
[?25l:[24C[?12l[?25hee('vim.buffers[100000000]')
[?25l:[24C[?12l[?25hnumber_test('vim.buffers[%s]', natural=True)
[?25l:[24C[?12l[?25hcb.append("> Current")
[?25l:[24C[?12l[?25hcb.append(">> CurrentGetattr")
[?25l:[24C[?12l[?25hee('vim.current.xxx')
[?25l:[24C[?12l[?25hcb.append(">> CurrentSetattr")
[?25l:[24C[?12l[?25hee('vim.current.line = True')
[?25l:[24C[?12l[?25hee('vim.current.buffer = True')
[?25l:[24C[?12l[?25hee('vim.current.window = True')
[?25l:[24C[?12l[?25hee('vim.current.tabpage = True')
[?25l:[24C[?12l[?25hee('vim.current.xxx = True')
[?25l:[24C[?12l[?25hdel d
[?25l:[24C[?12l[?25hdel ned
[?25l:[24C[?12l[?25hdel dl
[?25l:[24C[?12l[?25hdel l
[?25l:[24C[?12l[?25hdel ll
[?25l:[24C[?12l[?25hdel nel
[?25l:[24C[?12l[?25hdel f
[?25l:[24C[?12l[?25hdel fd
[?25l:[24C[?12l[?25hdel fdel
[?25l:[24C[?12l[?25hdel subexpr_test
[?25l:[24C[?12l[?25hdel stringtochars_test
[?25l:[24C[?12l[?25hdel Mapping
[?25l:[24C[?12l[?25hdel convertfrompyobject_test
[?25l:[24C[?12l[?25hdel convertfrompymapping_test
[?25l:[24C[?12l[?25hdel iter_test
[?25l:[24C[?12l[?25hdel number_test
[?25l:[24C[?12l[?25hdel FailingTrue
[?25l:[24C[?12l[?25hdel FailingIter
[?25l:[24C[?12l[?25hdel FailingIterNext
[?25l:[24C[?12l[?25hdel FailingIterNextN
[?25l:[24C[?12l[?25hdel FailingMapping
[?25l:[24C[?12l[?25hdel FailingMappingKey
[?25l:[24C[?12l[?25hdel FailingList
[?25l:[24C[?12l[?25hdel NoArgsCall
[?25l:[24C[?12l[?25hdel FailingCall
[?25l:[24C[?12l[?25hdel FailingNumber
[?25l:[24C[?12l[?25hEOF
[?25l:[24C[?12l[?25h:delfunction F
[?25l:[24C[?12l[?25h:"
[?25l:[24C[?12l[?25h:" Test import
[?25l:[24C[?12l[?25hpy3 << EOF
[?25l:[24C[?12l[?25hsys.path.insert(0, os.path.join(os.getcwd(), 'python_b
[23;80He[24;1Hfore'))
[?25l:[24C[?12l[?25hsys.path.append(os.path.join(os.getcwd(), 'python_afte
[23;80Hr[24;1H'))
[?25l:[24C[?12l[?25hvim.options['rtp'] = os.getcwd().replace(',', '\\,').r
[23;80He[24;1Hplace('\\', '\\\\')
[?25l:[24C[?12l[?25hl = []
[?25l:[24C[?12l[?25hdef callback(path):
[?25l:[24C[?12l[?25h l.append(os.path.relpath(path))
[?25l:[24C[?12l[?25hvim.foreach_rtp(callback)
[?25l:[24C[?12l[?25hcb.append(repr(l))
[?25l:[24C[?12l[?25hdel l
[?25l:[24C[?12l[?25hdef callback(path):
[?25l:[24C[?12l[?25h return os.path.relpath(path)
[?25l:[24C[?12l[?25hcb.append(repr(vim.foreach_rtp(callback)))
[?25l:[24C[?12l[?25hdel callback
[?25l:[24C[?12l[?25hfrom module import dir as d
[?25l:[24C[?12l[?25hfrom modulex import ddir
[?25l:[24C[?12l[?25hcb.append(d + ',' + ddir)
[?25l:[24C[?12l[?25himport before
[?25l:[24C[?12l[?25hcb.append(before.dir)
[?25l:[24C[?12l[?25himport after
[?25l:[24C[?12l[?25hcb.append(after.dir)
[?25l:[24C[?12l[?25himport topmodule as tm
[?25l:[24C[?12l[?25himport topmodule.submodule as tms
[?25l:[24C[?12l[?25himport topmodule.submodule.subsubmodule.subsubsubmodul
[23;80He[24;1H as tmsss
[?25l:[24C[?12l[?25hcb.append(tm.__file__.replace(os.path.sep, '/')[-len('
[23;80Hm[24;1Hodulex/topmodule/__init__.py'):])
[?25l:[24C[?12l[?25hcb.append(tms.__file__.replace(os.path.sep, '/')[-len(
[23;80H'[24;1Hmodulex/topmodule/submodule/__init__.py'):])
[?25l:[24C[?12l[?25hcb.append(tmsss.__file__.replace(os.path.sep, '/')[-le
[23;80Hn[24;1H('modulex/topmodule/submodule/subsubmodule/subsubsubmodule.py'):])
[?25l:[24C[?12l[?25hdel before
[?25l:[24C[?12l[?25hdel after
[?25l:[24C[?12l[?25hdel d
[?25l:[24C[?12l[?25hdel ddir
[?25l:[24C[?12l[?25hdel tm
[?25l:[24C[?12l[?25hdel tms
[?25l:[24C[?12l[?25hdel tmsss
[?25l:[24C[?12l[?25hEOF
[?25l:[24C[?12l[?25h:"
[?25l:[24C[?12l[?25h:" Test exceptions
[?25l:[24C[?12l[?25h:fun Exe(e)
[?25l:[26C[?12l[?25h: execute a:e
[?25l:[26C[?12l[?25h:endfun
[?25l:[26C[?12l[?25hpy3 << EOF
[?25l:[26C[?12l[?25hExe = vim.bindeval('function("Exe")')
[?25l:[26C[?12l[?25hee('vim.command("throw \'abcN\'")')
[?25l:[26C[?12l[?25hee('Exe("throw \'def\'")')
[?25l:[26C[?12l[?25hee('vim.eval("Exe(\'throw \'\'ghi\'\'\')")')
[?25l:[26C[?12l[?25hee('vim.eval("Exe(\'echoerr \'\'jkl\'\'\')")')
[?25l:[26C[?12l[?25hee('vim.eval("Exe(\'xxx_non_existent_command_xxx\')"
[23;80H)[24;1H')
[?25l:[26C[?12l[?25hee('vim.eval("xxx_unknown_function_xxx()")')
[?25l:[26C[?12l[?25hee('vim.bindeval("Exe(\'xxx_non_existent_command_xxx
[23;80H\[24;1H')")')
[?25l:[26C[?12l[?25hdel Exe
[?25l:[26C[?12l[?25hEOF
[?25l:[26C[?12l[?25h:delfunction Exe
[?25l:[26C[?12l[?25h:"
[?25l:[26C[?12l[?25h:" Regression: interrupting vim.command propagates t
[23;80Ho[24;1H next vim.command
[?25l:[26C[?12l[?25hpy3 << EOF
[?25l:[26C[?12l[?25hdef test_keyboard_interrupt():
[?25l:[26C[?12l[?25h try:
[?25l:[26C[?12l[?25h vim.command('while 1 | endwhile')
[?25l:[26C[?12l[?25h except KeyboardInterrupt:
[?25l:[26C[?12l[?25h cb.append('Caught KeyboardInterrupt')
[?25l:[26C[?12l[?25h except Exception:
[?25l:[26C[?12l[?25h cb.append('!!!!!!!! Caught exception: ' + em
[23;80Hs[24;1Hg(sys.exc_info()))
[?25l:[26C[?12l[?25h else:
[?25l:[26C[?12l[?25h cb.append('!!!!!!!! No exception')
[?25l:[26C[?12l[?25h try:
[?25l:[26C[?12l[?25h vim.command('$ put =\'Running :put\'')
[?25l:[26C[?12l[?25h except KeyboardInterrupt:
[?25l:[26C[?12l[?25h cb.append('!!!!!!!! Caught KeyboardInterrupt
[23;80H'[24;1H)
[?25l:[26C[?12l[?25h except Exception:
[?25l:[26C[?12l[?25h cb.append('!!!!!!!! Caught exception: ' + em
[23;80Hs[24;1Hg(sys.exc_info()))
[?25l:[26C[?12l[?25h else:
[?25l:[26C[?12l[?25h cb.append('No exception')
[?25l:[26C[?12l[?25hEOF
[?25l:[26C[?12l[?25h:debuggreedy
[?25l:[26C[?12l[?25h:call inputsave()
[?25l:[26C[?12l[?25h:call feedkeys("s\ns\ns\ns\nq\n")
[?25l:[26C[?12l[?25h:redir => output
[?25l:[26C[?12l[?25h:debug silent! py3 test_keyboard_interrupt()
[?25l:[26C[?12l[?25h:redir END
[?25l:[26C[?12l[?25h:0 debuggreedy
[?25l:[26C[?12l[?25h:call inputrestore()
[?25l:[26C[?12l[?25h:silent $put =output
[?25l:[26C[?12l[?25h:unlet output
[?25l:[26C[?12l[?25h:py3 del test_keyboard_interrupt
[?25l:[26C[?12l[?25h:"
[?25l:[26C[?12l[?25h:" Cleanup
[?25l:[26C[?12l[?25hpy3 << EOF
[?25l:[26C[?12l[?25hdel cb
[?25l:[26C[?12l[?25hdel ee
[?25l:[26C[?12l[?25hdel emsg
[?25l:[26C[?12l[?25hdel sys
[?25l:[26C[?12l[?25hdel os
[?25l:[26C[?12l[?25hdel vim
[?25l:[26C[?12l[?25hEOF
[?25l:[26C[?12l[?25h:endfun
[27m[23m[m[H[2J[?25l[1;1H: call Test()
: if i == 0
:[7Clet 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:[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[17L[?25l[1;1H: call Test()
: if i == 0
:[7Clet 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[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall RunTest()
[?25l8 more lin[24;13H[K[24;1H
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
[1m[37m[41mError detected while processing function RunTest[8]..Test:[m
[33mline 1106:[m
[1m[37m[41mabc9def[m
abcA
[33mline 1108:[m
[1m[37m[41mabcB[m
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
[27m[23m[m[H[2J[1;1H['.']
'.'
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[13;1H',))
vim.eval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error('Vimm[15;1H:E492: Not an editor command: xxx_non_existent_command_xxx',))
vim.eval("xxx_unknown_function_xxx()"):(<class 'vim.error'>, error('Vim:E117: Unn[17;1Hknown function: xxx_unknown_function_xxx',))
vim.bindeval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error(([19;1H'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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction RunTest
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction Test
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test12.in" 52 lines, 1199 characters[1;1HTests 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/[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for 'directory' option.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 40 lines, 965 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:!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[18;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset dir=.,~
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/start of testfile/,/end of testfile/w! Xtest1
[?25l"Xtest1" [24;10H[K[24;10H[New] 4L, 70C written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" do an ls of the current dir to find the swap file (should not be there)
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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=[24;1H
[?25l: :[?12l[?25helse
[?25l: [?12l[?25h: r !ls X*.swp >test.out
[?25l: [?12l[?25h:endif
[?25l[24;1H[K[24;1H:[?12l[?25h!echo first line >>test.out
[?25l[28C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25he Xtest1
[?25l"Xtest1" 4L, 70C[27m[23m[m[H[2J[1;1Hstart of testfile
line 2 Abcdefghij
line 3 Abcdefghij
end of testfile
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H"Xtest1" 4L, 70C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[m
[?25l: [?12l[?25h: s/\.*X/X/
[?25l: [?12l[?25h: .w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 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
[27m[23m[m[H[2J[?25l[1;1Hstart of testfile
line 2 Abcdefghij
line 3 Abcdefghij
end of testfile
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h!echo under Xtest1.swp >>test.out
[?25l[34C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir Xtest2
[?25l[14C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25hset dir=./Xtest2,.,~
[?25l[27m[23m[m[H[2J[1;1Hstart of testfile
line 2 Abcdefghij
line 3 Abcdefghij
end of testfile
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25he Xtest1
[?25l"Xtest1" 4L, 70C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!ls X*.swp >>test.out
[?25l[22C[?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[24;1H[K[24;1H:[?12l[?25h!echo under under >>test.out
[?25l[29C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!ls Xtest2 >>test.out
[?25l[22C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!echo under Xtest1.swp >>test.out
[?25l[34C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir Xtest.je
[?25l[16C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h/start of testfile/,/end of testfile/w! Xtest2/Xtest3
[?25l[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[24;1H"Xtest2/Xtest3" [24;17H[K[24;17H[New] 4L, 70C written[27m[23m[m[H[2J[1;1Hstart of testfile
line 2 Abcdefghij
line 3 Abcdefghij
end of testfile
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H"Xtest2/Xtest3" [New] 4L, 70C written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset dir=Xtest.je,~
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtest2/Xtest3
[?25l"Xtest2/Xtest3" 4L, 70C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hswap
[?25lXtest.je/Xtest3.swp[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!ls Xtest2 >>test.out
[?25l[22C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!echo under Xtest3 >>test.out
[?25l[30C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!ls Xtest.je >>test.out
[?25l[24C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!echo under Xtest3.swp >>test.out
[?25l[34C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test25.in" 31 lines, 840 characters[1;1HTest 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[34m^][m x:.w! test.out
:!rm -f test25.dir tags.test
:qa!
ENDTEST[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for jumping to a tag with 'hidden' set, with symbolic link in path of tag.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 540 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Create a link from test25.dir to the current directory.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!rm -f test25.dir
[?25l[18C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!ln -s . test25.dir
[?25l[20C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h" Create tags.text, with the current directory name inserted.
[?25l[27m[23m[m[H[2J[1;1HTest 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[34m^][m x:.w! test.out
:!rm -f test25.dir tags.test
:qa!
ENDTEST
[?12l[?25h[?25l
/[?12l[?25htags line
[?25l[1;2Hhis only works for Unix, because of the symbolic link.[1;56H[K[2;1H[K[3;1HSTARTTEST
:so small.vim
:set hidden[5;12H[K[6;2H" Create a link from test25.dir to the current directory.
:!rm -f test25.dir[7;19H[K[8;3Hln -s . test25.dir
:" Create tags.text, with the current directory name inserted.
/tags line[10;11H[K[11;1H:r !pwd[11;8H[K[12;1Hd$/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[17;20H[K[18;1HG[34m^][m x:.w! test.out[18;19H[K[19;1H:!rm -f test25.dir tags.test
:qa![20;6H[K[21;1HENDTEST[22;1H[K[23;1Htags line:
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hr !pwd
[?25l[?12l[?25h[27m[23m[m[H[2J[?25l[2;1HSTARTTEST
: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[34m^][m x:.w! test.out
:!rm -f test25.dir tags.test
:qa!
ENDTEST
tags line:
/<<PKGBUILDDIR>>/src/vim-gtk3/testdir
[?12l[?25h[?25l[23;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25htest
[?25l[1;23r[23;1H
[1;24r[23;1HSECTION_OFF /test25.dir/test25.in /^#define SECTION_OFF 3$/[24;1H[K[23;18H[?12l[?25h[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test25.dir/t[23;1H[1m[34m@ [1;23r[m[23;1H
[1;24r[22;1HSECTION_OFF /<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test25.dir/tt[23;1Hest25.in[8C/^#define SECTION_OFF 3$/[22;67H[?12l[?25h[?25l
:[?12l[?25h.w! tags.test
[?25l"tags.test" [24;13H[K[24;13H[New File] 1 line, 113 characters written[22;67H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Try jumping to a tag in the current file, but with a path that contains a
[?25l[22;67H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" symbolic link. When wrong, this will give the ATTENTION message. The next
[?25l[22;67H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" space will then be eaten by hit-return, instead of moving the cursor to 'd'.
[?25l[22;67H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tags=tags.test
[?25l[22;67H[?12l[?25h[?25l[1;23r[1;1H[6M[1;24r[19;1H/*tx.c*/
#define SECTION_OFF 3
#define NUM_SECTIONS 3
SECTION_OFF[24;1H[K[23;1H[?12l[?25h[20;1H#[?25lefine SECTION_OFF 3[20;23H[K[20;2H[?12l[?25h[?25l[24;1H:[?12l[?25h.w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 23 characters written[20;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!rm -f test25.dir tags.test
[?25l[28C[?1l>[?12l[?25h[?1049l
[No write since last change]
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test49.in" 32 lines, 705 characters[1;1HThis 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HThis is a test of the script language.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 23 lines, 475 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[7M[1;24r[17;1H:endfor
:for v in keys(g:)
: silent! exe "unlet " . v
:endfor
:unlet v
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hse nocp nomore viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang mess C
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso test49.vim
[?25l[1m[37m[41mError detected while processing function F:[m
[33mline 5:[m
[1m[37m[41mE583: multiple :else: else^I^I[m
[1m[37m[41mError detected while processing function G:[m
[33mline 5:[m
[1m[37m[41mE584: :elseif after :else: elseif 1^I^I" aborts function[m
[1m[37m[41mError detected while processing function H:[m
[33mline 7:[m
[1m[37m[41mE583: multiple :else: else^I^I[m
[1m[37m[41mError detected while processing function I:[m
[33mline 7:[m
[1m[37m[41mE584: :elseif after :else: elseif 1^I^I" aborts function[m
*** Test 16: OK (8722)
[1m[37m[41mError detected while processing function F:[m
[33mline 18:[m
[1m[37m[41mE171: Missing :endif: endwhile^I[m
[1m[37m[41mE171: Missing :endif: endwhile^I[m
[33mline 34:[m
[1m[37m[41mE171: Missing :endif: endwhile^I[m
[1m[37m[41mE171: Missing :endif: endwhile^I[m
[1m[37m[41mE171: Missing :endif: endwhile^I[m
[33mline 47:[m
[1m[37m[41mE580: :endif without :if: ^Iendif^I[m
[1m[37m[41mE580: :endif without :if: ^Iendif^I[m
[1m[37m[41mE580: :endif without :if: ^Iendif^I[m
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-gtk3/tes[m
[23;80H[1m[37m[41mt[24;1Hdir/test49.vim:[m
[33mline 784:[m
[1m[37m[41mE171: Missing :endif: endwhile [m
*** Test 17: OK (285127993)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"/tmp/vUIHoND/0" [24;18H[K[24;18H[New] 53L, 1582C written[24;18H[K[24;18H14L, 358C appended[24;18H[K[24;18H26L, 824C appended[24;18H[K[24;18H34L, 986C appended
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/1[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/1" [24;18H[K[24;18H16L, 304C appended[24;18H[K[24;18H17L, 326C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/2[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/2"' -c 'breakad
[23;80Hd[24;2Hfile 8 /tmp/vUIHoND/1' -S /tmp/vUIHoND/1[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/2" [24;18H[K[24;18H3L, 6C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/3[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/3" [24;18H[K[24;18H6L, 127C appended[24;18H[K[24;18H7L, 149C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/4[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/4"' -c 'breakad
[23;80Hd[24;2Hfile 4 /tmp/vUIHoND/3' -S /tmp/vUIHoND/3[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/4" [24;18H[K[24;18H1L, 5C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/5[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/5" [24;18H[K[24;18H21L, 486C appended[24;18H[K[24;18H22L, 508C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/6[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/6"' -c 'breakad
[23;80Hd[24;2Hfunc 7 F' -S /tmp/vUIHoND/5[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/6" [24;18H[K[24;18H3L, 18C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/7[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/7" [24;18H[K[24;18H13L, 364C appended[24;18H[K[24;18H14L, 386C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/8[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/8"' -c 'breakad
[23;80Hd[24;2Hfunc 3 G' -S /tmp/vUIHoND/7[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/8" [24;18H[K[24;18H1L, 9C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 18: OK (67224583)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/9[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/9" [24;18H[K[24;18H12L, 201C appended[24;18H[K[24;18H13L, 223C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/10[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/10"' -S /tmp/vUIHo
[23;80HN[24;1HD/9[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/10" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/11[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/11" [24;19H[K[24;19H12L, 205C appended[24;19H[K[24;19H13L, 227C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/12[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/12"' -S /tmp/vUIHo
[23;80HN[24;1HD/11[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/12" 2L, 7C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/13[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/13" [24;19H[K[24;19H6L, 122C appended[24;19H[K[24;19H7L, 144C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/14[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/14"' -S /tmp/vUIHo
[23;80HN[24;1HD/13[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/14" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/15[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/15" [24;19H[K[24;19H8L, 176C appended[24;19H[K[24;19H9L, 198C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/16[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/16"' -S /tmp/vUIHo
[23;80HN[24;1HD/15[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/16" 1L, 6C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/17[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/17" [24;19H[K[24;19H10L, 215C appended[24;19H[K[24;19H11L, 237C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/18[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/18"' -S /tmp/vUIHo
[23;80HN[24;1HD/17[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/18" 1L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/19[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/19" [24;19H[K[24;19H7L, 149C appended[24;19H[K[24;19H8L, 171C[24;19H[K[24;19H8L, 170C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/20[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/20"' -S /tmp/vUIHo
[23;80HN[24;1HD/19[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/20" 1L, 9C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 19: OK (69275973)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/21[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/21" [24;19H[K[24;19H9L, 135C appended[24;19H[K[24;19H10L, 157C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/22[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/22"' -S /tmp/vUIHo
[23;80HN[24;1HD/21[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/22" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/23[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/23" [24;19H[K[24;19H10L, 155C appended[24;19H[K[24;19H11L, 177C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/24[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/24"' -S /tmp/vUIHo
[23;80HN[24;1HD/23[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/24" 3L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/25[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/25" [24;19H[K[24;19H12L, 204C appended[24;19H[K[24;19H13L, 226C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/26[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/26"' -S /tmp/vUIHo
[23;80HN[24;1HD/25[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/26" 4L, 18C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/27[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/27" [24;19H[K[24;19H12L, 214C appended[24;19H[K[24;19H13L, 236C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/28[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/28"' -S /tmp/vUIHo
[23;80HN[24;1HD/27[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/28" 4L, 22C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/29[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/29" [24;19H[K[24;19H12L, 211C appended[24;19H[K[24;19H13L, 233C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/30[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/30"' -S /tmp/vUIHo
[23;80HN[24;1HD/29[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/30" 3L, 22C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/31[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/31" [24;19H[K[24;19H14L, 263C appended[24;19H[K[24;19H15L, 285C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/32[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/32"' -S /tmp/vUIHo
[23;80HN[24;1HD/31[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/32" 4L, 34C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/33[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/33" [24;19H[K[24;19H14L, 277C appended[24;19H[K[24;19H15L, 299C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/34[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/34"' -S /tmp/vUIHo
[23;80HN[24;1HD/33[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/34" 4L, 40C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 20: OK (1874575085)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/35[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/35" [24;19H[K[24;19H58L, 1022C appended[24;19H[K[24;19H59L, 1044C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/36[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/36"' -S /tmp/vUIHo
[23;80HN[24;1HD/35[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/36" 9L, 56C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 21: OK (147932225)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/37[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/37" [24;19H[K[24;19H23L, 418C appended[24;19H[K[24;19H24L, 440C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/38[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/38"' -S /tmp/vUIHo
[23;80HN[24;1HD/37[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/38" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/39[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/39" [24;19H[K[24;19H23L, 437C appended[24;19H[K[24;19H24L, 459C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/40[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/40"' -c 'breaka
[23;80Hd[24;1Hd func 2 Interrupt' -S /tmp/vUIHoND/39[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/40" [24;19H[K[24;19H1L, 3C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/41[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/41" [24;19H[K[24;19H21L, 386C appended[24;19H[K[24;19H22L, 408C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/42[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/42"' -S /tmp/vUIHo
[23;80HN[24;1HD/41[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/42" 1L, 5C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 22: OK (4161)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/43[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/43" [24;19H[K[24;19H25L, 432C appended[24;19H[K[24;19H26L, 454C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/44[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/44"' -S /tmp/vUIHo
[23;80HN[24;1HD/43[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/44" 3L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 23: OK (49)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/45[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/45" [24;19H[K[24;19H16L, 392C appended[24;19H[K[24;19H17L, 414C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/46[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/46"' -S /tmp/vUIHo
[23;80HN[24;1HD/45[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/46" 3L, 7C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 24: OK (41)
*** Test 25: OK (260177811)
*** Test 26: OK (1681500476)
*** Test 27: OK (1996459)
function F()
1 try
2[10CXpath 1[33C" X: 1
3[10Ctry
4[14CXpath 2[29C" X: 2
5[14Creturn
6[14CXpath 4[29C" X: 0
7[10Cfinally
8[14CXpath 8[29C" X: 8
9[10Cendtry
10[9CXpath 16[32C" X: 0
11 finally
12[9CXpath 32[32C" X: 32
13 endtry
14 Xpath 64[36C" X: 0
endfunction[9;1H"/tmp/vUIHoND/47"[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[9;19H[noeol] 17L, 552C
14 substitutions on 14 lines
Pattern not found: ^\s*$
"/tmp/vUIHoND/47" [11;20H[K[11;19H14L, 502C written
"test49.in" [11;13H[K[11;13H32L, 705C
function G()
1 try
2[10CXpath 128[31C" X: 128
3[10Creturn
4[10CXpath 256[31C" X: 0
5 finally
6[10CXpath 512[31C" X: 512
7[10Ccall F()
8[10CXpath 1024[30C" X: 1024
9 endtry
10 Xpath 2048[34C" X: 0
endfunction[12;1H"/tmp/vUIHoND/48"[13;1H[K[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;4H[K[12;19H[noeol] 13L, 406C
10 substitutions on 10 lines
Pattern not found: ^\s*$
"/tmp/vUIHoND/48" [14;20H[K[14;19H10L, 378C written
"test49.in" [14;13H[K[14;13H32L, 705C
function H()
1 try
2[10CXpath 4096[30C" X: 4096
3[10Ccall G()
4[10CXpath 8192[30C" X: 8192
5 finally
6[10CXpath 16384[29C" X: 16384
7[10Creturn
8[10CXpath 32768[29C" X: 0
9 endtry
10 Xpath 65536[33C" X: 0
endfunction[13;1H"/tmp/vUIHoND/49"[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[13;19H[noeol] 13L, 409C
10 substitutions on 10 lines
Pattern not found: ^\s*$
"/tmp/vUIHoND/49" [15;20H[K[15;19H10L, 381C written
"test49.in" [15;13H[K[15;13H32L, 705C
*** Test 28: OK (1996459)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim" [readonly] 9008[17;1HL, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/50[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[18;1H[K[18;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/50" [18;19H[K[18;19H39L, 721C appended[18;19H[K[18;19H40L, 743C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim" [readonly] 9008[19;1HL, 206669C
:!>/tmp/vUIHoND/51[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[21;1H:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c 'l[22;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/51"' -S /tmp/vUIHoN[23;1HD/50[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[23;1H"/tmp/vUIHoND/51" 6L, 21C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim" [readonly] 9008[24;1HL, 206669C[23;2Htest49.in" [23;13H[K[24;1H[K[23;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim" [readonly] 9008[24;1HL, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/52[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/52" [24;19H[K[24;19H23L, 509C appended[24;19H[K[24;19H24L, 531C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/53[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/53"' -S /tmp/vUIHo
[23;80HN[24;1HD/52[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/53" 4L, 34C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 29: OK (170428555)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/54[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/54" [24;19H[K[24;19H60L, 1101C appended[24;19H[K[24;19H61L, 1123C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/55[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nv
[23;80Hi[24;1Hminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/55"' -
[23;80Hc[24;2H'breakadd func 3 F' -c 'breakadd file 19 /tmp/vUIHoND/54' -c 'breakadd file 31
/tmp/vUIHoND/54' -S /tmp/vUIHoND/54[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/55" [24;19H[K[24;19H16L, 89C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 30: OK (190905173)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/56[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/56" [24;19H[K[24;19H60L, 1122C appended[24;19H[K[24;19H61L, 1144C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/57[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/57"' -S /tmp/vUIHo
[23;80HN[24;1HD/56[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/57" 16L, 89C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 31: OK (190905173)
*** Test 32: OK (354833067)
*** Test 33: OK (1216907538)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/58[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/58" [24;19H[K[24;19H63L, 1288C appended[24;19H[K[24;19H64L, 1310C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/59[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi
[23;80Hm[24;1Hinfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHo
[23;80HN[24;1HD/59"' -c 'breakadd func 16 C' -S /tmp/vUIHoND/58[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/59" [24;19H[K[24;19H17L, 127C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 34: OK (2146584868)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/60[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/60" [24;19H[K[24;19H63L, 1285C appended[24;19H[K[24;19H64L, 1307C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/61[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi
[23;80Hm[24;1Hinfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHo
[23;80HN[24;1HD/61"' -c 'breakadd func 16 B' -S /tmp/vUIHoND/60[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/61" [24;19H[K[24;19H17L, 127C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 35: OK (2146584868)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/62[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/62" [24;19H[K[24;19H66L, 1430C appended[24;19H[K[24;19H67L, 1452C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/63[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vimin
[23;80Hf[24;1Ho+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/
[23;80H6[24;1H3"' -c 'breakadd func 16 R' -S /tmp/vUIHoND/62[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/63" [24;19H[K[24;19H9L, 81C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 36: OK (1071644672)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/64[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/64" [24;19H[K[24;19H73L, 1488C appended[24;19H[K[24;19H74L, 1510C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/65[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/65"' -c 'breakadd
[23;80Hf[24;1Hunc 16 F' -S /tmp/vUIHoND/64[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/65" [24;19H[K[24;19H9L, 81C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 37: OK (1071644672)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/66[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/66" [24;19H[K[24;19H82L, 1519C appended[24;19H[K[24;19H83L, 1541C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/67[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi
[23;80Hm[24;1Hinfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHo
[23;80HN[24;1HD/67"' -c 'breakadd func 16 E' -S /tmp/vUIHoND/66[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/67" [24;19H[K[24;19H8L, 63C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 38: OK (357908480)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/68[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/68" [24;19H[K[24;19H83L, 1538C appended[24;19H[K[24;19H84L, 1560C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/69[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -
[23;80Hc[24;2H'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVi
[23;80Hm[24;1HResult = "/tmp/vUIHoND/69"' -c 'breakadd func 16 I' -c 'breakadd func 22 I' -S
[23;80H/[24;1Htmp/vUIHoND/68[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/69" 8L, 63C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 39: OK (357908480)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/70[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/70" [24;19H[K[24;19H82L, 1519C appended[24;19H[K[24;19H83L, 1541C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/71[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vi
[23;80Hm[24;1Hinfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHo
[23;80HN[24;1HD/71"' -c 'breakadd func 16 T' -S /tmp/vUIHoND/70[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/71" [24;19H[K[24;19H8L, 63C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 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
2[10CXpath 1[33C" X: 1
3[10Cthrow "arrgh"
4[10CXpath 2[33C" X: 0
5 catch /arrgh/
6[10CXpath 4[33C" X: 4
7 endtry
8 Xpath 8[37C" X: 8
endfunction[15;1H"/tmp/vUIHoND/72"[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[15;19H[noeol] 11L, 334C
8 substitutions on 8 lines
Pattern not found: ^\s*$
"/tmp/vUIHoND/72" [17;20H[K[17;19H8L, 295C written
"test49.in" [17;13H[K[17;13H32L, 705C
function T1()
1 XloopNEXT
2 try
3[10CXloop 1[33C" X: 16 + 16*16
4[10Cthrow "arrgh"
5[10CXloop 2[33C" X: 0
6 finally
7[10CXloop 4[33C" X: 64 + 64*16
8 endtry
9 Xloop 8[37C" X: 0
endfunction[14;1H"/tmp/vUIHoND/73"[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[14;19H[noeol] 12L, 364C
9 substitutions on 9 lines
Pattern not found: ^\s*$
"/tmp/vUIHoND/73" [16;20H[K[16;19H9L, 323C written
"test49.in" [16;13H[K[16;13H32L, 705C
function T2()
1 try
2[10CXpath 4096[30C" X: 4096
3[10Ccall T1()
4[10CXpath 8192[30C" X: 0
5 finally
6[10CXpath 16384[29C" X: 16384
7 endtry
8 Xpath 32768[33C" X: 0
endfunction[15;1H"/tmp/vUIHoND/74"[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[15;19H[noeol] 11L, 332C
8 substitutions on 8 lines
Pattern not found: ^\s*$
"/tmp/vUIHoND/74" [17;20H[K[17;19H8L, 305C written
"test49.in" [17;13H[K[17;13H32L, 705C
*** Test 50: OK (363550045)
*** Test 51: OK (40744667)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim" [readonly] 9008[20;1HL, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/76[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[21;1H[K[21;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/76" [21;19H[K[21;19H2L, 41C appended[21;19H[K[21;19H3L, 63C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim" [readonly] 9008[22;1HL, 206669C
:!>/tmp/vUIHoND/77[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/77"' -S /tmp/vUIHoND/76[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/77" [24;19H[K[24;19H1L, 2C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/75" [24;19H[K[24;19H8L, 182C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/78[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/78" [24;19H[K[24;19H7L, 115C appended[24;19H[K[24;19H8L, 137C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/79[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/79"' -S /tmp/vUIHoND/78[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/79" [24;19H[K[24;19H1L, 2C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/75" [24;19H[K[24;19H8L, 181C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/80[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/80" [24;19H[K[24;19H12L, 180C appended[24;19H[K[24;19H13L, 202C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/81[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/81"' -S /tmp/vUIHoND/80[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/81" [24;19H[K[24;19H2L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/75" [24;19H[K[24;19H10L, 209C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/82[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/82" [24;19H[K[24;19H8L, 139C appended[24;19H[K[24;19H9L, 161C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/83[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/83"' -S /tmp/vUIHoND/82[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/83" [24;19H[K[24;19H2L, 11C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/75" [24;19H[K[24;19H10L, 217C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/84[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/84" [24;19H[K[24;19H5L, 87C appended[24;19H[K[24;19H6L, 109C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/85[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir!
[23;80H>[24;1H/tmp/vUIHoND/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin =
1' -c 'let ExtraVimResult = "/tmp/vUIHoND/85"' -c 'breakadd file 4 /tmp/vUIHoND
[23;80H/[24;1H84' -S /tmp/vUIHoND/84[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/85" [24;19H[K[24;19H1L, 7C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/75" [24;19H[K[24;19H[noeol] 9L, 202C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/86[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/86" [24;19H[K[24;19H7L, 189C appended[24;19H[K[24;19H8L, 211C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/87[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/87"' -S /tmp/vUIHoND/86[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/87" [24;19H[K[24;19H1L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/75" [24;19H[K[24;19H9L, 252C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/88[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/88" [24;19H[K[24;19H7L, 199C appended[24;19H[K[24;19H8L, 221C[24;19H[K[24;19H8L, 220C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/89[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/75' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/89"' -S /tmp/vUIHoND/88[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/89" [24;19H[K[24;19H1L, 10C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/75" [24;19H[K[24;19H9L, 214C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 52: OK (1247112011)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/91[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/91" [24;19H[K[24;19H1L, 10C appended[24;19H[K[24;19H2L, 32C[24;19H[K[24;19H2L, 31C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/92[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/92"' -S /tmp/vUIHoND/91[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/92" [24;19H[K[24;19H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/90" [24;19H[K[24;19H6L, 154C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/93[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/93" [24;19H[K[24;19H3L, 39C appended[24;19H[K[24;19H4L, 61C
3 substitutions on 3 lines
"/tmp/vUIHoND/93" [24;20H[K[24;19H4L, 58C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/94[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/94"' -S /tmp/vUIHoND/93[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/94" [24;19H[K[24;19H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/90" [24;19H[K[24;19H6L, 158C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/95[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/95" [24;19H[K[24;19H4L, 45C appended[24;19H[K[24;19H5L, 67C
4 substitutions on 4 lines
"/tmp/vUIHoND/95" [24;20H[K[24;19H5L, 63C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/96[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/96"' -S /tmp/vUIHoND/95[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/96" [24;19H[K[24;19H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/90" [24;19H[K[24;19H6L, 158C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/97[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/97" [24;19H[K[24;19H3L, 33C appended[24;19H[K[24;19H4L, 55C
3 substitutions on 3 lines
"/tmp/vUIHoND/97" [24;20H[K[24;19H4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/98[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/98"' -S /tmp/vUIHoND/97[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/98" [24;19H[K[24;19H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/90" [24;19H[K[24;19H6L, 158C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/99[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/99" [24;19H[K[24;19H5L, 65C appended[24;19H[K[24;19H6L, 87C
5 substitutions on 5 lines
"/tmp/vUIHoND/99" [24;20H[K[24;19H6L, 82C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/100[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/100"' -S /tmp/vUIHoND/99[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/100" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/90" [24;19H[K[24;19H6L, 158C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/101[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/101" [24;20H[K[24;20H1L, 9C appended[24;20H[K[24;20H2L, 31C[24;20H[K[24;20H2L, 30C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/102[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/102"' -S /tmp/vUIHoND/101[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/102" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/90" [24;19H[K[24;19H6L, 153C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/103[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/103" [24;20H[K[24;20H3L, 38C appended[24;20H[K[24;20H4L, 60C
3 substitutions on 3 lines
"/tmp/vUIHoND/103"[24;20H[K[24;20H4L, 57C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/104[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/104"' -S /tmp/vUIHoND/103[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/104" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/90" [24;19H[K[24;19H6L, 157C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/105[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/105" [24;20H[K[24;20H4L, 44C appended[24;20H[K[24;20H5L, 66C
4 substitutions on 4 lines
"/tmp/vUIHoND/105"[24;20H[K[24;20H5L, 62C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/106[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/106"' -S /tmp/vUIHoND/105[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/106" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/90" [24;19H[K[24;19H6L, 157C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/107[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/107" [24;20H[K[24;20H3L, 32C appended[24;20H[K[24;20H4L, 54C
3 substitutions on 3 lines
"/tmp/vUIHoND/107"[24;20H[K[24;20H4L, 51C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/108[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/108"' -S /tmp/vUIHoND/107[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/108" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/90" [24;19H[K[24;19H6L, 157C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/109[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/109" [24;20H[K[24;20H5L, 64C appended[24;20H[K[24;20H6L, 86C
5 substitutions on 5 lines
"/tmp/vUIHoND/109"[24;20H[K[24;20H6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/110[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/110"' -S /tmp/vUIHoND/109[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/110" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/90" [24;19H[K[24;19H6L, 157C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/111[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/111" [24;20H[K[24;20H1L, 11C appended[24;20H[K[24;20H2L, 33C[24;20H[K[24;20H2L, 32C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/112[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/112"' -S /tmp/vUIHoND/111[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/112" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/90" [24;19H[K[24;19H6L, 157C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/113[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/113" [24;20H[K[24;20H3L, 40C appended[24;20H[K[24;20H4L, 62C
3 substitutions on 3 lines
"/tmp/vUIHoND/113"[24;20H[K[24;20H4L, 59C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/114[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/114"' -S /tmp/vUIHoND/113[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/114" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/90" [24;19H[K[24;19H6L, 161C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/115[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/115" [24;20H[K[24;20H4L, 46C appended[24;20H[K[24;20H5L, 68C
4 substitutions on 4 lines
"/tmp/vUIHoND/115"[24;20H[K[24;20H5L, 64C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/116[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/116"' -S /tmp/vUIHoND/115[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/116" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/90" [24;19H[K[24;19H6L, 161C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/117[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/117" [24;20H[K[24;20H3L, 34C appended[24;20H[K[24;20H4L, 56C
3 substitutions on 3 lines
"/tmp/vUIHoND/117"[24;20H[K[24;20H4L, 53C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/118[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/118"' -S /tmp/vUIHoND/117[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/118" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/90" [24;19H[K[24;19H6L, 161C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/119[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/119" [24;20H[K[24;20H5L, 66C appended[24;20H[K[24;20H6L, 88C
5 substitutions on 5 lines
"/tmp/vUIHoND/119"[24;20H[K[24;20H6L, 83C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/120[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/120"' -S /tmp/vUIHoND/119[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/120" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/90" [24;19H[K[24;19H6L, 161C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/121[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/121" [24;20H[K[24;20H4L, 37C appended[24;20H[K[24;20H5L, 59C
4 substitutions on 4 lines
"/tmp/vUIHoND/121"[24;20H[K[24;20H5L, 55C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/122[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/122"' -S /tmp/vUIHoND/121[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/122" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/90" [24;19H[K[24;19H6L, 150C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/123[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/123" [24;20H[K[24;20H4L, 41C appended[24;20H[K[24;20H5L, 63C
4 substitutions on 4 lines
"/tmp/vUIHoND/123"[24;20H[K[24;20H5L, 59C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/124[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/90' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1'
-c 'let ExtraVimResult = "/tmp/vUIHoND/124"' -S /tmp/vUIHoND/123[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/124" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/90" [24;19H[K[24;19H6L, 159C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 53: OK (131071)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/126[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/126" [24;20H[K[24;20H1L, 13C appended[24;20H[K[24;20H2L, 35C[24;20H[K[24;20H2L, 34C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/127[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/127"' -S /tmp/vUIHoND/126[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/127" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/125" [24;20H[K[24;20H6L, 164C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/128[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/128" [24;20H[K[24;20H3L, 36C appended[24;20H[K[24;20H4L, 58C
3 substitutions on 3 lines
"/tmp/vUIHoND/128"[24;20H[K[24;20H4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/129[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/129"' -S /tmp/vUIHoND/128[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/129" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/125" [24;20H[K[24;20H6L, 168C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/130[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/130" [24;20H[K[24;20H3L, 38C appended[24;20H[K[24;20H4L, 60C
3 substitutions on 3 lines
"/tmp/vUIHoND/130"[24;20H[K[24;20H4L, 57C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/131[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/131"' -S /tmp/vUIHoND/130[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/131" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/125" [24;20H[K[24;20H6L, 154C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/132[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/132" [24;20H[K[24;20H4L, 48C appended[24;20H[K[24;20H5L, 70C
4 substitutions on 4 lines
"/tmp/vUIHoND/132"[24;20H[K[24;20H5L, 66C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/133[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/133"' -S /tmp/vUIHoND/132[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/133" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/125" [24;20H[K[24;20H6L, 168C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/134[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/134" [24;20H[K[24;20H4L, 53C appended[24;20H[K[24;20H5L, 75C
4 substitutions on 4 lines
"/tmp/vUIHoND/134"[24;20H[K[24;20H5L, 71C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/135[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/135"' -S /tmp/vUIHoND/134[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/135" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/125" [24;20H[K[24;20H6L, 155C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/136[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/136" [24;20H[K[24;20H5L, 62C appended[24;20H[K[24;20H6L, 84C
5 substitutions on 5 lines
"/tmp/vUIHoND/136"[24;20H[K[24;20H6L, 79C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/137[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/137"' -S /tmp/vUIHoND/136[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/137" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/125" [24;20H[K[24;20H6L, 155C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/138[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/138" [24;20H[K[24;20H5L, 64C appended[24;20H[K[24;20H6L, 86C
5 substitutions on 5 lines
"/tmp/vUIHoND/138"[24;20H[K[24;20H6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/139[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/139"' -S /tmp/vUIHoND/138[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/139" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/125" [24;20H[K[24;20H6L, 154C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/140[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/140" [24;20H[K[24;20H3L, 36C appended[24;20H[K[24;20H4L, 58C
3 substitutions on 3 lines
"/tmp/vUIHoND/140"[24;20H[K[24;20H4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/141[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/141"' -S /tmp/vUIHoND/140[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/141" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/125" [24;20H[K[24;20H6L, 168C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/142[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/142" [24;20H[K[24;20H5L, 67C appended[24;20H[K[24;20H6L, 89C
5 substitutions on 5 lines
"/tmp/vUIHoND/142"[24;20H[K[24;20H6L, 84C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/143[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/143"' -S /tmp/vUIHoND/142[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/143" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/125" [24;20H[K[24;20H6L, 167C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/144[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/144" [24;20H[K[24;20H5L, 68C appended[24;20H[K[24;20H6L, 90C
5 substitutions on 5 lines
"/tmp/vUIHoND/144"[24;20H[K[24;20H6L, 85C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/145[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/145"' -S /tmp/vUIHoND/144[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/145" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/125" [24;20H[K[24;20H6L, 168C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/146[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/146" [24;20H[K[24;20H7L, 95C appended[24;20H[K[24;20H8L, 117C
7 substitutions on 7 lines
"/tmp/vUIHoND/146"[24;20H[K[24;20H8L, 110C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/147[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/125' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/147"' -S /tmp/vUIHoND/146[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/147" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/125" [24;20H[K[24;20H6L, 167C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 54: OK (2047)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/149[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/149" [24;20H[K[24;20H1L, 13C appended[24;20H[K[24;20H2L, 35C[24;20H[K[24;20H2L, 34C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/150[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/150"' -S /tmp/vUIHoND/149[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/150" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/148" [24;20H[K[24;20H6L, 172C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/151[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/151" [24;20H[K[24;20H3L, 36C appended[24;20H[K[24;20H4L, 58C
3 substitutions on 3 lines
"/tmp/vUIHoND/151"[24;20H[K[24;20H4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/152[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/152"' -S /tmp/vUIHoND/151[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/152" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/148" [24;20H[K[24;20H6L, 176C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/153[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/153" [24;20H[K[24;20H4L, 48C appended[24;20H[K[24;20H5L, 70C
4 substitutions on 4 lines
"/tmp/vUIHoND/153"[24;20H[K[24;20H5L, 66C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/154[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/154"' -S /tmp/vUIHoND/153[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/154" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/148" [24;20H[K[24;20H6L, 176C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/155[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/155" [24;20H[K[24;20H3L, 36C appended[24;20H[K[24;20H4L, 58C
3 substitutions on 3 lines
"/tmp/vUIHoND/155"[24;20H[K[24;20H4L, 55C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/156[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/156"' -S /tmp/vUIHoND/155[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/156" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/148" [24;20H[K[24;20H6L, 176C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/157[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/157" [24;20H[K[24;20H5L, 68C appended[24;20H[K[24;20H6L, 90C
5 substitutions on 5 lines
"/tmp/vUIHoND/157"[24;20H[K[24;20H6L, 85C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/158[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/158"' -S /tmp/vUIHoND/157[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/158" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/148" [24;20H[K[24;20H6L, 176C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/159[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/159" [24;20H[K[24;20H1L, 10C appended[24;20H[K[24;20H2L, 32C[24;20H[K[24;20H2L, 31C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/160[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/160"' -S /tmp/vUIHoND/159[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/160" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/148" [24;20H[K[24;20H6L, 166C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/161[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/161" [24;20H[K[24;20H3L, 33C appended[24;20H[K[24;20H4L, 55C
3 substitutions on 3 lines
"/tmp/vUIHoND/161"[24;20H[K[24;20H4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/162[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/162"' -S /tmp/vUIHoND/161[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/162" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/148" [24;20H[K[24;20H6L, 170C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/163[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/163" [24;20H[K[24;20H4L, 45C appended[24;20H[K[24;20H5L, 67C
4 substitutions on 4 lines
"/tmp/vUIHoND/163"[24;20H[K[24;20H5L, 63C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/164[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/164"' -S /tmp/vUIHoND/163[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/164" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/148" [24;20H[K[24;20H6L, 170C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/165[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/165" [24;20H[K[24;20H3L, 33C appended[24;20H[K[24;20H4L, 55C
3 substitutions on 3 lines
"/tmp/vUIHoND/165"[24;20H[K[24;20H4L, 52C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/166[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/166"' -S /tmp/vUIHoND/165[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/166" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/148" [24;20H[K[24;20H6L, 170C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/167[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/167" [24;20H[K[24;20H5L, 65C appended[24;20H[K[24;20H6L, 87C
5 substitutions on 5 lines
"/tmp/vUIHoND/167"[24;20H[K[24;20H6L, 82C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/168[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/148' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/168"' -S /tmp/vUIHoND/167[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/168" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/148" [24;20H[K[24;20H6L, 170C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 55: OK (1023)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/170[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/170" [24;20H[K[24;20H1L, 11C appended[24;20H[K[24;20H2L, 33C[24;20H[K[24;20H2L, 32C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/171[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/171"' -S /tmp/vUIHoND/170[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/171" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/169" [24;20H[K[24;20H6L, 158C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/172[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/172" [24;20H[K[24;20H3L, 34C appended[24;20H[K[24;20H4L, 56C
3 substitutions on 3 lines
"/tmp/vUIHoND/172"[24;20H[K[24;20H4L, 53C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/173[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/173"' -S /tmp/vUIHoND/172[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/173" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/169" [24;20H[K[24;20H6L, 162C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/174[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/174" [24;20H[K[24;20H3L, 40C appended[24;20H[K[24;20H4L, 62C
3 substitutions on 3 lines
"/tmp/vUIHoND/174"[24;20H[K[24;20H4L, 59C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/175[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/175"' -S /tmp/vUIHoND/174[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/175" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/169" [24;20H[K[24;20H6L, 162C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/176[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/176" [24;20H[K[24;20H3L, 32C appended[24;20H[K[24;20H4L, 54C
3 substitutions on 3 lines
"/tmp/vUIHoND/176"[24;20H[K[24;20H4L, 51C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/177[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/177"' -S /tmp/vUIHoND/176[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/177" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/169" [24;20H[K[24;20H6L, 152C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/178[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/178" [24;20H[K[24;20H3L, 35C appended[24;20H[K[24;20H4L, 57C
3 substitutions on 3 lines
"/tmp/vUIHoND/178"[24;20H[K[24;20H4L, 54C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/179[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/179"' -S /tmp/vUIHoND/178[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/179" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/169" [24;20H[K[24;20H6L, 155C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/180[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/180" [24;20H[K[24;20H4L, 44C appended[24;20H[K[24;20H5L, 66C
4 substitutions on 4 lines
"/tmp/vUIHoND/180"[24;20H[K[24;20H5L, 62C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/181[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/181"' -S /tmp/vUIHoND/180[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/181" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/169" [24;20H[K[24;20H6L, 152C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/182[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/182" [24;20H[K[24;20H4L, 47C appended[24;20H[K[24;20H5L, 69C
4 substitutions on 4 lines
"/tmp/vUIHoND/182"[24;20H[K[24;20H5L, 65C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/183[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/183"' -S /tmp/vUIHoND/182[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/183" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/169" [24;20H[K[24;20H6L, 155C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/184[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/184" [24;20H[K[24;20H5L, 64C appended[24;20H[K[24;20H6L, 86C
5 substitutions on 5 lines
"/tmp/vUIHoND/184"[24;20H[K[24;20H6L, 81C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/185[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/185"' -S /tmp/vUIHoND/184[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/185" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/169" [24;20H[K[24;20H6L, 152C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/186[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/186" [24;20H[K[24;20H5L, 67C appended[24;20H[K[24;20H6L, 89C
5 substitutions on 5 lines
"/tmp/vUIHoND/186"[24;20H[K[24;20H6L, 84C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/187[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'au VimLeave * redir END' -c 'redir! >/t
[23;80Hm[24;1Hp/vUIHoND/169' -c 'debuggreedy|set viminfo+=nviminfo' -c 'let ExtraVimBegin = 1
[23;80H'[24;2H-c 'let ExtraVimResult = "/tmp/vUIHoND/187"' -S /tmp/vUIHoND/186[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/187" [24;20H[K[24;20H0L, 0C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/169" [24;20H[K[24;20H6L, 155C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 56: OK (511)
function FuncException()
1 let g:exception = v:exception
endfunction[22;1H"/tmp/vUIHoND/188" [22;20H[K[23;1H[K[24;4H[K[22;20H[noeol] 4L, 80C
Pattern not found: ^\s*$
"/tmp/vUIHoND/188"[23;20H[K[23;20H1L, 36C written
"test49.in" [23;13H[K[23;13H32L, 705C
function FuncThrowpoint()
1 let g:throwpoint = v:throwpoint
endfunction[22;1H"/tmp/vUIHoND/189" [22;20H[K[23;1H[K[24;4H[K[22;20H[noeol] 4L, 83C
Pattern not found: ^\s*$
"/tmp/vUIHoND/189"[23;20H[K[23;20H1L, 38C written
"test49.in" [23;13H[K[23;13H32L, 705C
function T(arg, line)
1 if a:line == 2
2[10Cthrow a:arg[13C" in line 2
3 elseif a:line == 4
4[10Cthrow a:arg[13C" in line 4
5 elseif a:line == 6
6[10Cthrow a:arg[13C" in line 6
7 elseif a:line == 8
8[10Cthrow a:arg[13C" in line 8
9 endif
endfunction[14;1H"/tmp/vUIHoND/190"[14;20H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[14;20H[noeol] 12L, 341C
9 substitutions on 9 lines
8 substitutions on 8 lines
Pattern not found: ^\s*$
"/tmp/vUIHoND/190"[17;20H[K[17;20H9L, 292C written
"test49.in" [17;13H[K[17;13H32L, 705C
function G(arg, line)
1 call T(a:arg, a:line)
endfunction[18;1H"/tmp/vUIHoND/191"[18;20H[K[19;1H[K[20;4H[K[18;20H[noeol] 4L, 69C
Pattern not found: ^\s*$
"/tmp/vUIHoND/191"[19;20H[K[19;20H1L, 30C written
"test49.in" [19;13H[K[19;13H32L, 705C
function F(arg, line)
1 call G(a:arg, a:line)
endfunction[20;1H"/tmp/vUIHoND/192"[20;20H[K[21;1H[K[22;4H[K[20;20H[noeol] 4L, 69C
Pattern not found: ^\s*$
"/tmp/vUIHoND/192"[21;20H[K[21;20H1L, 30C written
"test49.in" [21;13H[K[21;13H32L, 705C
*** Test 57: OK (2147450880)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim" [readonly] 9008[23;1HL, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/193[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/193" [24;20H[K[24;20H87L, 1700C appended[24;20H[K[24;20H88L, 1722C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/194[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/194"' -c 'break
[23;80Ha[24;1Hdd func 4 T' -S /tmp/vUIHoND/193[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/194" [24;20H[K[24;20H8L, 36C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 58: OK (624945)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/195[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/195" [24;20H[K[24;20H293L, 5789C appended[24;20H[K[24;20H294L, 5811C
3 substitutions on 3 lines
"/tmp/vUIHoND/195"[24;20H[K[24;20H294L, 5808C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/196[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo
[23;80H'[24;2H-c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/196"' -c 'br
[23;80He[24;1Hakadd file 115 /tmp/vUIHoND/195' -c 'breakadd file 225 /tmp/vUIHoND/195' -S /tm
[23;80Hp[24;1H/vUIHoND/195[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/196" 28L, 162C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 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"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/197[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/197" [24;20H[K[24;20H33L, 765C appended[24;20H[K[24;20H34L, 787C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/198[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/198"' -c 'break
[23;80Ha[24;1Hdd file 7 /tmp/vUIHoND/197' -S /tmp/vUIHoND/197[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/198" [24;20H[K[24;20H3L, 27C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 60: OK (311511339)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/199[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/199" [24;20H[K[24;20H115L, 2272C appended[24;20H[K[24;20H116L, 2294C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/200[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set vimin
[23;80Hf[24;1Ho+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/
[23;80H2[24;1H00"' -c 'breakadd file 8 /tmp/vUIHoND/199' -c 'breakadd file 36 /tmp/vUIHoND/19
[23;80H9[24;1H' -c 'breakadd file 40 /tmp/vUIHoND/199' -c 'breakadd file 69 /tmp/vUIHoND/199'
-c 'breakadd file 95 /tmp/vUIHoND/199' -c 'breakadd file 97 /tmp/vUIHoND/199' -
[23;80HS[24;2H/tmp/vUIHoND/199[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"[13C200" 14L, 81C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 61: OK (374889517)
function F()
1 while 1
2 " Missing :endwhile
endfunction[21;1H"/tmp/vUIHoND/201"[22;1H[K[23;1H[K[24;4H[K[21;20H[noeol] 5L, 73C
Pattern not found: ^\s*$
"/tmp/vUIHoND/201"[22;20H[K[22;20H2L, 40C written
"test49.in" [22;13H[K[22;13H32L, 705C
*** Test 62: OK (286331153)
"/i/m/p/o/s/s/i/b/l/e" [23;24H[K[24;1H[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-gtk3/tes[m
[23;80H[1m[37m[41mt[24;1Hdir/test49.vim:[m
[33mline 5500:[m
[1m[37m[41m"/i/m/p/o/s/s/i/b/l/e" E212: Can't open file for writing[m
*** Test 63: OK (236978127)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/202[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/202" [24;20H[K[24;20H149L, 2828C appended[24;20H[K[24;20H150L, 2850C
6 substitutions on 6 lines
"/tmp/vUIHoND/202"[24;20H[K[24;20H150L, 2844C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/203[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/203"' -c 'break
[23;80Ha[24;1Hdd file 63 /tmp/vUIHoND/202' -S /tmp/vUIHoND/202[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/203" [24;20H[K[24;20H16L, 97C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 64: OK (1499645335)
*** Test 65: OK (70187)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/204[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/204" [24;20H[K[24;20H78L, 1520C appended[24;20H[K[24;20H79L, 1542C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/205[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/205"' -c 'break
[23;80Ha[24;1Hdd func 8 F' -S /tmp/vUIHoND/204[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/205" [24;20H[K[24;20H6L, 22C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 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/vUIHoND/206" [New File]
"test49.in" [24;13H[K[24;13H32L, 705C
"/tmp/vUIHoND/207" [New File]
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 74: OK (224907669)
*** Test 75: OK (2000403408)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/208[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/208" [24;20H[K[24;20H253L, 6369C appended[24;20H[K[24;20H254L, 6391C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/209[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|
[23;80Hs[24;1Het viminfo+=nviminfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp
[23;80H/[24;1HvUIHoND/209"' -c 'breakadd func 2 INT' -S /tmp/vUIHoND/208[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/209" [24;20H[K[24;20H28L, 167C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 76: OK (1610087935)
[1m[37m[41mError detected while processing function ERR:[m
[33mline 2:[m
[1m[37m[41mE492: Not an editor command: asdf[m
[1m[37m[41mE492: Not an editor command: asdf[m
[1m[37m[41mE492: Not an editor command: asdf[m
*** Test 77: OK (1388671)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/210[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/210" [24;20H[K[24;20H161L, 4543C appended[24;20H[K[24;20H162L, 4565C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/211[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/211"' -S /tmp/vUIH
[23;80Ho[24;1HND/210[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/211" 1L, 10C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 78: OK (134217728)
[1m[37m[41mError detected while processing function NEXT:[m
[33mline 1:[m
[1m[37m[41mE121: Undefined variable: novar[m
[1m[37m[41mE15: Invalid expression: novar | Xloop 1[m
[1m[37m[41mE121: Undefined variable: novar[m
[1m[37m[41mE488: Trailing characters[m
[1m[37m[41mE108: No such variable: "novar"[m
[1m[37m[41mE488: Trailing characters[m
[1m[37m[41mE121: Undefined variable: novar[m
[1m[37m[41mE15: Invalid expression: novar[m
[1m[37m[41mE475: Invalid argument: {novar} | Xloop 1[m
[1m[37m[41mE121: Undefined variable: novar[m
[1m[37m[41mE15: Invalid expression: novar[m
[1m[37m[41mE475: Invalid argument: { novar} | Xloop 1[m
*** Test 79: OK (70288929)
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-gtk3/tes[m
[23;80H[1m[37m[41mt[24;1Hdir/test49.vim:[m
[33mline 7985:[m
[1m[37m[41mE584: :elseif after :else: elseif 1 ||| 2[m
[33mline 7995:[m
[1m[37m[41mE584: :elseif after :else: elseif 1 ||| 2[m
[33mline 8003:[m
[1m[37m[41mE582: :elseif without :if: elseif 1 ||| 2[m
[33mline 8011:[m
[1m[37m[41mE582: :elseif without :if: elseif 1 ||| 2[m
*** Test 80: OK (17895765)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/212[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/212" [24;20H[K[24;20H15L, 272C appended[24;20H[K[24;20H16L, 294C[24;20H[K[24;20H16L, 293C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/213[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/213"' -S /tmp/vUIH
[23;80Ho[24;1HND/212[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/213" 2L, 4C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/214[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/214" [24;20H[K[24;20H12L, 227C appended[24;20H[K[24;20H13L, 249C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/215[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/215"' -c 'break
[23;80Ha[24;1Hdd file 8 /tmp/vUIHoND/214' -S /tmp/vUIHoND/214[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/215" [24;20H[K[24;20H2L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 81: OK (387)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/216[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/216" [24;20H[K[24;20H20L, 417C appended[24;20H[K[24;20H21L, 439C[24;20H[K[24;20H21L, 438C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/217[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/217"' -S /tmp/vUIH
[23;80Ho[24;1HND/216[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/217" 1L, 2C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/218[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/218" [24;20H[K[24;20H24L, 480C appended[24;20H[K[24;20H25L, 502C[24;20H[K[24;20H25L, 501C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/219[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/219"' -S /tmp/vUIH
[23;80Ho[24;1HND/218[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/219" 1L, 4C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/220[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/220" [24;20H[K[24;20H17L, 390C appended[24;20H[K[24;20H18L, 412C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/221[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/221"' -c 'break
[23;80Ha[24;1Hdd file 7 /tmp/vUIHoND/220' -S /tmp/vUIHoND/220[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/221" [24;20H[K[24;20H1L, 6C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/222[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/222" [24;20H[K[24;20H21L, 444C appended[24;20H[K[24;20H22L, 466C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/223[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/223"' -c 'break
[23;80Ha[24;1Hdd func 6 I' -S /tmp/vUIHoND/222[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/223" [24;20H[K[24;20H1L, 8C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 82: OK (8454401)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/224[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/224" [24;20H[K[24;20H17L, 307C appended[24;20H[K[24;20H18L, 329C[24;20H[K[24;20H18L, 328C written
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/225[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -c '
[23;80Hl[24;1Het ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/225"' -S /tmp/vUIH
[23;80Ho[24;1HND/224[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/225" 3L, 7C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/226[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/226" [24;20H[K[24;20H14L, 266C appended[24;20H[K[24;20H15L, 288C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/227[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo' -
[23;80Hc[24;2H'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/227"' -c 'break
[23;80Ha[24;1Hdd file 8 /tmp/vUIHoND/226' -S /tmp/vUIHoND/226[?1l>[?12l[?25h[?1049l
shell returned 1
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/227" [24;20H[K[24;20H3L, 13C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 83: OK (2835)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/228[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/228" [24;20H[K[24;20H154L, 3580C appended[24;20H[K[24;20H155L, 3602C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/229[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nviminfo
[23;80H'[24;2H-c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/229"' -c 'br
[23;80He[24;1Hakadd func 1 INT' -S /tmp/vUIHoND/228[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/229" [24;20H[K[24;20H18L, 118C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 84: OK (934782101)
TMP
"/tmp/vUIHoND/230" [noeol] 2L, 6C[24;1H[K[24;1H/
"test49.in" 32L, 705C
"/n/o/n/e/x/i/s/t/e/n/t"
"/tmp/vUIHoND/232" 1L, 1C
"test49.in" [24;13H[K[24;13H32L, 705C
:!echo XYZ >/tmp/vUIHoND/233[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/234" [New File]
"test49.in" [24;13H[K[24;13H32L, 705C
*** Test 85: OK (198689)
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-gtk3/tes[m
[23;80H[1m[37m[41mt[24;1Hdir/test49.vim:[m
[33mline 8769:[m
[1m[37m[41mE123: Undefined function: F[m
Make_all.mak
"Make_all.mak" line 1 of 207 --0%-- col 1
[33mline 8772:[m
[1m[37m[41mE926: Current location list was changed[m
[33mline 8773:[m
[1m[37m[41mE193: :endfunction not inside a function[m
[1m[37m[41mError detected while processing function ExecAsScript[2]..MakeScript:[m
[33mline 3:[m
[1m[37m[41mE123: Undefined function: F[m
"/tmp/vUIHoND/235" [1m[37m[41mc[m[24;20H[K[24;20H[noeol] 4L, 109C
[31msearch hit BOTTOM, continuing at TOP[m
[33mline 10:[m[24;11H[K[24;1H
[1m[37m[41mE486: Pattern not found: .*F(.*)[m
[31msearch hit BOTTOM, continuing at TOP[m
[33mline 11:[m[24;11H[K[24;1H
[1m[37m[41mE486: Pattern not found: ^\d*\s*endfunction\>[m
4 substitutions on 4 lines
"/tmp/vUIHoND/235"[24;20H[K[24;20H3L, 109C written
"Make_all.mak" [24;16H[K[24;16H207L, 3846C
[1m[37m[41mError detected while processing /tmp/vUIHoND/235:[m
[33mline 1:[m
[1m[37m[41mE492: Not an editor command: Error detected while processing function ExecAsScr[m
[23;80H[1m[37m[41mi[24;1Hpt[2]..MakeScript:[m
[33mline 2:[m
[1m[37m[41mE492: Not an editor command: line 3:[m
[33mline 3:[m
[1m[37m[41mE492: Not an editor command: E123: Undefined function: F[m
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-gtk3/tes[m
[23;80H[1m[37m[41mt[24;1Hdir/test49.vim:[m
[33mline 8779:[m
[1m[37m[41mE130: Unknown function: F[m
*** Test 86: OK (0)
5
*** Test 87: OK (0)
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!echo 'source /tmp/vUIHoND/0' >/tmp/vUIHoND/236[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H/^\s*if\s\+ExtraVim(.*)/+
[25C1
"/tmp/vUIHoND/236" [24;20H[K[24;20H151L, 3929C appended[24;20H[K[24;20H152L, 3951C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
:!>/tmp/vUIHoND/237[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[24;1H
[?25l:!echo 'q[34m^M[mq[34m^M[mq[34m^M[mq' | ../vim -u NONE -N -Xes -c 'debuggreedy|set viminfo+=nvimi
[23;80Hn[24;1Hfo' -c 'let ExtraVimBegin = 1' -c 'let ExtraVimResult = "/tmp/vUIHoND/237"' -c
[23;80H'[24;1Hbreakadd func 5 ThrowOnInterrupt' -S /tmp/vUIHoND/236[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H"/tmp/vUIHoND/237" [24;20H[K[24;20H16L, 281C
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/test49.vim"
<tlTJJ2/vim-8.0.0197/src/vim-gtk3/testdir/test49.vim" [readonly] 9008L, 206669C
"Make_all.mak" [24;16H[K[24;16H207L, 3846C
*** Test 88: OK (50443995)
[32mPress ENTER or type command to continue[m[24;1H[K[24;1H:[?12l[?25h" Go back to this file and append the results from register r.
[?25l[27m[23m[m[H[2J[1;1H#
# 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 = \[9;9Htest1.out
# Tests that run on all systems.
SCRIPTS_ALL = \[13;9Htest3.out \[14;9Htest4.out \[15;9Htest5.out \[16;9Htest7.out \[17;9Htest8.out \[18;9Htest9.out \[19;9Htest14.out \[20;9Htest15.out \[21;9Htest19.out \[22;9Htest20.out \[23;9Htest22.out \[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hbuf test49.in
[?25l"test49.in" [24;13H[K[24;13H32L, 705C[1;1H:so test49.vim
:" Go back to this file and append the results from register r.
:buf test49.in
G"rp:/^Results/,$w! test.out
:"[5;3H[K[6;1H:" make valgrind happy
:redir => funclis[7;20H[K[8;1H:silent func[8;13H[K[9;1H:redir END[9;11H[K[10;1H:for line in split(funclist, "\n")
: let name = matchstr(line, 'function \zs[A-Z]\w*\ze(')
: if name != ''
: exe "delfunc " . name
: endif[14;9H[K[15;1H:endfor[15;9H[K[16;1H:for v in keys(g:)[16;19H[K[17;1H: silent! exe "unlet " . v
:endfor[18;9H[K[19;1H:unlet v[19;9H[K[20;1H:qa![20;9H[K[21;1HENDTEST[21;9H[K[22;9H[K[23;1HResults of test49.vim:[22;1H[?12l[?25h
[?25l
83 more lines[24;14H[K[1;23r[23;1H
[1;24r[23;1H*** Test 16: OK (8722)[24;1H[K[24;1H83 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^Results/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New] 84L, 2484C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make valgrind happy
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir => funclist
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsilent func
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[5L[?25l[1;1H:" Go back to this file and append the results from register r.
:buf test49.in
G"rp:/^Results/,$w! test.out
:"
:" make valgrind happy[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hfor v in keys(g:)
[?25l
: [?12l[?25h: silent! exe "unlet " . v
[?25l: [?12l[?25h:endfor
[1;1H[2L[?25l[1;1H:" Go back to this file and append the results from register r.
:buf test49.in[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet v
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test97.in" 23 lines, 484 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest whether glob()/globpath() return correct results with certain escaped[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 377 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make sure glob() doesn't use the shell
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset shell=doesnotexist
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" consistent sorting of file names
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nofileignorecase
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =glob('Xxx\{')
[?25l[2;1H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =glob('Xxx\$')
[?25l[3;1H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xxx{
[?25l
Cannot execute shell doesnotexist
[m
E79: Cannot expand wildcards
"Xxx{" [New File] 3 lines, 3 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! Xxx\$
[?25l"Xxx$" [24;8H[K[24;8H[New File] 3 lines, 3 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =glob('Xxx\{')
[?25l[27m[23m[m[H[2J[4;1HXxx{
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [4;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h$put =glob('Xxx\$')
[?25l[5;1HXxx$[5;5H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(globpath('sautest/autoload', '*.vim'))
[?25l[6;1H'sautest/autoload/Test104.vim[6;30H[K[7;1Hsautest/autoload/footest.vim'[7;30H[K[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(globpath('sautest/autoload', '*.vim', 0, 1))
[?25l[8;1H['sautest/autoload/Test104.vim', 'sautest/autoload/footest.vim'][8;65H[K[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" [New File] 8 lines, 138 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_listlbr_utf8.in" 134 lines, 4027 characters[1;1HTest for linebreak and list option in utf-8 mode
STARTTEST
:so small.vim
:if !exists("+linebreak") || !has("conceal") || !has("signs") | e! test.ok | w! [6;1Htest.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)
:[7Clet c=''
:[7Cfor j in range(1,a:lines)
:[11Cfor i in range(1,a:width)
:[15Clet c.=nr2char(screenchar(j, i))
:[11Cendfor
:[11Clet c.="\n"
:[7Cendfor
:[7Creturn c
:endfu[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for linebreak and list option in utf-8 mode[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 129 lines, 3948 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:set list nolinebreak cc=3
:sign define foo text=[34m^V[muff0b
: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[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !exists("+linebreak") || !has("conceal") || !has("signs") | e! test.ok | w!
test.out | qa! | endif
[?25l[1;1H[L[1;1H:set list nolinebreak cc=3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hso mbyte.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf8
[?25l[27m[23m[m[H[2J[1;1H:set list nolinebreak cc=3
:sign define foo text=[34m^V[muff0b
: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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h10new|:vsp|:vert resize 20
[?25l[1;1H [7m|[2;21H|[3;21H|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [m[1;23H[K[2;22H[1m[34m~ [3;22H~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [m[12;2Hcall DoRecordScreen()[12;23H[K[13;2H" 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!")[15;57H[K[16;2Helse[16;6H[K[17;2H call append('$', "Screen attributes are the same!")
:endif[18;7H[K[19;2H%w! test.out
:qa[20;6H[K[21;1HENDTEST
dummy text
[7mtest_listlbr_utf8.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"
[?25l[2;1H abcdef hijkl
mn pqrstuvwxyz 1060
ABCDEFGHIJKLMNOP [11;11H[1m[7m[+][m[2;22H abcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP [2;79H[K[11;32H[7m[+][2;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H abcdef hijkl
mn pqrstuvwxyz 1060
ABCDEFGHIJKLMNOP
[1m[34m~
~
~
~
~
~ [m
[1m[34m~ [m[24;1H[K[1;9H[?12l[?25h[?25l[24;1H:[?12l[?25hset ts=4 sw=4 sts=4 linebreak sbr=+ wrap
[?25l[1;5Habcdef
[1m[34m+[mhijklmn
[1m[34m+[mpqrstuvwxyz 1060ABC
[1m[34m+[mDEFGHIJKLMNOP [2;26Habcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP [2;75H[K[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfu! ScreenChar(width, lines)
[?25l
: [?12l[?25h:[34m^I[mlet c=''
[?25l: [?12l[?25h:[34m^I[mfor j in range(1,a:lines)
[?25l: [?12l[?25h:[34m^I[m for i in range(1,a:width)
[?25l: [?12l[?25h:[34m^I[m [34m^I[mlet c.=nr2char(screenchar(j, i))
[?25l: [?12l[?25h:[34m^I[m endfor
[?25l: [?12l[?25h: let c.="\n"
[?25l: [?12l[?25h:[34m^I[mendfor
[?25l: [?12l[?25h:[34m^I[mreturn c
[?25l: [?12l[?25h:endfu
[1;1H[9L[?25l[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz 1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[m[5;1H[1m[34m~
~
~
~
~ [m[2;26Habcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hfu! DoRecordScreen()
[?25l
: [?12l[?25h:[34m^I[mwincmd l
[?25l: [?12l[?25h:[34m^I[m$put =printf(\"\n%s\", g:test)
[?25l: [?12l[?25h:[34m^I[m$put =g:line
[?25l: [?12l[?25h:[34m^I[mwincmd p
[?25l: [?12l[?25h:endfu
[1;1H[5L[?25l[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz 1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[m
[1m[34m~ [m[2;26Habcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 1: set linebreak + set list + fancy listchars"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eo
[23;80Hl[24;1H:\ub6"
[?25l[1;1H[L[1;1H[34m▕[1;2H—[1;3H—[1;4H—[m[1;5Habcdef[10C[7m|[m[2;9H[34m▕[2;10H—[2;11H—[2;12H—[3;13H␣[4;15Hˑ[m[1m[34m¶[m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H[34m▕[1;2H—[1;3H—[1;4H—[m[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[34m▕[2;10H—[2;11H—[2;12H—[m[2;21H[7m|[m
[1m[34m+[mpqrstuvwxyz[34m␣[m1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP[34mˑ[m[1m[34m¶[m[4;21H[7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26Habcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [1;5H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[5;1H[1m[34m¶[m[5;2H
Test 1: set
[1m[34m+[mlinebreak + set
[1m[34m+[mlist + fancy
[1m[34m+[mlistchars[1m[34m¶[m[9;12H
▕[10;2H—[10;3H—[10;4H—[10;5Habcdef[34mˑˑˑˑˑˑˑˑˑˑ[m
[1m[34m@ [m[3;22H[K[4;22HTest 1: set linebreak + set list + fancy listchars[4;72H[K[5;22H▕[5;23H—[5;24H—[5;25H—[5;26Habcdef [5;42H[K[6;22H+hijklmn▕[6;31H—[6;32H—[6;33H—[6;34H [6;42H[K[7;22H+pqrstuvwxyz␣1060ABC[7;42H[K[8;22H+DEFGHIJKLMNOPˑ¶[8;38H [8;42H[K[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 2: set nolinebreak list"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset list nolinebreak
[?25l[1;12Hhijklmn[34m▕[1;20H—[m[2;2Hpqrstuvwxyz[34m␣[m1060ABC[3;2HDEFGHIJKLMNOP[34mˑ[m[1m[34m¶[m[3;17H
[1m[34m¶[m[4;2H
Test 1: set linebrea
[1m[34m+[mk + set list + fanc[7;2Hy listchars[1m[34m¶[m[7;14H
▕[8;2H—[8;3H—[8;4H—[8;5Habcdef[34mˑˑˑˑˑˑˑˑˑˑ[m[9;2H[1m[34m¶[m[9;3H
+hijklmn▕[10;10H—[10;11H—[10;12H—[10;13H[34mˑˑˑˑˑˑˑˑ[m
[1m[34m@ [1;5H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H[34m▕[1;2H—[1;3H—[1;4H—[m[1;5Habcdef hijklmn[34m▕[1;20H—[m[1;21H[7m|[m
[1m[34m+[mpqrstuvwxyz[34m␣[m1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP[34mˑ[m[1m[34m¶[m[3;21H[7m|[m
[1m[34m¶[m[4;21H[7m|[m
Test 1: set linebrea[7m|[m
[1m[34m+[mk + set list + fanc[7m|[m
[1m[34m+[my listchars[1m[34m¶[m[7;21H[7m|[m
▕[8;2H—[8;3H—[8;4H—[8;5Habcdef[34mˑˑˑˑˑˑˑˑˑˑ[m[7m|[m
[1m[34m+¶[m[9;21H[7m|[m
+hijklmn▕[10;10H—[10;11H—[10;12H—[10;13H[34mˑˑˑˑˑˑˑˑ[m[7m|[m
[1m[34m@ [m
[1m[7m[No Name] [+] [m[2;26Habcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP[4;22HTest 1: set linebreak + set list + fancy listchars[5;22H▕[5;23H—[5;24H—[5;25H—[5;26Habcdef[6;22H+hijklmn▕[6;31H—[6;32H—[6;33H—[7;22H+pqrstuvwxyz␣1060ABC[8;22H+DEFGHIJKLMNOPˑ¶[9;22H[1m[34m~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [m[10;1H+hijklmn▕[10;10H—[10;11H—[10;12H—[10;13H[34mˑˑˑˑˑˑˑˑ[m
[1m[34m@ [1;5H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[1;22H▕[1;23H—[1;24H—[1;25H—[1;26Habcdef [2;22H+hijklmn▕[2;31H—[2;32H—[2;33H—[2;34H [3;22H+pqrstuvwxyz␣1060ABC [4;22H+DEFGHIJKLMNOPˑ¶[4;38H [5;22H[1m[34m~ [6;22H~ [m[7;22H [8;22H [9;22H [10;22H [5;22H[K[6;22HTest 2: set nolinebreak list[6;50H[K[7;22H▕[7;23H—[7;24H—[7;25H—[7;26Habcdef hijklmn▕[7;41H—[8;22H+pqrstuvwxyz␣1060ABC[9;22H+DEFGHIJKLMNOPˑ¶[10;22H¶[24;1H[K[24;1H4 more lines[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 3: set linebreak nolist"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\t*mask = nil;\"
[?25l[1;1H▕[1;2H—[1;3H—[1;4H—[1;19H▕[1;20H—[2;2H[1m[34m¶[m[2;3H
+pqrstuvwxyz␣1060ABC
[1m[34m+¶[m[5;1H+DEFGHIJKLMNOPˑ¶[5;17H[34mˑˑˑˑ[m[6;2H[1m[34m¶[m[6;4H
¶[7;2H[34mˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[m
[1m[34m+¶[m[8;3H
[34m▕[9;2H—[9;3H—[9;4H—[m[9;5H*mask = nil;[1m[34m¶[10;1H~ [9;5H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$
[?25l[9;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H[34m▕[1;2H—[1;3H—[1;4H—[m[1;5H*mask = nil;[1m[34m¶[m[1;18H
[1m[34m~ [m
[3;1H[1m[34m~
~
~
~
~
~
~
~ [m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hset nolist linebreak
[?25l[1;1H [12C
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;5H*mask = nil; [7m|[2;21H|[3;21H|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[1;22H▕[1;23H—[1;24H—[1;25H—[1;26Habcdef[2;22H+hijklmn▕[2;31H—[2;32H—[2;33H—[3;22H+pqrstuvwxyz␣1060ABC[4;22H+DEFGHIJKLMNOPˑ¶[6;22HTest 2: set nolinebreak list[7;22H▕[7;23H—[7;24H—[7;25H—[7;26Habcdef hijklmn▕[7;41H—[8;22H+pqrstuvwxyz␣1060ABC[9;22H+DEFGHIJKLMNOPˑ¶[10;22H¶[11;22H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [1;5H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),4)
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[2;1H
Test 3: set
[1m[34m+[mlinebreak nolist
*mask = nil;
~
~
~ [1;22H+pqrstuvwxyz␣1060ABC [2;22H+DEFGHIJKLMNOPˑ¶[2;38H [3;22H¶[3;23H [4;22H [5;22H [6;22H [7;22H [8;22H [9;22H [10;22H [4;26H*mask = nil;[6;22HTest 3: set linebreak nolist[7;26H*mask = nil;[8;22H~[9;22H~[10;22H~[24;1H[K[24;1H4 more lines[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 4: set linebreak list listchars and concealing"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet c_defines=['#define ABCDE[34m^I^I[m1','#define ABCDEF[34m^I^I[m1','#define ABCDEFG[34m^I^I[m
[23;80H1[24;1H','#define ABCDEFGH[34m^I[m1', '#define MSG_MODE_FILE[34m^I^I^I[m1','#define MSG_MODE_CONSO
[23;80HL[24;1HE[34m^I^I[m2','#define MSG_MODE_FILE_AND_CONSOLE[34m^I[m3','#define MSG_MODE_FILE_THEN_CONS
[23;80HO[24;1HLE[34m^I[m4']
[?25l[1;1H[3L[1;5H*mask = nil; [7m|[2;21H|[m
Test 3: set[9C[7m|[m[1;22H+pqrstuvwxyz␣1060ABC[2;22H+DEFGHIJKLMNOPˑ¶[3;22H¶[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hcall append('$', c_defines)
[?25l[9;1H#define
[1m[34m+[mABCDE 1 [1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hvert resize 40
[?25l[1;21H [7m|[m[2;21H [7m|[m[3;13Hlinebreak nolist[12C[7m|[m
*mask = nil; [7m|[m
~ [19C[7m|[m[6;21H [7m|[m[7;21H [7m|[m
#define ABCDE[7C1 [18C[7m|[m[9;9HABCDEF 1 [18C[7m|[m
#define ABCDEFG 1 [18C[7m|[m[11;22H[1m[7m [m[1;42H+pqrstuvwxyz␣1060ABC[2;42H+DEFGHIJKLMNOPˑ¶[3;42H¶[4;46H*mask = nil;[6;42HTest 3: set linebreak nolist[7;46H*mask = nil;[8;42H~[9;42H~[10;42H~[11;42H[7m[No Name] [+][1;5H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$-7
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H#define ABCDE 1
#define ABCDEF 1
#define ABCDEFG 1
[4;1H#define ABCDEFGH 1
#define MSG_MODE_FILE[11C1
#define MSG_MODE_CONSOLE[8C2
#define MSG_MODE_FILE_AND_CONSOLE 3
#define MSG_MODE_FILE_THEN_CONSOLE 4
[1m[34m~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset list linebreak listchars=tab:>- cole=1
[?25l[1;14H[34m>-->---[2;15H>->---[3;16H>>---[4;17H>---[5;22H>-->--->---[6;25H>--->---[7;34H>--[8;35H>-[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsyn match Conceal conceal cchar=>'AB\|MSG_MODE'
[?25l[1;9H[37m[40mAB[2;9H>[mCDEF[34m>-[m[3;9H[37m[40m>[mCDEFG[34m>-[m[4;9H[37m[40m>[mCDEFGH[34m>-[m[5;9H[37m[40m>[m_FILE[34m>-------[m[6;9H[37m[40m>[m_CONSOLE[34m>-------[m[7;9H[37m[40m>[m_FILE_AND_CONSOLE[34m>-------[m[8;9H[37m[40m>[m_FILE_THEN_CONSOLE[34m>-------[m[1;59H[37m[40mAB[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H#define [37m[40mAB[mCDE[34m>-->---[m1[19C[7m|[m
#define [37m[40m>[mCDEF[34m>-->---[m1[19C[7m|[m
#define [37m[40m>[mCDEFG[34m>->---[m1[19C[7m|[m
#define [37m[40m>[mCDEFGH[34m>----[m1[19C[7m|[m
#define [37m[40m>[m_FILE[34m>--------->--->---[m1[7C[7m|[m
#define [37m[40m>[m_CONSOLE[34m>---------->---[m2[7C[7m|[m
#define [37m[40m>[m_FILE_AND_CONSOLE[34m>---------[m3 [7m|[m
#define [37m[40m>[m_FILE_THEN_CONSOLE[34m>--------[m4 [7m|[9;41H|[10;41H|[m[9;1H[1m[34m~
~ [m
[1m[7m[No Name] [+] [m[1;42H+pqrstuvwxyz␣1060[37m[40mAB[mC[2;42H+DEFGHIJKLMNOPˑ¶[3;42H¶[4;46H*mask = nil;[6;42HTest 3: set linebreak nolist[7;46H*mask = nil;[8;42H~[9;42H~[10;42H~[11;42H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),7)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l[1;9H[37m[40m>[mCDE[34m>-[m[24;1H7 more lines[24;13H[K[9;1H
Test 4: set linebreak list listchars
[1m[34m@ [m[1;42H#define >CDEFG>->---1[2;42H[1m[34m+[m [2;44H[K[3;42H#define >CDEFGH>----1[4;42H[1m[34m+[m[4;46H[K[5;42H#define >_FILE>--------->--->---1[6;42H[1m[34m+[m [6;44H[K[7;42H#define >_CONSOLE>---------->---2[8;42H[1m[34m+[m[9;42H#define >_FILE_AND_CONSOLE>---------3[10;42H[1m[34m+[m[1;9H[37m[40mAB[mCDE[34m>
[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 5: set linebreak list listchars and concealing part2"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet c_defines=['bbeeeeee[34m^I^I[m;[34m^I[msome text']
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', c_defines)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$
[?25l[1;1H[1m[34m@ [m
[1;1HTest 4: set linebreak list listchars
[1m[34m+[mand concealing
#define [37m[40m>[mCDE>-->---1
#define >CDEF>-->---1
#define >CDEFG>->---1
#define >CDEFGH>----1
#define >_FILE>--------->--->---1
#define >_CONSOLE>---------->---2
#define >_FILE_AND_CONSOLE>---------3
bbeeeeee[34m>--->---[m;[34m>--[msome text[24;1H[K[10;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnorm! zt
[?25l[1;1Hbbeeeeee[34m>--->---[m;[34m>--[msome text
[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset nowrap ts=2 list linebreak listchars=tab:>- cole=2 concealcursor=n
[?25l[1;11H[34m>[m[1C;[34m>[msome text [1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn clear
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn match meaning /;\s*\zs.*/
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn match hasword /^\x\{8}/ contains=word
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn match word /\<\x\{8}\>/ contains=beginword,endword contained
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn match beginword /\<\x\x/ contained conceal
[?25l[1;1Heeeeee[34m>--[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsyn match endword /\x\{6}\>/ contained
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi meaning guibg=blue
[?25l[1;15Hsome text[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi beginword guibg=green
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi endword guibg=red
[?25l[1;1Heeeeee[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1Heeeeee[34m>--->-[m;[34m>[msome text[17C[7m|[2;41H|[3;41H|[4;41H|[5;41H|[6;41H|[7;41H|[8;41H|[9;41H|[10;41H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[1;42H#define >CDEFG>->---1[2;42H[1m[34m+[m[3;42H#define >CDEFGH>----1[4;42H[1m[34m+[m[5;42H#define >_FILE>--------->--->---1[6;42H[1m[34m+[m[7;42H#define >_CONSOLE>---------->---2[8;42H[1m[34m+[m[9;42H#define >_FILE_AND_CONSOLE>---------3[10;42H[1m[34m+[m[11;42H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),1)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l[2;1H
Test 5: set linebreak list listchars and
eeeeee>--->-;>some text [1;42H#define >_CONSOLE>---------->---2 [2;42H[1m[34m+[m [3;42H#define >_FILE_AND_CONSOLE>---------3 [4;42H[1m[34m+[m [5;42H [6;42H [7;42H [8;42H [9;42H [10;42H [5;42Hbbeeeeee ; some text[7;42HTest 5: set linebreak list listchars an[8;42H[1m[34m+[md concealing part2[9;42Heeeeee>--->-;>some text [10;42H[1m[34m+[m [24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 6: Screenattributes for comment"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[5;1HTest 6: Screenattributes for comment [5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', ' /*[34m^I^I[m and some more */')
[?25l[6;1H /*[34m>>-[m and some more */ [5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe "set ft=c ts=7 linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail
[23;80H:[24;1H\u02d1,eol:\ub6"
[?25l[1;1H[L[1;1Heeeeee[34m▕[1;8H—[1;9H—[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[1;15H▕[1;16H—[1;17H—[1;18H—[1;19H—[1;20H—[1;21H—[m[1;22H;[34m▕[1;24H—[1;25H—[1;26H—[1;27H—[1;28H—[m[1;29Hsome text[1m[34m¶[m[1;41H[7m|[m
[1m[34m¶[m[4;24H[34mˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[m[5;37H[1m[34m¶[m[6;4H[34m▕[6;5H—[6;6H—[6;7H—[6;8H▕[6;9H—[6;10H—[6;11H—[6;12H—[6;13H—[6;14H—[m[6;15H and some more */[1m[34m¶[m[1;42H#define >_CONSOLE>---------->---2[5;54H ; some text[24;1H[K[5;1H[?12l[?25h[?25l[24;1H:[?12l[?25hsyntax on
[?25l[1;1Hbbeeeeee[34m▕[m[1;29Hsome text[3;6H[31m5[m[4;14H>some text[5;6H[31m6[m[19C[33mfor[m
[34m/*[11C and some more */[m[1;42H[35m#define >_CONSOLE>---------->---[m[31m2[m[35m [2;43H [3;42H#define >_FILE_AND_CONSOLE>---------[m[31m3[m[35m [4;43H [m[5;42Hbbeeeeee[20Csome text[7;47H[31m5[m[9;55H>some text [10;43H [5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi SpecialKey term=underline ctermfg=red guifg=red
[?25l[1;9H[1m[31m▕[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[1;15H▕[1;16H—[1;17H—[1;18H—[1;19H—[1;20H—[1;21H—[1;23H▕[1;24H—[1;25H—[1;26H—[1;27H—[1;28H—[4;24Hˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[6;4H▕[6;5H—[6;6H—[6;7H—[6;8H▕[6;9H—[6;10H—[6;11H—[6;12H—[6;13H—[6;14H—[5;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet attr=[]
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnnoremap <expr> GG ":let attr += ['".screenattr(screenrow(),screencol())."']\n
[23;80H"[24;1H[?25l[1;1H[L[1;1Hbbeeeeee[1m[31m▕[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[1;15H▕[1;16H—[1;17H—[1;18H—[1;19H—[1;20H—[1;21H—[m[1;22H;[1m[31m▕[1;24H—[1;25H—[1;26H—[1;27H—[1;28H—[m[1;29Hsome text[1m[34m¶[m[1;41H[7m|[m[35m#define >_CONSOLE>---------->---[m[31m2[m[35m [m[24;1H[K[5;1H[?12l[?25h[?25l[24;1H:[?12l[?25h$
[?25l[6;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt0
[?25l[1;1H [34m/*[m[1m[31m▕[1;5H—[1;6H—[1;7H—[1;8H▕[1;9H—[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[m[1;15H[34m and some more */[m[1m[34m¶[m[1;33H
[1m[34m~
~
~
~ [m
[6;1H[1m[34m~
~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:let attr += ['0']
[1;1H[?12l[?25h[1;2H[?25l[24;1H[K[24;1H:let attr += ['69']
[1;2H[?12l[?25h[1;3H[?25l[24;1H[K[24;1H:let attr += ['69']
[1;3H[?12l[?25h[1;4H[?25l[24;1H[K[24;1H:let attr += ['107']
[1;4H[?12l[?25h[1;8H[?25l[24;1H[K[24;1H:let attr += ['107']
[1;8H[?12l[?25h[1;15H[?25l[24;1H[K[24;1H:let attr += ['69']
[1;15H[?12l[?25h[1;16H[?25l[24;1H[K[24;1H:let attr += ['69']
[1;16H[?12l[?25h[1;17H[?25l[24;1H[K[24;1H:let attr += ['69']
[1;17H[?12l[?25h[1;18H[?25l[24;1H[K[24;1H:let attr += ['69']
[1;18H[?12l[?25h[1;19H[?25l[24;1H[K[24;1H:let attr += ['69']
[1;19H[?12l[?25h[1;20H[1;20H[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', ['ScreenAttributes for test6:'])
[?25l[2;1HScreenAttributes [33mfor[m test6:[1m[34m¶[m[2;29H [1;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;2H[34m/*[m[1m[31m▕[1;5H—[1;6H—[1;7H—[1;8H▕[1;9H—[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[m[1;15H[34m and some more */[m[1m[34m¶[m[1;41H[7m|[m
ScreenAttributes [33mfor[m test6:[1m[34m¶[m[2;41H[7m|[m
Attribut [31m0[m and [31m1[m and [31m3[m and [31m5[m are differe[7m|[4;41H|[m
[1m[34m~ [m[1;42H[35m#define >_CONSOLE>---------->---[m[31m2[m[35m [m[2;42H[1m[34m+[m[35m [3;42H#define >_FILE_AND_CONSOLE>---------[m[31m3[m[35m [m[4;42H[1m[34m+[m[35m [m[24;1H[K[1;20H[?12l[?25h[?25l[24;1H:[?12l[?25hset cpo&vim linebreak selection=exclusive
[?25l[1;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 8: set linebreak with visual block mode and v_b_A and select
[23;80Hi[24;1Hon=exclusive and multibyte char"
[?25l[1;1H[L[1;2H[34m/*[m[1m[31m▕[1;5H—[1;6H—[1;7H—[1;8H▕[1;9H—[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[m[1;15H[34m and some more */[m[1m[34m¶[m[1;41H[7m|[m[35m#define >_CONSOLE>---------->---[m[31m2[m[35m [m[24;1H[K[1;20H[?12l[?25h[?25l[24;1H:[?12l[?25h$put =g:test
[?25l[4;1HTest [31m8[m: set linebreak with visual block [4;1H[?12l[?25h[4;1H[?25l[5;1H[32mlong[m line:[1m[31mˑ[m[1m[34m¶[m[5;13H [5;11H[?12l[?25h[?25l[1;1H[1m[34m¶[m[1;2H
[1m[34m¶[m[2;2H
[1m[34m¶[m[3;2H
[1m[34m¶[m[4;2H
oobar foobar foobar foobar foobar[1m[31mˑ[m[1m[34m¶[5;34H[?12l[?25h[?25l[m
foobar foobar TARGET[1m[34m¶[m[5;22H [5;21H[?12l[?25h[?25lÃ' at end[1m[34m¶[5;29H[?12l[?25h[5;29H[?25l[m[24;1H[K[24;1H:[?12l[?25hexe "norm! $3B\<C-v>eAx\<Esc>"
[?25l[5;22Hx' at end[1m[34m¶[5;15H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[5;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 9: a multibyte sign and colorcolumn"
[?25l[5;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet attr=[]
[?25l[5;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet attr2=[]
[?25l[5;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;1H [34m/*[m[1m[31m▕[1;5H—[1;6H—[1;7H—[1;8H▕[1;9H—[1;10H—[1;11H—[1;12H—[1;13H—[1;14H—[m[1;15H[34m and some more */[m[1m[34m¶[m[2;1HScreenAttributes [33mfor[m test6:[1m[34m¶[m[3;1HAttribut [31m0[m and [31m1[m and [31m3[m and [31m5[m are differe
Test [31m8[m: set linebreak with visual block
[32mlong[m line: foobar foobar foobar foobar f
[1m[34m¶[m[6;2H [6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='a b c'
[?25l[7;1Ha b c[1m[34m¶[m[7;7H [7;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='a b c'
[?25l[8;1Ha b c[1m[34m¶[m[8;7H [8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset list nolinebreak cc=3
[?25l[1;3H[34m[41m*[m
Sc[41mr
[mAt[41mt
[mTe[41ms[m[5;3H[32m[41mn[m[6;3H[41m
[ma [41mb
[ma [41mb[8;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsign define foo text=^+
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsign place 1 name=foo line=50 buffer=2
[?25l[1;1H[34m[47m [m [34m/[m[34m[41m*[m[1m[31m▕[1;7H—[1;8H—[1;9H—[1;10H▕[1;11H—[1;12H—[1;13H—[1;14H—[1;15H—[1;16H—[m[1;17H[34m and some more */[m[1m[34m¶[m[2;1H[34m[47m [mSc[41mr[meenAttributes [33mfor[m test6:[1m[34m¶[m[3;1H[34m[47m [mAt[41mt[mribut [31m0[m and [31m1[m and [31m3[m and [31m5[m are diff
[34m[47m [mTe[41ms[mt [31m8[m: set linebreak with visual bloc
[34m[47m [m[32mlo[m[32m[41mn[m[32mg[m line: foobar foobar foobar foobar
[34m[47m [m[1m[34m¶[m[6;5H[41m [m
+a [41mb[m c[1m[34m¶[m[8;1H[34m[47m [ma [41mb[m c[1m[34m¶[m[9;1H[34m[47m
[m[9;3H[1m[34m~[10;3H~[m[1;42H[34m[47m [m[35m#define >_CONSOLE>[8C-->---[m[31m2[m[2;42H[34m[47m [m[1m[34m+[m[35m [m[3;42H[34m[47m [m[35m#define >_FILE_AND_CONSOLE>[7C--[m[31m3[m[4;42H[34m[47m [m[1m[34m+[m[35m [m[5;42H[34m[47m [mbbeeeeee[11C ; some text[6;42H[34m[47m [7;42H [mTest [31m5[m: set linebreak list listchars [8;42H[34m[47m [m[1m[34m+[mand concealing part2[9;42H[34m[47m [meeeeee>--->-;>some text[10;42H[34m[47m [m[1m[34m+[8;3H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnorm! 2kztj
[?25l[1;1H[34m[47m [m[1m[34m¶[m[1;4H [41m [m
+a [41mb[m c[1m[34m¶[m[2;9H
[34m[47m [ma [41mb[m c[1m[34m¶[m[3;9H
[34m[47m [m[1m[34m~ [m
[34m[47m [m[1m[34m~ [m
[6;1H[34m[47m
[m[6;3H[1m[34m~ [7;3H~ [8;3H~ [9;3H~ [10;3H~ [m[24;1H[K[2;3H[?12l[?25h[?25l[24;1H:[?12l[?25hlet line1=line('.')
[?25l[2;3H[?12l[?25h[2;3H[?25l[24;1H[K[24;1H:let attr += ['0']
[2;3H[?12l[?25h[2;4H[?25l[24;1H[K[24;1H:let attr += ['0']
[2;4H[?12l[?25h[2;5H[?25l[24;1H[K[24;1H:let attr += ['92']
[2;5H[?12l[?25h[2;6H[?25l[24;1H[K[24;1H:let attr += ['0']
[2;6H[?12l[?25h[2;7H[3;7H[?25l[24;1H[K[24;1H:[?12l[?25hlet line2=line('.')
[?25l[3;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet attr2=attr
[?25l[3;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet attr=[]
[?25l[3;7H[?12l[?25h[3;3H[?25l[24;1H[K[24;1H:let attr += ['0']
[3;3H[?12l[?25h[3;4H[?25l[24;1H[K[24;1H:let attr += ['0']
[3;4H[?12l[?25h[3;5H[?25l[24;1H[K[24;1H:let attr += ['92']
[3;5H[?12l[?25h[3;6H[?25l[24;1H[K[24;1H:let attr += ['0']
[3;6H[?12l[?25h[3;7H[3;7H[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H[34m[47m [m[1m[34m¶[m[1;5H[41m [m[35C[7m|[m
+a [41mb[m c[1m[34m¶[m[2;41H[7m|[m
[34m[47m [ma [41mb[m c[1m[34m¶[m[3;41H[7m|[4;41H|[5;41H|[6;41H|[7;41H|[8;41H|[9;41H|[10;41H|[m[4;1H[34m[47m
[m[4;3H[1m[34m~ [5;3H~ [6;3H~ [7;3H~ [8;3H~ [9;3H~ [10;3H~ [m
[1m[7m[No Name] [+] [m[1;42H[34m[47m [m[35m#define >_CONSOLE>---------->---[m[31m2[m[35m [m[2;42H[34m[47m [m[1m[34m+[m[35m [m[3;42H[34m[47m [m[35m#define >_FILE_AND_CONSOLE>---------[m[31m3[m[4;42H[34m[47m [m[1m[34m+[m[35m [m[5;42H[34m[47m [mbbeeeeee[13C; some text[6;42H[34m[47m [7;42H [mTest [31m5[m: set linebreak list listchars[8;42H[34m[47m [m[1m[34m+[mand concealing part2[9;42H[34m[47m [meeeeee>--->-;>some text[10;42H[34m[47m [m[1m[34m+[m[11;42H[7m[No Name] [+] [m[12;1H: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
[7mtest_listlbr_utf8.in [3;7H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0),3)
[?25l[3;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l[24;1H3 more lines[24;13H[K[4;3H[1m[34m¶[m[4;4H [41m [m [5;3HTe[41ms[mt [31m9[m: a multibyte sign and colorcolu[6;3H [41m¶[m[6;6H[1m[31mˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[m[7;3H+[41ma[m b c¶[7;11H[1m[31mˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[m[8;3H [41ma[m b c¶[8;11H[1m[31mˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑˑ[m[1;44Ha b c[1;49H[K[2;44H[K[3;44HTest [31m9[m: a multibyte sign and colorcol[4;45Humn[5;44H ¶[5;47H [13C [6;44H[1m[34m+[m[7;44H+a b c¶[7;52H [8;45H [8;49H[K[9;44H a b c¶[9;52H [3;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected: attr[2] is different because of colorcolumn
[?25l[3;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1H[34m[47m [m[1m[34m¶[m[1;5H[41m [m[35C[7m|[m
+a [41mb[m c[1m[34m¶[m[2;41H[7m|[m
[34m[47m [ma [41mb[m c[1m[34m¶[m[3;41H[7m|[m
[34m[47m [m[1m[34m¶[m[4;5H[41m [m[35C[7m|[m[9;3HSc[41mr[meen attributes are the same![1m[34m¶[m[9;35H [1;42H[34m[47m [ma b c[2;42H[34m[47m [3;42H [mTest [31m9[m: a multibyte sign and colorcol[4;42H[34m[47m [m[1m[34m+[mumn[24;1H[K[3;7H[?12l[?25h[?25l[24;1H:[?12l[?25h%w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 57 lines, 1882 characters written[11;1H[1m[7mtest.out] [m[27C[7mtest.out [3;7H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test54.in" 22 lines, 658 characters[1;1HSome 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.oo[9;1Hut
:else
: !rm -f test.out
: au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out
:endif
:e somefile[11C" here, autocommand for xx shall write test.out
:[21C" but autocommand shall not apply to buffer named <buffer>[16;1H:bwipe xx[13C" here, autocommand shall be auto-deleted
:e xx[17C" nothing shall be written
:e somefile[11C" nothing shall be written
:qa!
ENDTEST
start of test file xx
end of test file xx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HSome tests for buffer-local autocommands[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 15 lines, 555 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[20;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he xx
[?25l"xx" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hif has("vms")
[?25l
: [?12l[?25h: !del test.out.*
[?25l: [?12l[?25h: au BufLeave <buffer> :!write sys$output "buffer-local autommand in %" > te
[23;80Hs[24;1Ht.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=[24;1H
[?25l: :[?12l[?25h au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out
[?25l: [?12l[?25h:endif
[?25l[24;1H[K[24;1H:[?12l[?25he somefile " here, autocommand for xx shall write test.out
[?25l:!echo buffer-local autommand in xx>> test.out[24;47H[K[24;47H
[?12l[?25h[?25l[m"somefile" [New File]
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h " but autocommand shall not apply to buffer named <buffer
[23;80H>[24;1H[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hbwipe xx " here, autocommand shall be auto-deleted
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he xx " nothing shall be written
[?25l"xx" [New File][24;23H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he somefile " nothing shall be written
[?25l"somefile" [New File][24;23H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test17.in" 135 lines, 2431 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for:[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 27 lines, 564 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[10M[1;24r[14;1H:" 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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1H:"
:if has("unix")
:let $CDIR = "."
/CDIR[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[10L[?25l[1;1H: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':[14;56H[K[15;4H > nmake -f Make_dos.mak test17.out[15;39H[K[16;2Hw! test.out[16;13H[K[17;1Hgf[17;3H[K[18;1H:set ff=unix
:w! test.out
:brewind[20;9H[K[21;1HENDTEST[21;8H[K[22;1H[K[23;9H${CDIR}/test17a.in[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25h" Dummy writing for making that sure gf doesn't fail even if the current
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" file is modified. It can be occurred when executing the following command
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" directly on Windows without fixing the 'fileformat':
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" > nmake -f Make_dos.mak test17.out
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 135 lines, 2431 characters written[23;9H[?12l[?25h[?25l
"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/./test17a.in" 3 lines, 88
[23;80Hc[24;1Hharacters
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[2L[?25l[1;1HThis file is just to test "gf" in test 17.
The contents is not important.
Just testing!
[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ff=unix
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H3 lines, 88 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters[1;1H:" 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[4;39H[K[5;1H:w! test.out[5;13H[K[6;1Hgf[6;3H[K[7;1H:set ff=unix[7;13H[K[8;1H:w! test.out[8;13H[K[9;1H:brewind[9;9H[K[10;1HENDTEST[10;8H[K[11;1H[K[12;1H ${CDIR}/test17a.in[12;27H[K[13;1H $TDIR/test17a.in[13;25H[K[14;1H[K[15;1HSTARTTEST[15;10H[K[16;1H:" check for 'include' without \zs or \ze[16;42H[K[17;1H:lang C[17;8H[K[18;1H:call delete("./Xbase.a")[18;26H[K[19;1H:call delete("Xdir1", "rf")[19;28H[K[20;1H:!mkdir Xdir1[20;14H[K[21;1H:!mkdir "Xdir1/dir2"[21;21H[K[22;1H:e! Xdir1/dir2/foo.a[22;21H[K[23;1Hi#include "bar.a"[34m^[[m:[23;23H[K[12;8H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H23 lines, 396 characters written[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[16;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:e Xdir1/dir2/baz.a
i#include[12C"foo.a"[34m^[[m:
:w
:e Xbase.a
:set path=Xdir1/dir2
i#include <foo.a>[34m^[[m:
: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" check for 'include' without \zs or \ze
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang C
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("./Xbase.a")
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir Xdir1
[?25l[13C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[20C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25he! Xdir1/dir2/foo.a
[?25l"Xdir1/dir2/foo.a" [New File][27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m#include "bar.a"[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;18H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/foo.a" [New File] 1 line, 19 characters written[1;18H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/bar.a
[?25l"Xdir1/dir2/bar.a" [New File][1;1H[K[1;1H[?12l[?25h[?25l#include "baz.a"[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/bar.a" [New File] 1 line, 22 characters written[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/baz.a
[?25l"Xdir1/dir2/baz.a" [New File][1;1H[K[1;1H[?12l[?25h[?25l#include[12C"foo.a"[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;27H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/baz.a" [New File] 1 line, 28 characters written[1;27H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xbase.a
[?25l"Xbase.a" [New File][1;1H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset path=Xdir1/dir2
[?25l[1;1H[?12l[?25h[?25l#include <foo.a>[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xbase.a" [New File] 1 line, 20 characters written[1;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir! >>test.out
[?25l[1;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcheckpath!
[?25l[24;1H[K[24;1H[35m--- Included files in path ---[m
[34mXdir1/dir2/foo.a[m
Xdir1/dir2/foo.a -->
[34mXdir1/dir2/bar.a[m
Xdir1/dir2/bar.a -->
[34mXdir1/dir2/baz.a[m
Xdir1/dir2/baz.a -->
[34m"foo.a"[m (Already listed)
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[8L[1;1H#include <foo.a>
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[24;1H[K[1;19H[?12l[?25h[?25l[24;1H:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters[1;1Hi#include "foo.a"[34m^[[m:
:w[2;3H[K[3;1H:e Xbase.a[3;11H[K[4;1H:set path=Xdir1/dir2[4;21H[K[5;1Hi#include <foo.a>[34m^[[m:[5;24H[K[6;1H:w[6;3H[K[7;1H:redir! >>test.out[7;19H[K[8;1H:checkpath![8;12H[K[9;1H:redir END[9;11H[K[10;1H:brewind[10;9H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1HSTARTTEST[13;10H[K[14;1H:" check for 'include' with \zs and \ze[14;40H[K[15;1H:call delete("./Xbase.b")[15;26H[K[16;1H:call delete("Xdir1", "rf")[16;28H[K[17;1H:!mkdir Xdir1[17;14H[K[18;1H:!mkdir "Xdir1/dir2"[18;21H[K[19;1H:let &include='^\s*%inc\s*/\zs[^/]\+\ze'[19;41H[K[20;1H:function! DotsToSlashes()[20;27H[K[21;1H: return substitute(v:fname, '\.', '/', 'g') . '.b'[21;53H[K[22;1H:endfunction[22;13H[K[23;1H:let &includeexpr='DotsToSlashes()'[23;36H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H27 lines, 532 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:e Xdir1/dir2/baz.b
i%inc[12C/foo/[34m^[[m:
:w
:e Xbase.b
:set path=Xdir1/dir2
i%inc /foo/[34m^[[m:
: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][12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" check for 'include' with \zs and \ze
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("./Xbase.b")
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir Xdir1
[?25l[13C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[20C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25hlet &include='^\s*%inc\s*/\zs[^/]\+\ze'
[?25l[27m[23m[m[H[2J[1;1H:e Xdir1/dir2/baz.b
i%inc[12C/foo/[34m^[[m:
:w
:e Xbase.b
:set path=Xdir1/dir2
i%inc /foo/[34m^[[m:
: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][13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfunction! DotsToSlashes()
[?25l
: [?12l[?25h: return substitute(v:fname, '\.', '/', 'g') . '.b'
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1H:e Xdir1/dir2/baz.b
i%inc[12C/foo/[34m^[[m:[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet &includeexpr='DotsToSlashes()'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xdir1/dir2/foo.b
[?25l"Xdir1/dir2/foo.b" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m%inc /bar/[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/foo.b" [New File] 1 line, 13 characters written[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/bar.b
[?25l"Xdir1/dir2/bar.b" [New File][1;1H[K[1;1H[?12l[?25h[?25l%inc /baz/[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/bar.b" [New File] 1 line, 16 characters written[1;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/baz.b
[?25l"Xdir1/dir2/baz.b" [New File][1;1H[K[1;1H[?12l[?25h[?25l%inc[12C/foo/[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/baz.b" [New File] 1 line, 22 characters written[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xbase.b
[?25l"Xbase.b" [New File][1;1H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset path=Xdir1/dir2
[?25l[1;1H[?12l[?25h[?25l%inc /foo/[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xbase.b" [New File] 1 line, 14 characters written[1;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir! >>test.out
[?25l[1;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcheckpath!
[?25l[24;1H[K[24;1H[35m--- Included files in path ---[m
[34mXdir1/dir2/foo.b[m
Xdir1/dir2/foo.b -->
[34mXdir1/dir2/bar.b[m
Xdir1/dir2/bar.b -->
[34mXdir1/dir2/baz.b[m
Xdir1/dir2/baz.b -->
[34mfoo[m (Already listed)
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[8L[1;1H%inc /foo/
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[24;1H[K[1;13H[?12l[?25h[?25l[24;1H:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters[1;1Hi%inc /foo/[34m^[[m:
:w[2;3H[K[3;1H:e Xbase.b[3;11H[K[4;1H:set path=Xdir1/dir2[4;21H[K[5;1Hi%inc /foo/[34m^[[m:[5;18H[K[6;1H:w[6;3H[K[7;1H:redir! >>test.out[7;19H[K[8;1H:checkpath![8;12H[K[9;1H:redir END[9;11H[K[10;1H:brewind[10;9H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1HSTARTTEST[13;10H[K[14;1H:" check for 'include' with \zs and no \ze[14;43H[K[15;1H:call delete("./Xbase.c")[15;26H[K[16;1H:call delete("Xdir1", "rf")[16;28H[K[17;1H:!mkdir Xdir1[17;14H[K[18;1H:!mkdir "Xdir1/dir2"[18;21H[K[19;1H:let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'[19;73H[K[20;1H:function! StripNewlineChar()[20;30H[K[21;1H: if v:fname =~ '\n$'[21;23H[K[22;1H: return v:fname[:-2][22;25H[K[23;1H: endif[23;9H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H39 lines, 745 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:w
:e Xdir1/dir2/baz.c
i%inc[12Cfoo.c[34m^[[m:
:w
:e Xdir1/dir2/FALSE.c
i%inc[12Cfoo.c[34m^[[m:
:w
:e Xbase.c
:set path=Xdir1/dir2
i%inc FALSE.c foo.c[34m^[[m:
: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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" check for 'include' with \zs and no \ze
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("./Xbase.c")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xdir1", "rf")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir Xdir1
[?25l[13C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25h!mkdir "Xdir1/dir2"
[?25l[20C[?1l>[?12l[?25h[?1049l
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:[?12l[?25hlet &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'
[?25l[27m[23m[m[H[2J[1;1H:w
:e Xdir1/dir2/baz.c
i%inc[12Cfoo.c[34m^[[m:
:w
:e Xdir1/dir2/FALSE.c
i%inc[12Cfoo.c[34m^[[m:
:w
:e Xbase.c
:set path=Xdir1/dir2
i%inc FALSE.c foo.c[34m^[[m:
: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
[1;1H[5L[?25l[1;1H:w
:e Xdir1/dir2/baz.c
i%inc[12Cfoo.c[34m^[[m:
:w
:e Xdir1/dir2/FALSE.c[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet &includeexpr='StripNewlineChar()'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xdir1/dir2/foo.c
[?25l"Xdir1/dir2/foo.c" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m%inc bar.c[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/foo.c" [New File] 1 line, 13 characters written[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/bar.c
[?25l"Xdir1/dir2/bar.c" [New File][1;1H[K[1;1H[?12l[?25h[?25l%inc baz.c[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/bar.c" [New File] 1 line, 16 characters written[1;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/baz.c
[?25l"Xdir1/dir2/baz.c" [New File][1;1H[K[1;1H[?12l[?25h[?25l%inc[12Cfoo.c[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/baz.c" [New File] 1 line, 22 characters written[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xdir1/dir2/FALSE.c
[?25l"Xdir1/dir2/FALSE.c" [New File][1;1H[K[1;1H[?12l[?25h[?25l%inc[12Cfoo.c[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xdir1/dir2/FALSE.c" [New File] 1 line, 22 characters written[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xbase.c
[?25l"Xbase.c" [New File][1;1H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset path=Xdir1/dir2
[?25l[1;1H[?12l[?25h[?25l%inc FALSE.c foo.c[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xbase.c" [New File] 1 line, 22 characters written[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir! >>test.out
[?25l[1;21H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcheckpath!
[?25l[24;1H[K[24;1H[35m--- Included files in path ---[m
[34mXdir1/dir2/foo.c[m
Xdir1/dir2/foo.c -->
[34mXdir1/dir2/bar.c[m
Xdir1/dir2/bar.c -->
[34mXdir1/dir2/baz.c[m
Xdir1/dir2/baz.c -->
[34mfoo.c[m (Already listed)
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[8L[1;1H%inc FALSE.c foo.c
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[24;1H[K[1;21H[?12l[?25h[?25l[24;1H:[?12l[?25hbrewind
[?25l"test17.in" 135 lines, 2431 characters[1;1H:w[1;3H[K[2;1H:e Xdir1/dir2/baz.c[2;20H[K[3;1Hi%inc foo.c[34m^[[m:[3;26H[K[4;1H:w[4;3H[K[5;1H:e Xdir1/dir2/FALSE.c[5;22H[K[6;1Hi%inc foo.c[34m^[[m:[6;26H[K[7;1H:w[7;3H[K[8;1H:e Xbase.c[8;11H[K[9;1H:set path=Xdir1/dir2[9;21H[K[10;1Hi%inc FALSE.c foo.c[34m^[[m:[10;26H[K[11;1H:w[11;3H[K[12;1H:redir! >>test.out[12;19H[K[13;1H:checkpath![13;12H[K[14;1H:redir END[14;11H[K[15;1H:brewind[15;9H[K[16;1H:" change "\" to "/" for Windows and fix 'fileformat'[16;54H[K[17;1H:e test.out[17;12H[K[18;1H:%s#\\#/#g[18;11H[K[19;1H:set ff&[19;9H[K[20;1H:w[20;3H[K[21;1H:q[21;3H[K[22;1HENDTEST[22;8H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" change "\" to "/" for Windows and fix 'fileformat'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he test.out
[?25l"test.out" 33 lines, 655 characters[1;1HThis file is just to test "gf" in test 17.
The contents is not important.
Just testing![3;18H[K[4;1H[K[5;1H[K[6;1H--- Included files in path ---
Xdir1/dir2/foo.a
Xdir1/dir2/foo.a -->
Xdir1/dir2/bar.a[9;19H[K[10;1H Xdir1/dir2/bar.a -->[10;23H[K[11;1H Xdir1/dir2/baz.a
Xdir1/dir2/baz.a -->
"foo.a" (Already listed)[14;1H[K[15;1H[K[16;1H--- Included files in path ---[16;31H[K[17;1HXdir1/dir2/foo.b
Xdir1/dir2/foo.b -->
Xdir1/dir2/bar.b
Xdir1/dir2/bar.b -->
Xdir1/dir2/baz.b
Xdir1/dir2/baz.b -->[23;7Hfoo (Already listed)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%s#\\#/#g
[?25l[1m[37m[41mE486: Pattern not found: \\[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ff&
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" 33 lines, 655 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test30.in" 237 lines, 3762 characters[1;1HTest 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[34m^[[m
:$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.[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for a lot of variations of the 'fileformats' option[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 221 lines, 3592 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$r XXtt64
Go7[34m^[[m:$r XXtt71
:$r XXtt72
Go8[34m^[[m:$r XXtt81
:$r XXtt82
Go9[34m^[[m:$r XXtt91
:$r XXtt92
:$r XXtt93
Go10[34m^[[m:$r XXUnix
:set nobinary ff&
:w
:qa!
ENDTEST
unix
unix
eof
dos[34m^M[m
dos[34m^M[m
eof
mac[34m^M[mmac[34m^M[13;1H[?12l[?25h
[?25l[24;1H[m:so! Xdotest
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" first write three test files, one in each format
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformat=unix
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^unix/;/eof/-1w! XXUnix
[?25l"XXUnix" [24;10H[K[24;10H[New File] 2 lines, 10 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^dos/;/eof/-1w! XXDos
[?25l"XXDos" [24;9H[K[24;9H[New File] 2 lines, 10 characters written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin noeol
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! XXMac
[?25l"XXMac" [24;9H[K[24;9H[New File][Incomplete last line] 1 line, 8 characters written[19;1H[?12l[?25h[23;1H[?25l[1;23r[23;1H
[1;24r[23;1Hnoeol[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$w! XXEol
[?25l"XXEol" [24;9H[K[24;9H[New File][Incomplete last line] 1 line, 5 characters written[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nobin eol
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25henew!
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l3 buffers wiped out[24;21H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" create mixed format files
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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=[24;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=[24;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=[24;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=[24;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=[24;1H
[?25l: :[?12l[?25hendif
[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h" try reading and writing with 'fileformats' empty
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformat=unix
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUnix
[?25l"XXUnix" [24;10H[K[24;10H2 lines, 10 characters[1;1Hunix
unix[2;5H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 2 lines, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXDos
[?25l"XXDos" [24;9H[K[24;9H2 lines, 10 characters[1;1Hdos[34m^M[m
dos[34m^M[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt01
[?25l"XXtt01" [24;10H[K[24;10H[New File] 2 lines, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXMac
[?25l"XXMac" [24;9H[K[24;9H[Incomplete last line] 1 line, 8 characters[1;1Hmac[2Cmac[34m^M[m
[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt02
[?25l"XXtt02" [24;10H[K[24;10H[New File] 1 line, 9 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters
3 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fileformat=dos
[?25l[1;1H[2L[1;1H:$r XXtt64
Go7[34m^[[m:$r XXtt71
:$r XXtt72[3;11H[K[4;1HGo8[34m^[[m:$r XXtt81[4;16H[K[5;1H:$r XXtt82[5;11H[K[6;1HGo9[34m^[[m:$r XXtt91[6;16H[K[7;1H:$r XXtt92[7;11H[K[8;1H:$r XXtt93[8;11H[K[9;1HGo10[34m^[[m:$r XXUnix[9;17H[K[10;1H:set nobinary ff&[10;18H[K[11;1H:w[11;3H[K[12;1H:qa![12;5H[K[13;1HENDTEST[13;8H[K[14;1H[K[15;1Hunix[15;5H[K[16;1Hunix[16;5H[K[17;1Heof[17;4H[K[18;1H[K[19;1Hdos[34m^M[m[19;6H[K[20;1Hdos[34m^M[m[20;6H[K[21;1Heof[21;4H[K[22;1H[K[23;1Hmac[34m^M[mmac[34m^M[m[23;11H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25he! XXUnix
[?25l"XXUnix" [24;10H[K[24;10H[CR missing][dos format] 2 lines, 10 characters[1;1Hunix[1;5H[K[2;1Hunix[2;5H[K[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt11
[?25l"XXtt11" [24;10H[K[24;10H[New File][dos format] 2 lines, 12 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXDos
[?25l"XXDos" [24;9H[K[24;9H[dos format] 2 lines, 10 characters[1;1Hdos[1;4H[K[2;1Hdos[2;4H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXtt12
[?25l"XXtt12" [24;10H[K[24;10H[New File][dos format] 2 lines, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXMac
[?25l"XXMac" [24;9H[K[24;9H[Incomplete last line][dos format] 1 line, 8 characters[1;1Hmac[34m^M[mmac[34m^M[m
[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt13
[?25l"XXtt13" [24;10H[K[24;10H[New File][dos format] 1 line, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters
3 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fileformat=mac
[?25l[1;1H[2L[1;1H:$r XXtt64
Go7[34m^[[m:$r XXtt71
:$r XXtt72[3;11H[K[4;1HGo8[34m^[[m:$r XXtt81[4;16H[K[5;1H:$r XXtt82[5;11H[K[6;1HGo9[34m^[[m:$r XXtt91[6;16H[K[7;1H:$r XXtt92[7;11H[K[8;1H:$r XXtt93[8;11H[K[9;1HGo10[34m^[[m:$r XXUnix[9;17H[K[10;1H:set nobinary ff&[10;18H[K[11;1H:w[11;3H[K[12;1H:qa![12;5H[K[13;1HENDTEST[13;8H[K[14;1H[K[15;1Hunix[15;5H[K[16;1Hunix[16;5H[K[17;1Heof[17;4H[K[18;1H[K[19;1Hdos[19;4H[K[20;1Hdos[20;4H[K[21;1Heof[21;4H[K[22;1H[K[23;1Hmac[34m^J[mmac[23;9H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25he! XXUnix
[?25l"XXUnix" [24;10H[K[24;10H[Incomplete last line][mac format] 1 line, 10 characters[1;1Hunix[34m^J[munix[34m^J[m
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt21
[?25l"XXtt21" [24;10H[K[24;10H[New File][mac format] 1 line, 11 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXDos
[?25l"XXDos" [24;9H[K[24;9H[Incomplete last line][mac format] 3 lines, 10 characters[1;1Hdos[1;4H[K[2;1H[34m^J[mdos[2;6H[K[3;1H[34m^J[m[3;3H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXtt22
[?25l"XXtt22" [24;10H[K[24;10H[New File][mac format] 3 lines, 11 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXMac
[?25l"XXMac" [24;9H[K[24;9H[mac format] 2 lines, 8 characters[1;1Hmac
mac[2;4H[K[3;1H[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt23
[?25l"XXtt23" [24;10H[K[24;10H[New File][mac format] 2 lines, 8 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUnix XXDos XXMac
[?25l"test30.in" [24;13H[K[24;13H[Incomplete last line][mac format] 5 lines, 3762 characters
3 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[2L[1;1H[34m^J[mdos
[34m^J[meof[34m^J^J[mmac
mac[3;4H[K[4;1H[34m^J[m[4;3H[K[24;1H[K[4;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" try reading and writing with 'fileformats' set to one format
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=unix
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;5H[K[2;1Hunix[2;5H[K[3;1Hdos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m[5;11H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXtt31
[?25l"XXtt31" [24;10H[K[24;10H[New File] 5 lines, 29 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=dos
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line][CR missing][dos format] 5 lines, 28 character
[23;80Hs[24;1H
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt32
[?25l"XXtt32" [24;10H[K[24;10H[New File][dos format] 5 lines, 32 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters[1;1H[3L[1;1HTest for a lot of variations of the 'fileformats' option
Note: This test will fail if "cat" is not available.[24;1H[K[24;1H"test30.in" [CR missing][dos format] 237 lines, 3762 characters[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=mac
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[mac format] 4 lines, 28 characters[1;1Hunix[34m^J[munix[34m^J[mdos[1;16H[K[2;1H[34m^J[mdos
[34m^J[mmac[3;7H[K[4;1Hmac
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt33
[?25l"XXtt33" [24;10H[K[24;10H[New File][mac format] 4 lines, 28 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H[Incomplete last line][mac format] 5 lines, 3762 characters[1;1H[34m^J[mdos[1;6H[K[2;3Heof[34m^J^J[mmac
mac[3;4H[K[4;1H[34m^J[m[4;3H[K[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" try reading and writing with 'fileformats' set to two formats
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=unix,dos
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;5H[K[2;1Hunix[2;5H[K[3;1Hdos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m[5;11H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXtt41
[?25l"XXtt41" [24;10H[K[24;10H[New File] 5 lines, 29 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxMac
[?25l"XXUxMac" [24;11H[K[24;11H[Incomplete last line] 3 lines, 18 characters[1;1Hunix[1;6H[K[2;1Hunix
mac[34m^M[mmac[34m^M[m[3;12H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt42
[?25l"XXtt42" [24;10H[K[24;10H[New File] 3 lines, 19 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxMac
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXDosMac
[?25l"XXDosMac" [24;12H[K[24;12H[Incomplete last line][dos format] 3 lines, 18 characters[1;1Hdo[1;4H[K[2;1Hdos
mac[34m^M[mmac[34m^M[m[3;12H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt43
[?25l"XXtt43" [24;10H[K[24;10H[New File][dos format] 3 lines, 20 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXDosMac
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=unix,mac
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDs
[?25l"XXUxDs" [24;10H[K[24;10H4 lines, 20 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt51
[?25l"XXtt51" [24;10H[K[24;10H[New File] 4 lines, 20 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDs
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt52
[?25l"XXtt52" [24;10H[K[24;10H[New File] 5 lines, 29 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXDosMac
[?25l"XXDosMac" [24;12H[K[24;12H[mac format] 4 lines, 18 characters[1;1Hdo[1;4H[K[2;1H[34m^J[mdos
[34m^J[mmac[3;7H[K[4;1Hmac
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt53
[?25l"XXtt53" [24;10H[K[24;10H[New File][mac format] 4 lines, 18 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXDosMac
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXEol
[?25l"XXEol" [24;9H[K[24;9H[Incomplete last line] 1 line, 5 characters[1;1Hnoeol[1;6H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H=[?12l[?25h&ffs
[?25l[24;1H[K[24;1H=[?12l[?25h&ff
[?25l[1;23r[1;1H[L[1;24r[1;1Hunix,mac:unix[24;1H[K[1;13H[?12l[?25h[?25l[24;1H:[?12l[?25hw! XXtt54
[?25l"XXtt54" [24;10H[K[24;10H[New File] 2 lines, 20 characters written[1;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[3;53H[K[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=dos,mac
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDs
[?25l"XXUxDs" [24;10H[K[24;10H[CR missing][dos format] 4 lines, 20 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[3;4H[K[4;1Hdos
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt61
[?25l"XXtt61" [24;10H[K[24;10H[New File][dos format] 4 lines, 22 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDs
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxMac
[?25l"XXUxMac" [24;11H[K[24;11H[Incomplete last line][CR missing][dos format] 3 lines, 18 characters[1;1Hunix[1;6H[K[2;1Hunix
mac[34m^M[mmac[34m^M[m[3;12H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H=[?12l[?25h&ffs
[?25l[24;1H[K[24;1H=[?12l[?25h&ff
[?25l[1;23r[1;1H[L[1;24r[1;1Hdos,mac:dos[24;1H[K[1;11H[?12l[?25h[?25l[24;1H:[?12l[?25hw! XXtt62
[?25l"XXtt62" [24;10H[K[24;10H[New File][dos format] 4 lines, 35 characters written[1;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxMac
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line][CR missing][dos format] 5 lines, 28 character
[23;80Hs[24;1H
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt63
[?25l"XXtt63" [24;10H[K[24;10H[New File][dos format] 5 lines, 32 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters[1;1H[3L[1;1HTest for a lot of variations of the 'fileformats' option
Note: This test will fail if "cat" is not available.[24;1H[K[24;1H"test30.in" [CR missing][dos format] 237 lines, 3762 characters[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXMacEol
[?25l"XXMacEol" [24;12H[K[24;12H[Incomplete last line][mac format] 3 lines, 13 characters[1;1Hmac[1;4H[K[2;1Hmac
noeol[3;7H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H=[?12l[?25h&ffs
[?25l[24;1H[K[24;1H=[?12l[?25h&ff
[?25l[1;23r[1;1H[L[1;24r[1;1Hdos,mac:mac[24;1H[K[1;11H[?12l[?25h[?25l[24;1H:[?12l[?25hw! XXtt64
[?25l"XXtt64" [24;10H[K[24;10H[New File][mac format] 4 lines, 26 characters written[1;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXMacEol
[?25l"test30.in" [24;13H[K[24;13H[CR missing][dos format] 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" try reading and writing with 'fileformats' set to three formats
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=unix,dos,mac
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt71
[?25l"XXtt71" [24;10H[K[24;10H[New File] 5 lines, 29 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXEol
[?25l"XXEol" [24;9H[K[24;9H[Incomplete last line] 1 line, 5 characters[1;1Hnoeol[1;6H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H=[?12l[?25h&ffs
[?25l[24;1H[K[24;1H=[?12l[?25h&ff
[?25l[1;23r[1;1H[L[1;24r[1;1Hunix,dos,mac:unix[24;1H[K[1;17H[?12l[?25h[?25l[24;1H:[?12l[?25hw! XXtt72
[?25l"XXtt72" [24;10H[K[24;10H[New File] 2 lines, 24 characters written[1;17H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[3;53H[K[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=mac,dos,unix
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt81
[?25l"XXtt81" [24;10H[K[24;10H[New File] 5 lines, 29 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXEol
[?25l"XXEol" [24;9H[K[24;9H[Incomplete last line][mac format] 1 line, 5 characters[1;1Hnoeol[1;6H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H=[?12l[?25h&ffs
[?25l[24;1H[K[24;1H=[?12l[?25h&ff
[?25l[1;23r[1;1H[L[1;24r[1;1Hmac,dos,unix:mac[24;1H[K[1;16H[?12l[?25h[?25l[24;1H:[?12l[?25hw! XXtt82
[?25l"XXtt82" [24;10H[K[24;10H[New File][mac format] 2 lines, 23 characters written[1;16H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXEol
[?25l"test30.in" 237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[3;53H[K[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" try with 'binary' set
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=mac,unix,dos
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset binary
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt91
[?25l"XXtt91" [24;10H[K[24;10H[New File][Incomplete last line] 5 lines, 28 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=mac
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt92
[?25l"XXtt92" [24;10H[K[24;10H[New File][Incomplete last line] 5 lines, 28 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXUxDsMc
[?25l"test30.in" [24;13H[K[24;13H237 lines, 3762 characters[1;1HTest for a lot of variations of the 'fileformats' option[2;1H[K[3;1HNote: This test will fail if "cat" is not available.[4;1H[K[5;1HSTARTTEST[5;10H[K[6;1H:so small.vim[6;14H[K[7;1H:" first write three test files, one in each format[7;52H[K[8;1H:set fileformat=unix[8;21H[K[9;1H:set fileformats=[9;18H[K[10;1H:/^unix/;/eof/-1w! XXUnix[10;26H[K[11;1H:/^dos/;/eof/-1w! XXDos[11;24H[K[12;1H:set bin noeol[12;15H[K[13;1H:$w! XXMac[13;11H[K[14;1HGonoeol[34m^[[m[14;10H[K[15;1H:$w! XXEol[15;11H[K[16;1H:set nobin eol[16;15H[K[17;1H:enew![17;7H[K[18;1H:bwipe XXUnix XXDos XXMac[18;26H[K[19;1H:" create mixed format files[19;29H[K[20;1H:if has("vms")[20;15H[K[21;1H: !copy XXUnix,XXDos XXUxDs.[21;29H[K[22;1H: !copy XXUnix,XXMac XXUxMac.[22;30H[K[23;1H: !copy XXDos,XXMac XXDosMac.[23;31H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=dos
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXUxDsMc
[?25l"XXUxDsMc" [24;12H[K[24;12H[Incomplete last line] 5 lines, 28 characters[1;1Hunix[1;6H[K[2;1Hunix
dos[34m^M[m[3;7H[K[4;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[m
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! XXtt93
[?25l"XXtt93" [24;10H[K[24;10H[New File][Incomplete last line] 5 lines, 28 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Append "END" to each file so that we can see what the last written char was.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformat=unix nobin
[?25l[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[24;1H--No lines in buffer--[24;23H[K[1;1H[?12l[?25h[?25lEND[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt01
[?25l"XXtt01" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt02
[?25l"XXtt02" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt11
[?25l"XXtt11" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt12
[?25l"XXtt12" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt13
[?25l"XXtt13" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt21
[?25l"XXtt21" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt22
[?25l"XXtt22" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt23
[?25l"XXtt23" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt31
[?25l"XXtt31" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt32
[?25l"XXtt32" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt33
[?25l"XXtt33" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt41
[?25l"XXtt41" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt42
[?25l"XXtt42" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt43
[?25l"XXtt43" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt51
[?25l"XXtt51" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt52
[?25l"XXtt52" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt53
[?25l"XXtt53" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt54
[?25l"XXtt54" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt61
[?25l"XXtt61" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt62
[?25l"XXtt62" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt63
[?25l"XXtt63" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt64
[?25l"XXtt64" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt71
[?25l"XXtt71" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt72
[?25l"XXtt72" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt81
[?25l"XXtt81" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt82
[?25l"XXtt82" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt91
[?25l"XXtt91" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt92
[?25l"XXtt92" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXtt93
[?25l"XXtt93" [24;10H[K[24;10H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Concatenate the results.
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make fileformat of test.out the native fileformat.
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Add a newline at the end.
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset binary
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H2 lines, 10 characters[1;1Hunix
unix[2;5H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt01
[?25l"XXtt01" [24;10H[K[24;10H3 lines, 14 characters[3;1Hdos[34m^M[m[3;6H[K[4;1Hdos[34m^M[m[4;6H[K[5;1HEND[5;4H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt02
[?25l"XXtt02" [24;10H[K[24;10H2 lines, 13 characters[6;1Hmac[34m^M[mmac[34m^M[m[6;11H[K[7;1HEND[7;4H[K[6;1H[?12l[?25h
[?25l
1[8;2H[K[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt11
[?25l"XXtt11" [24;10H[K[24;10H3 lines, 16 characters[9;1Hunix[34m^M[m[9;7H[K[10;1Hunix[34m^M[m[10;7H[K[11;1HEND[11;4H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt12
[?25l"XXtt12" [24;10H[K[24;10H3 lines, 14 characters[12;1Hdos[34m^M[m[12;6H[K[13;1Hdos[34m^M[m[13;6H[K[14;1HEND[14;4H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt13
[?25l"XXtt13" [24;10H[K[24;10H2 lines, 14 characters[15;1Hmac[34m^M[mmac[34m^M^M[m[15;13H[K[16;1HEND[16;4H[K[15;1H[?12l[?25h
[?25l
2[17;2H[K[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt21
[?25l"XXtt21" [24;10H[K[24;10H3 lines, 15 characters[18;1Hunix[18;5H[K[19;1Hunix[19;5H[K[20;1H[34m^M[mEND[20;6H[K[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt22
[?25l"XXtt22" [24;10H[K[24;10H3 lines, 15 characters[21;1Hdos[34m^M[m[21;6H[K[22;1Hdos[34m^M[m[22;6H[K[23;1H[34m^M[mEND[23;6H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXtt23
[?25l"XXtt23" [24;10H[K[24;10H1 line, 12 characters[1;23r[23;1H
[1;24r[23;1Hmac[34m^M[mmac[34m^M[mEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H3[?12l[?25h[?25l
:[?12l[?25h$r XXtt31
[?25l"XXtt31" [24;10H[K[24;10H6 lines, 33 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt32
[?25l"XXtt32" [24;10H[K[24;10H6 lines, 36 characters[1;23r[1;1H[6M[1;24r[18;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m
END
unix[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt33
[?25l"XXtt33" [24;10H[K[24;10H5 lines, 32 characters[1;23r[1;1H[6M[1;24r[18;1Hunix[34m^M[m
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M^M[m
END
unix[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[20;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[mEND
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H4[?12l[?25h[?25l
:[?12l[?25h$r XXtt41
[?25l"XXtt41" [24;10H[K[24;10H6 lines, 33 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt42
[?25l"XXtt42" [24;10H[K[24;10H4 lines, 23 characters[1;23r[1;1H[6M[1;24r[18;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m
END
unix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt43
[?25l"XXtt43" [24;10H[K[24;10H4 lines, 24 characters[1;23r[1;1H[4M[1;24r[20;1Hunix
mac[34m^M[mmac[34m^M[m
END
dos[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M^M[m
END
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H5[?12l[?25h[?25l
:[?12l[?25h$r XXtt51
[?25l"XXtt51" [24;10H[K[24;10H5 lines, 24 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt52
[?25l"XXtt52" [24;10H[K[24;10H6 lines, 33 characters[1;23r[1;1H[5M[1;24r[19;1Hunix
dos[34m^M[m
dos[34m^M[m
END
unix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt53
[?25l"XXtt53" [24;10H[K[24;10H3 lines, 22 characters[1;23r[1;1H[6M[1;24r[18;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m
END
dos[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt54
[?25l"XXtt54" [24;10H[K[24;10H3 lines, 24 characters[1;23r[1;1H[3M[1;24r[21;1Hdos[34m^M[m
mac[34m^M[mmac[34m^M[mEND
unix,mac:unix[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hnoeol
END
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H6[?12l[?25h[?25l
:[?12l[?25h$r XXtt61
[?25l"XXtt61" [24;10H[K[24;10H5 lines, 26 characters[1;23r[23;1H
[1;24r[23;1Hunix[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt62
[?25l"XXtt62" [24;10H[K[24;10H5 lines, 39 characters[1;23r[1;1H[5M[1;24r[19;1Hunix[34m^M[m
dos[34m^M[m
dos[34m^M[m
END
dos,mac:dos[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt63
[?25l"XXtt63" [24;10H[K[24;10H6 lines, 36 characters[1;23r[1;1H[5M[1;24r[19;1Hunix[34m^M[m
unix[34m^M[m
mac[34m^M[mmac[34m^M^M[m
END
unix[34m^M[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt64
[?25l"XXtt64" [24;10H[K[24;10H1 line, 30 characters[1;23r[1;1H[6M[1;24r[18;1Hunix[34m^M[m
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M^M[m
END
dos,mac:mac[34m^M[mmac[34m^M[mmac[34m^M[mnoeol[34m^M[mEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H7[?12l[?25h[?25l
:[?12l[?25h$r XXtt71
[?25l"XXtt71" [24;10H[K[24;10H6 lines, 33 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt72
[?25l"XXtt72" [24;10H[K[24;10H3 lines, 28 characters[1;23r[1;1H[6M[1;24r[18;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m
END
unix,dos,mac:unix[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hnoeol
END
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H8[?12l[?25h[?25l
:[?12l[?25h$r XXtt81
[?25l"XXtt81" [24;10H[K[24;10H6 lines, 33 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt82
[?25l"XXtt82" [24;10H[K[24;10H1 line, 27 characters[1;23r[1;1H[6M[1;24r[18;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[m
END
mac,dos,unix:mac[34m^M[mnoeol[34m^M[mEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H9[?12l[?25h[?25l
:[?12l[?25h$r XXtt91
[?25l"XXtt91" [24;10H[K[24;10H5 lines, 32 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt92
[?25l"XXtt92" [24;10H[K[24;10H5 lines, 32 characters[1;23r[1;1H[5M[1;24r[19;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[mEND
unix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r XXtt93
[?25l"XXtt93" [24;10H[K[24;10H5 lines, 32 characters[1;23r[1;1H[5M[1;24r[19;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[mEND
unix[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[20;1Hunix
dos[34m^M[m
dos[34m^M[m
mac[34m^M[mmac[34m^M[mEND
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H10[?12l[?25h[?25l
:[?12l[?25h$r XXUnix
[?25l"XXUnix" [24;10H[K[24;10H2 lines, 10 characters[1;23r[23;1H
[1;24r[23;1Hunix[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset nobinary ff&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" 130 lines, 786 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test32.in" 60 lines, 1391 characters[1;1HTest 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)[11;1H: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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for insert expansion[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:so small.vim[24;1H[K[23;1H[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 27 lines, 533 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1HO[34m^N^[[mIX[34m^[[mA[34m^X^F^N^[[m
:" 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[34m^X^F^H^H^H^H^H^H^H^H^X^F^[[mddk
:se cpt=w
OST[34m^N^P^P^P^P^[[m
:se cpt=u nohid
[34m^W[moOEN[34m^N[m
unl[34m^N^X^X^P^[[m
:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch
O[34m^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D[m
a[34m^N^[[m
:wq! test.out
ENDTEST
start of testfile
run1
run2
end of testfile
test11 36Gepeto[8C/Tag/
asd test11file 36G
Makefile[8Cto run[14;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hse nocp viminfo+=nviminfo cpt=.,w ff=unix | $-2,$w!Xtestfile | set ff&
[?25l"Xtestfile" [24;13H[K[24;13H[New] 3L, 57C written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hse cot=
[?25l[15;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1Hunl[34m^N^X^X^P^[[m
:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch
O[34m^X^]^X^D^X^D^X^X^D^X^D^X^D^X^D[m
a[34m^N^[[m[16;7H[K[17;1H:wq! test.out
ENDTEST[19;1H[K[20;1Hstart of testfile
run1[21;5H[K[22;1Hrun2[22;9H[K[23;1H[7mtest32.in [1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --
-- Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Keyword completion (^N^P) [m[32mmatch 1 of 4[2;3H[m[24;29H[K[24;1Hmatch in file test32.in[1m^[m[24;24H[K[24;1H[1m-- Keyword completion (^N^P) [m[32mmatch 2 of 4[2;5H[m[24;29H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mAdding Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Adding Keyword completion (^N^P) Word from other line[2;10H[1;11r[m[1;1H[2L[1;24r[1;1H#include "Xtestfile"
run1 run2[12;11H[1m[7m[+][2;10H[?12l[?25h[m[24;1H[K[?25l[24;1H[1m-- Adding Keyword completion (^N^P) Word from other line[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[2;9H[?12l[?25h[?25l3[?12l[?25h
[?25l[24;1H[1m-- INSERT --
-- Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1H[1m-- Keyword completion (^N^P) [m[32mmatch 1 of 115[3;5H[m[24;29H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mAdding Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1H[1m-- Adding Keyword completion (^N^P) Word from other line[3;10H[m[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mKeyword Local completion (^N^P) -- Searching...[m[24;36H[32mmatch 1 of 4[m[1m.[m[24;48H[K[4;5H[24;35H[K[24;35H[1m [m[32mmatch 2 of 4[4;5H[m[24;35H[K[24;35H[1m [m[32mmatch 3 of 4[4;10H[m[24;35H[K[24;35H[1m [m[32mmatch 4 of 4[4;8H[m[24;35H[K[24;35H[1m [m[31mBack at original[4;1H[m[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mKeyword Local completion (^N^P) -- Searching...[m[24;36H[32mmatch 1 of 4[m[1m.[m[24;48H[K[5;5H[24;35H[K[24;35H[1m [m[32mmatch 2 of 4[5;5H[m[24;35H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mKeyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1H[1m-- Keyword completion (^N^P) The only match[5;5H[m[24;29H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mAdding Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1H[1m-- Adding Keyword completion (^N^P) [m[32mmatch 1 of 2[5;10H[m[24;36H[K[24;1Hmatch in file test32.in[1me[m[24;24H[K[24;1H[1m-- Adding Keyword completion (^N^P) Word from other line[5;10H[3;11r[m[3;1H[3L[1;24r[3;1Hrun3 run3
run1 run2[?12l[?25h[24;1H[K[?25l[24;1H[1m-- Adding Keyword completion (^N^P) Word from other line[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[5;9H[?12l[?25h
[?25l[24;1H:[?12l[?25hse cpt=.,w,i
[?25l[6;1H[?12l[?25h[5;9H[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;4H[1mKeyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;9H[32m included file: Xtestfile[m
match in file test32.in[24;24H[K[24;1H[1m-- Keyword completion (^N^P) The only match[5;9H[m[24;29H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mAdding Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;9H[32m included file: Xtestfile[m
match in file test32.in[24;24H[K[24;1H[1m-- Adding Keyword completion (^N^P) The only match[5;19H[m[24;36H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mAdding Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;9H[32m included file: Xtestfile[m
match in file test32.in[24;24H[K[24;1H[1m-- Adding Keyword completion (^N^P) The only match[5;28H[m[24;36H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mKeyword Local completion (^N^P) -- Searching...[m[24;36H[32mmatch 1 of 3[m[1m.[m[24;48H[K[5;29H[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Whole line completion (^L^N^P)^ U-- Searching...[m
[32mScanning: test32.in[m[1me[m[24;20H[K[24;1H[1m-- Whole line completion (^L^N^P) [m[32mmatch 1 of 57[6;29H[m[24;4H[1mINSERT --e[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) [m[32mmatch 1 of 57[m[24;4H[1mAddinge Whole line completion (^L^N^P) -- Searching...[m
[32mScanning: test32.in[m[1me[m[24;20H[K[24;1H[1m-- Adding Whole line completion (^L^N^P) The only match[7;29H[m[24;41H[K[24;41H[1m [m[31mBack at original[7;1H[m[24;41H[K[24;41H[1m The only match[7;29H[5;11r[m[5;1H[3L[1;24r[5;1HMakefile[8Cto run3
Makefile[8Cto run3
Makefile[8Cto run3[?12l[?25h[24;1H[K[?25l[24;1H[1m-- INSERT --[m[24;1H[K[7;28H[?12l[?25h[8;9H[?25l[24;1H:[?12l[?25hse cpt=kXtestfile
[?25l[8;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw Xtest11.one
[?25l"Xtest11.one" [New] 9L, 104C written[12;1H[1m[7mXtest11.one+ [8;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw Xtest11.two
[?25l"Xtest11.two" [New] 9L, 104C written[8;9H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;4H[1mKeyword completion (^N^P) -- Searching...[m
[32mScanning dictionary: Xtestfile[m[1m-[m[24;31H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Keyword completion (^N^P) [m[32mmatch 1 of 9[8;7H[8;11r[m[8;1H[L[1;24r[8;1Htest11[12;13H[1m[7m[+][8;7H[mI[?12l[?25h [24;1H[K[?25l[24;1H[1m-- Keyword completion (^N^P) [m[32mmatch 1 of 9[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[8;6H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;1H[K[8;1HXtest11
[?12l[?25h[?25l[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...[m[24;34H[32mmatch 1 of 2[m[1m.[m[24;46H[K[8;12H[24;33H[K[24;33H[1m [m[32mmatch 2 of 2[8;12H[m.two[?12l[?25h[24;1H[K[?25l[24;1H[1m-- INSERT --[m[24;1H[K[8;11H[?12l[?25h[9;9H[?25l[24;1H:[?12l[?25h" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use
[?25l[9;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" CTRL-X CTRL-F again to verify this doesn't cause trouble.
[?25l[9;9H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...[m[24;34H[32mmatch 1 of 4[m[1m.[m[24;46H[K[9;8H[24;4H[1mINSERTa -- [m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- File name completion (^F^N^P)s ^-- Searching...[m[24;34H[32mmatch 1 of 445[m[1m.[m[24;48H[K[9;13H
Make_all.mak
run1 run2[11;1H[K[9;13Hd[?12l[?25h [24;1H[K[?25l[24;1H[1m-- INSERT --[m[24;1H[K[9;12H[?12l[?25h[?25l
run1 run2[9;10H[K[10;1H[K[11;1H[1m[34m~ [9;1H[?12l[?25h[8;1H
[?25l[24;1H[m:[?12l[?25hse cpt=w
[?25l[9;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --
-- Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Keyword completion (^N^P) The only match[9;10H[m[24;29H[K[24;29H[1m [m[31mBack at original[9;3H[m[24;29H[K[24;1Hmatch in file test32.in[1m^[m[24;24H[K[24;1H[1m-- Keyword completion (^N^P) The only match[9;10H[m[24;29H[K[24;29H[1m [m[31mBack at original[9;3H[m[24;29H[K[24;1Hmatch in file test32.in[1m^[m[24;24H[K[24;1H[1m-- Keyword completion (^N^P) The only match[9;10H[m
STARTTEST
run1 run2[11;1H[K[9;10H[?12l[?25h[24;1H[K[?25l[24;1H[1m-- Keyword completion (^N^P) The only match[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[9;9H[?12l[?25h[10;9H[?25l[24;1H:[?12l[?25hse cpt=u nohid
[?25l[10;9H[?12l[?25h[?25l
[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [10;9H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;4H[1mKeyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Keyword completion (^N^P) The only match[10;8H[m[24;1H[K[24;1H[1m-- INSERT --
-- Keyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Keyword completion (^N^P) [m[32mmatch 1 of 3[11;7H[m[24;29H[K[24;1H[K[24;1H[1m-- INSERT --
-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- INSERTe --^[m[24;13H[K[24;4H[1mKeyword completion (^N^P) -- Searching...[m
[32mScanning: test32.in[m[1mo[m[24;20H[K[24;1Hmatch in file test32.in
[1m-- Keyword completion (^N^P) The only match[11;7H[10;23r[m[10;1H[2L[1;24r[10;1HENDTEST
unless[?12l[?25h[24;1H[K[?25l[24;1H[1m-- Keyword completion (^N^P) The only match[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[11;6H[?12l[?25h[12;6H[?25l[24;1H:[?12l[?25hse cpt=t,d def=^\\k* tags=Xtestfile notagbsearch
[?25l[12;6H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Tag completion (^]^N^P)^ N-- Searching...[m[24;28H[32mmatch 1 of 3[m[1m.[m[24;40H[K[12;7H[24;4H[1mINSERTm --e[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) [m[32mmatch 1 of 3[m[24;4H[1mDefinition completion (^D^N^P)^ U-- Searching...[m[24;50H[K[24;1H[32mScanning included file: Xtestfile[m[1m [m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Definition completion (^D^N^P) The only match[12;11H[24;4HINSERTt --n[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...[m
[32mScanning included file: Xtestfile[m[1m^[m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Adding Definition completion (^D^N^P) The only match[12;20H[24;4HINSERT --f[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- INSERTe --^[m[24;13H[K[24;4H[1m^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
-- Definition completion (^D^N^P)^ U-- Searching...[m
[32mScanning included file: Xtestfile[m[1m [m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Definition completion (^D^N^P) The only match[12;25H[24;4HINSERTt --n[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...[m
[32mScanning included file: Xtestfile[m[1m^[m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Adding Definition completion (^D^N^P) The only match[12;37H[24;4HINSERT --f[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...[m
[32mScanning included file: Xtestfile[m[1m^[m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Adding Definition completion (^D^N^P) The only match[12;38H[24;4HINSERT --f[m[24;13H[K[24;1H[K[24;1H[1m-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y) The only match
-- Addinge Definition completion (^D^N^P) -- Searching...[m
[32mScanning included file: Xtestfile[m[1m^[m[24;34H[K[24;1Hmatch in file Xtestfile[24;24H[K[24;1H[1m-- Adding Definition completion (^D^N^P) Word from other line[12;42H[24;4HINSERT --f[m[24;13H[K[24;1H[K[24;1H[1m-- Keyword completion (^N^P) -- Searching...[m
[32mScanning tags.[m[1mp[m[24;15H[K[24;10H[32mincluded file: Xtestfile[m
[1m-- Keyword completion (^N^P) The only match[13;4H[12;23r[m[12;1H[2L[1;24r[12;1Htest11file 36Gepeto[8C/Tag/ asd
asd[?12l[?25h[24;1H[K[?25l[24;1H[1m-- Keyword completion (^N^P) The only match[m[24;1H[K[24;1H[1m-- INSERT --[m[24;1H[K[13;3H[?12l[?25h
ru[?25l[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test58.in" 656 lines, 11024 characters[1;1HTests 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[34m^[[mz=:"
:"
:" 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for spell checking. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 111 lines, 2591 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:"
:" 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[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Don't want to depend on the locale from the environment
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=latin1
[?25l[27m[23m[m[H[2J[1;1H:"
:" 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
:"[5;3H[K[6;4HDon't want to depend on the locale from the environment
:set enc=latin1[7;17H[K[8;2He![8;4H[K[9;2H"[9;3H[K[10;4HCheck using z= in new buffer (crash fixed by patch 7.4a.028).
:set maxmem=512 spell[11;22H[K[12;1Hiasd[34m^[[mz=:"
:"
:" Function to test .aff/.dic with list of good and bad words.
:func TestOne(aff, dic)
set spellfile=[16;17H[K[17;3H$put =''
$put ='test '. a:aff . '-' . a:dic[18;37H[K[19;1H " 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[22;23H[K[23;1H " use that spell file[23;24H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check using z= in new buffer (crash fixed by patch 7.4a.028).
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset maxmem=512 spell
[?25l[1;31H[44mvim[m
[41mSTARTTEST[7;10Hlatin1[11;6Hmaxmem
iasd[14;22Haff[m/.[41mdic
[m:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[16;7Hspellfile[m[18;18H[44ma[m:[41maff[m[9C[44ma[m:[41mdic[19;17Hspl[14Cdic[m and .[41maff
[m [41mexe[m[10C[44ma[m:[41maff[m . '[41maffstart[m[10C[44ma[m:[41maff[m . '[41maffend[m/-1w! [41mXtest[m.[41maff
[m [41mexe[m[10C[44ma[m:[41mdic[m . '[41mdicstart[m[10C[44ma[m:[41mdic[m . '[41mdicend[m/-1w! [41mXtest[m.[41mdic
[m [41mmkspell[m! [41mXtest[m [41mXtest[1;1H[?12l[?25h[?25lasdTests[m for spell checking. [44mvim[m: set ft=vim :[1;3H[?12l[?25h[?25l[24;1HChange "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[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[1;1H[41masdTests[m for spell checking. [44mvim[m: set ft=vim :
[41mSTARTTEST[m
:so small.vim
:"
:" Don't want to depend on the locale from the environment
:set enc=[41mlatin1[m
:e!
:"
:" Check using z= in new buffer (crash fixed by patch 7.4a.028).
:set [41mmaxmem[m=512 spell
[41miasd[m[34m^[[mz=:"
:"
:" Function to test .[41maff[m/.[41mdic[m with list of good and bad words.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
set [41mspellfile[m=
$put =''
$put ='test '. [44ma[m:[41maff[m . '-' . [44ma[m:[41mdic[m
" Generate a .[41mspl[m file from a .[41mdic[m and .[41maff[m file.
[41mexe[m '1;/^' . [44ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [44ma[m:[41maff[m . '[41maffend[m/-1w! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [44ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [44ma[m:[41mdic[m . '[41mdicend[m/-1w! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" use that spell file[1;3H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Function to test .aff/.dic with list of good and bad words.
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[27m[23m[m[H[2J[?25l[1;1H[41masdTests[m for spell checking. [44mvim[m: set ft=vim :
[41mSTARTTEST[m
:so small.vim
:"
:" Don't want to depend on the locale from the environment
:set enc=[41mlatin1[m
:e!
:"
:" Check using z= in new buffer (crash fixed by patch 7.4a.028).
:set [41mmaxmem[m=512 spell
[41miasd[m[34m^[[mz=:"
:"
:" Function to test .[41maff[m/.[41mdic[m with list of good and bad words.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
set [41mspellfile[m=
$put =''
$put ='test '. [44ma[m:[41maff[m . '-' . [44ma[m:[41mdic[m
" Generate a .[41mspl[m file from a .[41mdic[m and .[41maff[m file.
[41mexe[m '1;/^' . [44ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [44ma[m:[41maff[m . '[41maffend[m/-1w! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [44ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [44ma[m:[41mdic[m . '[41mdicend[m/-1w! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" use that spell file[1;3H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('1', '1')
[?25l"Xtest.aff" [24;13H[K[24;13H[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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =soundfold('goobledygoook')
[?25l[1;1H[19L[1;1Hthe end
uk
wrong
-------
[41mbad[m
['put', 'uk', 'OK']
[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test'][20;22H[K[21;1H[41mth[m[21;4H[K[22;1H['put', 'uk', 'test'][22;22H[K[23;1H[41mgebletegek[m[23;11H[K[24;1H[K[23;1H[?12l[?25h[?25l
[1;24r[23;1H[41mkepereneven[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l[1;23r[23;1H
[1;24r[23;1H[41meverles[m [41mgesvets[m [41metele[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" and now with SAL instead of SOFO items; test automatic reloading
[?25l[23;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H[41masdTests[m [41mfor[m [41mspell[m [41mchecking[m. [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:"
:" [41mDon't[m [41mwant[m [41mto[m [41mdepend[m [41mon[m [41mthe[m [41mlocale[m [41mfrom[m [41mthe[m [41menvironment[m
:[41mset[m [41menc[m=[41mlatin1[m
:[41me[m!
:"
:" [41mCheck[m [41musing[m [41mz[m= [41min[m [41mnew[m [41mbuffer[m ([41mcrash[m [41mfixed[m [41mby[m [41mpatch[m 7.4[41ma[m.028).
:[41mset[m [41mmaxmem[m=512 [41mspell
iasd[m[34m^[[m[41mz[m=:"
:"
:" [41mFunction[m [41mto[m test .[41maff[m/.[41mdic[m [41mwith[m [41mlist[m [41mof[m [41mgood[m [41mand[m [41mbad[m [41mwords[m.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
[41mset[m [41mspellfile[m=
$put =''
$put ='test '. [41ma[m:[41maff[m . '-' . [41ma[m:[41mdic[m
" [41mGenerate[m [41ma[m .[41mspl[m [41mfile[m [41mfrom[m [41ma[m .[41mdic[m [41mand[m .[41maff[m [41mfile[m.
[41mexe[m '1;/^' . [41ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [41ma[m:[41maff[m . '[41maffend[m/-1[41mw[m! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [41ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [41ma[m:[41mdic[m . '[41mdicend[m/-1[41mw[m! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" [41muse[m [41mthat[m [41mspell[m [41mfile[1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff
[?25l"Xtest.aff" [24;13H[K[24;13H151 lines, 3412 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmkspell! Xtest Xtest
[?25lReading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line 2, word 0 - test
Compressing word tree...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =soundfold('goobledygoook')
[?25l[1;1H[14L[1;1H-------
[41mbad[m
['put', 'uk', 'OK']
[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m[16;4H[K[17;1H['put', 'uk', 'test']
[41mthe[m[18;4H[K[19;1H['put', 'uk', 'test'][19;22H[K[20;1H[41mgebletegek[m[20;11H[K[21;1H[41mkepereneven[m[21;12H[K[22;1H[41meverles[m [41mgesvet[m[1C [41metele[m[22;22H[K[23;1H[41mkbltykk[m[23;9H[K[24;1H[K[23;1H[?12l[?25h[?25l
[1;24r[23;1H[41mkprnfn[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l[1;23r[23;1H
[1;24r[23;1H*[41mfls[m [41mkswts[m [41mtl[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" also use an addition file
[?25l[23;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H[41masdTests[m [41mfor[m [41mspell[m [41mchecking[m. [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:"
:" [41mDon't[m [41mwant[m [41mto[m [41mdepend[m [41mon[m [41mthe[m [41mlocale[m [41mfrom[m [41mthe[m [41menvironment[m
:[41mset[m [41menc[m=[41mlatin1[m
:[41me[m!
:"
:" [41mCheck[m [41musing[m [41mz[m= [41min[m [41mnew[m [41mbuffer[m ([41mcrash[m [41mfixed[m [41mby[m [41mpatch[m 7.4[41ma[m.028).
:[41mset[m [41mmaxmem[m=512 [41mspell
iasd[m[34m^[[m[41mz[m=:"
:"
:" [41mFunction[m [41mto[m test .[41maff[m/.[41mdic[m [41mwith[m [41mlist[m [41mof[m [41mgood[m [41mand[m [41mbad[m [41mwords[m.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
[41mset[m [41mspellfile[m=
$put =''
$put ='test '. [41ma[m:[41maff[m . '-' . [41ma[m:[41mdic[m
" [41mGenerate[m [41ma[m .[41mspl[m [41mfile[m [41mfrom[m [41ma[m .[41mdic[m [41mand[m .[41maff[m [41mfile[m.
[41mexe[m '1;/^' . [41ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [41ma[m:[41maff[m . '[41maffend[m/-1[41mw[m! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [41ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [41ma[m:[41mdic[m . '[41mdicend[m/-1[41mw[m! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" [41muse[m [41mthat[m [41mspell[m [41mfile[1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h/^addstart/+1,/^addend/-1w! Xtest.latin1.add
[?25l"Xtest.latin1.add" [24;20H[K[24;20H[New File] 3 lines, 38 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmkspell! Xtest.latin1.add.spl Xtest.latin1.add
[?25lReading word file Xtest.latin1.add ...[24;39H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset spellfile=Xtest.latin1.add
[?25l[1;1H[6L[1;1H[41masdTests[m [41mfor[m [41mspell[m [41mchecking[m. [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:"
:" [41mDon't[m [41mwant[m [41mto[m [41mdepend[m [41mon[m [41mthe[m [41mlocale[m [41mfrom[m [41mthe[m [41menvironment[m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/[?12l[?25h^test2:
[?25l[27m[23m[m[H[2J[2;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
elequint/2
elekwint/3
[41maddend
test2[m:
elequint test elekwint test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[12;1H[?12l[?25h[13;29H[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_us.latin1.spl
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[2;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
[46melequint[m/2
[46melekwint[m/3
[41maddend
test2[m:
[46melequint[m test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[m
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
[46melequint[m/2
[46melekwint[m/3
[41maddend
test2[m:
[46melequint[m test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[12;1H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint
elekwint
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_gb.latin1.spl
[?25l[22;1Helequint
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[2;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
elequint/2
[46melekwint[m/3
[41maddend
test2[m:
elequint test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[m
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[13;15H[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
elequint
[46melekwint
elekwint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
elequint/2
[46melekwint[m/3
[41maddend
test2[m:
elequint test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[12;15H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
elequint
[46melekwint
elekwint[m
[41melekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_nz.latin1.spl
[?25l[20;1H[46melequint[m
elekwint
elekwint
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[2;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
[46melequint[m/2
elekwint/3
[41maddend
test2[m:
[46melequint[m test elekwint test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[m
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint[m
elekwint
elekwint
[41melekwent[m
[46melequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz[m
[46melequint[m/2
elekwint/3
[41maddend
test2[m:
[46melequint[m test elekwint test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[12;1H[?12l[?25h[28C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint[m
elekwint
elekwint
[41melekwent[m
[46melequint[m
[41melekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_ca.latin1.spl
[?25l[18;1H[41melequint
elekwint
elekwint
elequint
[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[2;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz
elequint[m/2
[41melekwint[m/3
[41maddend
test2[m:
[41melequint[m test [41melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[m
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
elequint
elekwint
elekwint
elekwent
elequint
elekwent
elequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H2[41mgood[m: puts
badend
addstart[m
/[41mregions[m=[41musgbnz
elequint[m/2
[41melekwint[m/3
[41maddend
test2[m:
[41melequint[m test [41melekwint[m test [41melekwent[m [41masdf[m
Test [41mrules[m [41mfor[m [41mcompounding[m.
3[41maffstart
SET[m [41mISO8859-1
COMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[12;1H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1Htest
['Test', 'testn', 'testen']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
elequint
elekwint
elekwint
elekwent
elequint
elekwent
elequint
elekwint
[?12l[?25h[?25l
[m:[?12l[?25hunlet str a
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Postponed prefixes
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('2', '1')
[?25l"Xtest.aff" [24;13H[K[24;13H44 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...[24;26H[K[24;1H
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
2[41maffend[m
2[41mgood[m: puts
badend[m[14;1H[K[15;1H[41maddstar[m
/[41mregions[m=[41musgbnz
elequ[m[3C/2[18;9H/3
[41maddend[m[19;7H[K[20;1H[K[21;1H[41mtest2[m:[21;7H[K[22;10Htest [41melekwint[m test [41melekwent[m [41masdf[m[23;1H[K[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" Compound words
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('3', '3')
[?25l"Xtest.aff" [24;13H[K[24;13H5 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('4', '4')
[?25l"Xtest.aff" [24;13H[K[24;13H45 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('5', '5')
[?25l"Xtest.aff" [24;13H[K[24;13H25 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('6', '6')
[?25l"Xtest.aff" [24;13H[K[24;13H23 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('7', '7')
[?25l"Xtest.aff" [24;13H[K[24;13H22 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[1;1H1234
[41mmee[m/391,111,9999
bar/17,61003,123
lead/2
tail/123
[41mmiddle[m/77,1
7[41mdicend[m
[41mbad[m: [41mmee[m [41mmeea2[m [41mprabar[m [41mprobarmaat[m [41mmiddle[m [41mleadmiddle[m [41mmiddletail[m [41mtaillead[12;9Hleadprobar
badend
Test[m [41mNOSLITSUGS[m
8[41maffstart
SET[m [41mISO8859[m-1
[41mNOSPLITSUGS[m
8[41maffend[m
8[41mdicstart[13;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h" NOSLITSUGS
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('8', '8')
[?25l"Xtest.aff" [24;13H[K[24;13H3 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" Numbers
[?25l[1;1H[11L[1;1H[41mNOSPLITSUGS[m
8[41maffend[m
8[41mdicstart[m
1234
foo
bar
faabar
8[41mdicend[m
8[41mgood[m: foo bar faabar
[41mbad[m: [41mfoobar[m [41mbarfoo[m[15;1H[K[16;1H[41mTest[m [41mNumbers[m[17;1H[K[18;1H9[41maffstart[m[18;10H[K[19;1H9[41maffend[m[20;1H[K[21;1H9[41mdicstart[m
1234
foo[23;4H[K[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall TestOne('9', '9')
[?25l[1m[37m[41mError detected while processing function TestOne:[m
[33mline 5:[m
[1m[37m[41mE493: Backwards range given: 1;/^9affstart/+1,/^9affend/-1w! Xtest.aff[m
"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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[13L[1;1H[41mTest[m [41mNumbers[m
9[41maffstart[m
9[41maffend[m
9[41mdicstart[m
1234
foo
bar
9[41mdicend[m
9[41mgood[m: 0b1011 0777 1234 0x01ff
[41mbadend
test[m [41moutput[m:
[41mtest[m 1-1[18;9H[K[19;1H# [1C[41mile[m: [41mXtest[m.[41mlatin1[m.[41mspl
Comment
input[m[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" clean up for valgrind
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc TestOne
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset spl= enc=latin1
[?25l[27m[23m[m[H[2J[1;1HTest 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[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HasdTests 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[34m^[[mz=:"
:"
:" 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[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^test output:/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test59.in" 626 lines, 10897 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for spell checking with 'encoding' set to "utf-8". vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 106 lines, 2520 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Don't want to depend on the locale from the environment. The .aff and .dic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" text is in latin1, the test text is utf-8.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=latin1
[?25l[27m[23m[m[H[2J[1;1H: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
:" text is in latin1, the test text is utf-8.[9;6Henc=latin1[9;16H[K[10;2He!
:set enc=utf-8[11;15H[K[12;1H:set fenc=
:"
:" Function to test .aff/.dic with list of good and bad words.
:func TestOne(aff, dic)
set spellfile=[16;17H[K[17;3H$put =''
$put ='test '. a:aff . '-' . a:dic[18;37H[K[19;1H " 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[22;23H[K[23;1H " use that spell file[23;24H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=utf-8
[?25l[27m[23m[m[H[2J[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Function to test .aff/.dic with list of good and bad words.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[27m[23m[m[H[2J[?25l[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('1', '1')
[?25l"Xtest.aff" [24;13H[K[24;13H[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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =soundfold('goobledygoook')
[?25l[1;1H[19L[1;1Hthe end
uk
wrong
-------
[41mbad[m
['put', 'uk', 'OK']
[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[17;3Hôl[m
['deol', 'dé[18;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test'][20;22H[K[21;1H[41mthe[m[21;4H[K[22;1H['put', 'uk', 'test'][22;22H[K[23;1H[41mgebletegek[m[23;11H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('kó[24;21Hopërÿnôven')
[?25l[1;23r[23;1H
[1;24r[23;1H[41mkepereneven[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l[1;23r[23;1H
[1;24r[23;1H[41meverles[m [41mgesvets[m [41metele[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" and now with SAL instead of SOFO items; test automatic reloading
[?25l[23;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H[41mTests[m [41mfor[m [41mspell[m [41mchecking[m [41mwith[m '[41mencoding[m' [41mset[m [41mto[m "[41mutf-8[m". [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:[41mso[m [41mmbyte[m.[41mvim[m
:"
:" [41mDon't[m [41mwant[m [41mto[m [41mdepend[m [41mon[m [41mthe[m [41mlocale[m [41mfrom[m [41mthe[m [41menvironment[m. [41mThe[m .[41maff[m [41mand[m .[41mdic[m
:" [41mtext[m [41mis[m [41min[m [41mlatin1[m, [41mthe[m test [41mtext[m [41mis[m [41mutf-8[m.
:[41mset[m [41menc[m=[41mlatin1[m
:[41me[m!
:[41mset[m [41menc[m=[41mutf-8[m
:[41mset[m [41mfenc[m=
:"
:" [41mFunction[m [41mto[m test .[41maff[m/.[41mdic[m [41mwith[m [41mlist[m [41mof[m [41mgood[m [41mand[m [41mbad[m [41mwords[m.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
[41mset[m [41mspellfile[m=
$put =''
$put ='test '. [41ma[m:[41maff[m . '-' . [41ma[m:[41mdic[m
" [41mGenerate[m [41ma[m .[41mspl[m [41mfile[m [41mfrom[m [41ma[m .[41mdic[m [41mand[m .[41maff[m [41mfile[m.
[41mexe[m '1;/^' . [41ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [41ma[m:[41maff[m . '[41maffend[m/-1[41mw[m! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [41ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [41ma[m:[41mdic[m . '[41mdicend[m/-1[41mw[m! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" [41muse[m [41mthat[m [41mspell[m [41mfile[1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff
[?25l"Xtest.aff" [24;13H[K[24;13H153 lines, 3426 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmkspell! Xtest Xtest
[?25lReading affix file Xtest.aff ...
Reading dictionary file Xtest.dic ...
line 2, word 0 - test
Compressing word tree...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =soundfold('goobledygoook')
[?25l[1;1H[14L[1;1H-------
[41mbad[m
['put', 'uk', 'OK']
[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[14;3Hôl[m
['deol', 'dé[15;13Hôr', 'test']
[41mend[m[16;4H[K[17;1H['put', 'uk', 'test']
[41mthe[m[18;4H[K[19;1H['put', 'uk', 'test'][19;22H[K[20;1H[41mgebletegek[m[20;11H[K[21;1H[41mkepereneven[m[21;12H[K[22;1H[41meverles[m [41mgesvet[m[1C [41metele[m[22;22H[K[23;1H[41mkbltykk[m[23;9H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('kó[24;21Hopërÿnôven')
[?25l[1;23r[23;1H
[1;24r[23;1H[41mkprnfn[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =soundfold('oeverloos gezwets edale')
[?25l[1;23r[23;1H
[1;24r[23;1H*[41mfls[m [41mkswts[m [41mtl[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" also use an addition file
[?25l[23;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H[41mTests[m [41mfor[m [41mspell[m [41mchecking[m [41mwith[m '[41mencoding[m' [41mset[m [41mto[m "[41mutf-8[m". [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:[41mso[m [41mmbyte[m.[41mvim[m
:"
:" [41mDon't[m [41mwant[m [41mto[m [41mdepend[m [41mon[m [41mthe[m [41mlocale[m [41mfrom[m [41mthe[m [41menvironment[m. [41mThe[m .[41maff[m [41mand[m .[41mdic[m
:" [41mtext[m [41mis[m [41min[m [41mlatin1[m, [41mthe[m test [41mtext[m [41mis[m [41mutf-8[m.
:[41mset[m [41menc[m=[41mlatin1[m
:[41me[m!
:[41mset[m [41menc[m=[41mutf-8[m
:[41mset[m [41mfenc[m=
:"
:" [41mFunction[m [41mto[m test .[41maff[m/.[41mdic[m [41mwith[m [41mlist[m [41mof[m [41mgood[m [41mand[m [41mbad[m [41mwords[m.
:[41mfunc[m [41mTestOne[m([41maff[m, [41mdic[m)
[41mset[m [41mspellfile[m=
$put =''
$put ='test '. [41ma[m:[41maff[m . '-' . [41ma[m:[41mdic[m
" [41mGenerate[m [41ma[m .[41mspl[m [41mfile[m [41mfrom[m [41ma[m .[41mdic[m [41mand[m .[41maff[m [41mfile[m.
[41mexe[m '1;/^' . [41ma[m:[41maff[m . '[41maffstart[m/+1,/^' . [41ma[m:[41maff[m . '[41maffend[m/-1[41mw[m! [41mXtest[m.[41maff[m'
[41mexe[m '1;/^' . [41ma[m:[41mdic[m . '[41mdicstart[m/+1,/^' . [41ma[m:[41mdic[m . '[41mdicend[m/-1[41mw[m! [41mXtest[m.[41mdic[m'
[41mmkspell[m! [41mXtest[m [41mXtest[m
" [41muse[m [41mthat[m [41mspell[m [41mfile[1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h/^addstart/+1,/^addend/-1w! Xtest.utf-8.add
[?25l"Xtest.utf-8.add" [24;19H[K[24;19H[New File] 3 lines, 38 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmkspell! Xtest.utf-8.add.spl Xtest.utf-8.add
[?25lReading word file Xtest.utf-8.add ...[24;38H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset spellfile=Xtest.utf-8.add
[?25l[1;1H[6L[1;1H[41mTests[m [41mfor[m [41mspell[m [41mchecking[m [41mwith[m '[41mencoding[m' [41mset[m [41mto[m "[41mutf-8[m". [41mvim[m: [41mset[m [41mft[m=[41mvim[m :
[41mSTARTTEST[m
:[41mso[m [41msmall[m.[41mvim[m
:[41mso[m [41mmbyte[m.[41mvim[m
:"[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/[?12l[?25h^test2:
[?25l[27m[23m[m[H[2J[1;9H[41mtomato[m [41mtomatotomato[m [41mstartend[m [41mstartword[m [41mstartwordword[m [41mstartwordend[2;9Hstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[3;9Hpreborkborkbork[4;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[6;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[7;9Hpreborkprebork[m [41mpreborkpreborkbork[8;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[9;9Hutilsbork[m [41mstartnouword
badend
test2[m:
elequint test elekwint test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !![12;1H[?12l[?25h[13;29H[?25l[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41minputs[m
['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[11;3Hôl[m
['deol', 'dé[12;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_us.utf-8.spl
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;9H[41mtomato[m [41mtomatotomato[m [41mstartend[m [41mstartword[m [41mstartwordword[m [41mstartwordend[2;9Hstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[3;9Hpreborkborkbork[4;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[6;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[7;9Hpreborkprebork[m [41mpreborkpreborkbork[8;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[9;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[46melequint[m test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['input', 'puts', 'outputs']
[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[10;3Hôl[m
['deol', 'dé[11;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;9H[41mstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[2;9Hpreborkborkbork[3;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[5;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[6;9Hpreborkprebork[m [41mpreborkpreborkbork[7;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[8;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[46melequint[m test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[41mCOMPOUNDRULE[m [41mssmm[m*[41mee[12;1H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mcomment[m
['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[9;3Hôl[m
['deol', 'dé[10;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint
elekwint
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_gb.utf-8.spl
[?25l[22;1Helequint
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;9H[41mtomato[m [41mtomatotomato[m [41mstartend[m [41mstartword[m [41mstartwordword[m [41mstartwordend[2;9Hstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[3;9Hpreborkborkbork[4;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[6;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[7;9Hpreborkprebork[m [41mpreborkpreborkbork[8;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[9;9Hutilsbork[m [41mstartnouword
badend
test2[m:
elequint test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[13;15H[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['Comment', 'outtest', 'the end']
[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[8;3Hôl[m
['deol', 'dé[9;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
elequint
[46melekwint
elekwint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;9H[41mstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[2;9Hpreborkborkbork[3;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[5;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[6;9Hpreborkprebork[m [41mpreborkpreborkbork[7;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[8;9Hutilsbork[m [41mstartnouword
badend
test2[m:
elequint test [46melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[41mCOMPOUNDRULE[m [41mssmm[m*[41mee[12;15H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mok[m
['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[7;3Hôl[m
['deol', 'dé[8;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
elequint
[46melekwint
elekwint[m
[41melekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_nz.utf-8.spl
[?25l[20;1H[46melequint[m
elekwint
elekwint
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;9H[41mtomato[m [41mtomatotomato[m [41mstartend[m [41mstartword[m [41mstartwordword[m [41mstartwordend[2;9Hstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[3;9Hpreborkborkbork[4;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[6;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[7;9Hpreborkprebork[m [41mpreborkpreborkbork[8;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[9;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[46melequint[m test elekwint test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['OK', 'uk', 'put']
[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[6;3Hôl[m
['deol', 'dé[7;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint[m
elekwint
elekwint
[41melekwent[m
[46melequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;9H[41mstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[2;9Hpreborkborkbork[3;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[5;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[6;9Hpreborkprebork[m [41mpreborkpreborkbork[7;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[8;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[46melequint[m test elekwint test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[41mCOMPOUNDRULE[m [41mssmm[m*[41mee[12;1H[?12l[?25h[28C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H[41mOk[m
['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[5;3Hôl[m
['deol', 'dé[6;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent[m
[46melequint[m
elekwint
elekwint
[41melekwent[m
[46melequint[m
[41melekwent
[?12l[?25h[?25l
[m:[?12l[?25hset spl=Xtest_ca.utf-8.spl
[?25l[18;1H[41melequint
elekwint
elekwint
elequint
[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25h^test2:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;9H[41mtomato[m [41mtomatotomato[m [41mstartend[m [41mstartword[m [41mstartwordword[m [41mstartwordend[2;9Hstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[3;9Hpreborkborkbork[4;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[6;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[7;9Hpreborkprebork[m [41mpreborkpreborkbork[8;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[9;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[41melequint[m test [41melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25hlet [str, a] = spellbadword()
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1H['OK', 'Uk', 'Put']
test
['Test', 'testn', 'testen']
[41mdé[4;3Hôl[m
['deol', 'dé[5;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
elequint
elekwint
elekwint
elekwent
elequint
elekwent
elequint
[?12l[?25h[?25l[27m[23m[m[H[2J[1;9H[41mstartwordwordend[m [41mstartwordwordwordend[m [41mprebork[m [41mpreborkbork[2;9Hpreborkborkbork[3;9Hnouword
bad[m: [41mwordutilize[m [41mpro[m [41mborkborkborkborkborkbork[m [41mtomatotomatotomato[5;9Hendstart[m [41mendend[m [41mstartstart[m [41mwordend[m [41mwordstart[6;9Hpreborkprebork[m [41mpreborkpreborkbork[7;9Hstartwordwordwordwordend[m [41mborkpreborkpreborkbork[8;9Hutilsbork[m [41mstartnouword
badend
test2[m:
[41melequint[m test [41melekwint[m test [41melekwent[m [41masdf[m
Test [41maffix[m [41mflags[m [41mwith[m [41mtwo[m [41mcharacters[m
5[41maffstart
SET[m [41mISO8859-1
FLAG[m [41mlong
NEEDAFFIX[m !!
[41mCOMPOUNDRULE[m [41mssmm[m*[41mee[12;1H[?12l[?25h[14C[?25l[24;1H[m:[?12l[?25hlet [str, a] = spellbadword()
[?25l[12;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str
[?25l[27m[23m[m[H[2J[1;1Htest
['Test', 'testn', 'testen']
[41mdé[3;3Hôl[m
['deol', 'dé[4;13Hôr', 'test']
[41mend[m
['put', 'uk', 'test']
[41mthe[m
['put', 'uk', 'test']
[41mgebletegek
kepereneven
everles[m [41mgesvets[m [41metele
kbltykk
kprnfn[m
*[41mfls[m [41mkswts[m [41mtl
elekwent
elequint
elekwint
elekwint
elekwent
elequint
elekwent
elequint
elekwint
[?12l[?25h[?25l
[m:[?12l[?25hunlet str a
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Postponed prefixes
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('2', '1')
[?25l"Xtest.aff" [24;13H[K[24;13H46 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[12L[1;1H[41maddstart[m
/[41mregions[m=[41musgbnz
elequint[m/2
[41melekwint[m/3
[41maddend[m
1[41mgood[m: wrong OK puts. Test the end
[41mbad[m: [41minputs[m [41mcomment[m [41mok[m [41mOk[m. [44mtest[m [41mdé[8;36Hôl[m [41mend[m [41mthe
badend[m
2[41mgood[m: puts
[41mbad[m: [41minputs[m [41mcomment[m [41mok[m [41mOk[m [41mend[m [41mthe[m. [44mtest[m [41mdé[12;43Hôl
badend[m[14;1H[K[15;1HTest [41mrules[m [41mfor[m [41mcompounding[m.[16;1H[K[17;1H3[41maffstart
SET[m [41mISO8859-1[m[19;1H[K[20;1H[41mCOMPOUNDMIN[m 3
[41mCOMPOUNDRULE[m [41mm[m*
[41mNEEDCOMPOUND[m [41mx[m
3[41maffend[m[23;8H[K[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" Compound words
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall TestOne('3', '3')
[?25l"Xtest.aff" [24;13H[K[24;13H5 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('4', '4')
[?25l"Xtest.aff" [24;13H[K[24;13H45 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('5', '5')
[?25l"Xtest.aff" [24;13H[K[24;13H25 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('6', '6')
[?25l"Xtest.aff" [24;13H[K[24;13H23 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall TestOne('7', '7')
[?25l"Xtest.aff" [24;13H[K[24;13H26 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...[24;26H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[1;1H1234
[41mmee[m/391,111,9999
bar/17,61003,123
lead/2
tail/123
[41mmiddle[m/77,1
7[41mdicend[m
7[41mgood[m: meea1 meeaé[9;20Hbar prebar barmeat prebarmeat leadprebar[10;7Hlead tail leadtail leadmiddletail
[41mbad[m: [41mmee[m [41mmeea2[m [41mprabar[m [41mprobarmaat[m [41mmiddle[m [41mleadmiddle[m [41mmiddletail[m [41mtaillead[12;9Hleadprobar
badend
test[m [41moutput[m:
[41mtest[m 1-1
# [41mfile[m: [41mXtest[m.[41mutf[m-8.[41mspl
Comment
deol
dé[21;3Hôr
input
OK[13;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h" clean up for valgrind
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc TestOne
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset spl= enc=latin1
[?25l[27m[23m[m[H[2J[1;1H1234
mee/391,111,9999
bar/17,61003,123
lead/2
tail/123
middle/77,1
7dicend
7good: meea1 meeaé bar prebar barmeat prebarmeat leadprebar[10;7Hlead tail leadtail leadmiddletail
bad: mee meea2 prabar probarmaat middle leadmiddle middletail taillead[12;9Hleadprobar
badend
test output:
test 1-1
# file: Xtest.utf-8.spl
Comment
deol
déôr
input
OK[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^test output:/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test72.in" 146 lines, 2110 characters[1;1HTests 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[34m^[[m: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/[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for undo file.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 135 lines, 1913 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[18;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test 'undofile': first a simple one-line change.
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo visualbell
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ul=100 undofile nomore
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1Hthis is one line[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[1;16H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hs/one/ONE/
[?25l[1;9HONE
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ul=100
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xtestfile" [New] 1L, 17C written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe![1;9H[K[2;1H:e Xtestfile[2;13H[K[3;1Hfoo2bar[3;8H[K[4;1H:set key=[4;10H[K[5;1H/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtestfile
[?25l"Xtestfile" 1L, 17C[1;1Hthis is ONE line
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H1 change; before #2 0 seconds ago[1;9Hone
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 1L, 17C written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test 'undofile', change in original file fails check
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noundofile
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;13H1L, 17C[1;9HONE
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hs/line/Line/
[?25l[1;13HL
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xtestfile" 1L, 17C written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset undofile
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe![1;9H[K[2;1H:e Xtestfile[2;13H[K[3;1Hfoo2bar[3;8H[K[4;1H:set key=[4;10H[K[5;1H/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtestfile
[?25l"Xtestfile" 1L, 17C[1;1Hthis is ONE Line
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" TODO: this beeps
[?25l[1;1H[?12l[?25h[?5h[?5l[?25l[24;1HAlready at oldest change[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 17C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test 'undofile', add 10 lines, delete 6 lines, undo 3
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset undofile
[?25l[1;1H[?12l[?25h[?25l[1;1H[K[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1Hone
two[2;4H[K[3;1Hthree[3;6H[K[4;1Hfour[4;5H[K[5;1Hfive[5;5H[K[6;1Hsix[6;4H[K[7;1Hseven[7;6H[K[8;1Height[8;6H[K[9;1Hnine[9;5H[K[10;1Hten[10;4H[K[10;3H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[10;3H[?12l[?25h[3;1H[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xtestfile" 4L, 17C written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe!
:e Xtestfile
foo2bar
:set key=
/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtestfile
[?25l"Xtestfile" 4L, 17C[1;1Hone[1;4H[K[2;1Htwo[2;4H[K[3;1Hnine[3;5H[K[4;1Hten[4;4H[K[5;1H[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H1 more line; before #7 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Height[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #6 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Hseven[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #5 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Hsix[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H7L, 33C appended[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test that reading the undofiles when setting undofile works
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noundofile ul=0
[?25l[3;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[4;23r[4;1H[L[1;24r[3;1H[K[4;1Hsix
u[?12l[?25hs[24;1H[K[?25l[4;1H[?12l[?25h[?25l[24;1H1 line less; before #8 0 seconds ago[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;13H4L, 17C[3;1Hnine
ten[4;4H[K[5;1H[1m[34m~ [6;1H~ [7;1H~ [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset undofile ul=100
[?25l[3;1H[?12l[?25h[?25l[24;1H1 more line; before #7 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Height[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #6 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Hseven[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #5 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Hsix[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #4 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Hfive[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #3 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Hfour[24;1H[K[3;1H[?12l[?25h[?25l[24;1H1 more line; before #2 0 seconds ago[3;23r[3;1H[L[1;24r[3;1Hthree[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H10L, 49C appended[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" And now with encryption, cryptmethod=zip
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;13H4L, 17C[3;1Hnin[3;5H[K[4;1Hten[4;4H[K[5;1H[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset undofile cm=zip
[?25l[3;1H[?12l[?25h[1;1H[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1Hmonday
tuesday[2;8H[K[3;1Hwednesday[3;10H[K[4;1Hthursday[4;9H[K[5;1Hfriday[5;7H[K[5;6H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[5;6H[?12l[?25h[4;6H[3;6H[2;6H[?25l[2;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[2;1H[?12l[?25h[?25l[2;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[2;1H[?12l[?25h[?25l[2;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hX
[?25lWarning: Using a weak encryption method; see :help 'cm'
Enter encryption key: [?12l[?25h******
[?25lEnter same key again: [?12l[?25h******
[1;1H[3L[?25l[1;1Hmonday
friday
[1m[34m~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw!
[?25l"Xtestfile" [crypted] 2L, 14C written[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe!
:e Xtestfile
foo2bar[3;8H[K[4;1H:set key=[4;10H[K[5;1H/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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, 14C[1;1H[3L[1;1Hmonday
friday
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[24;1H"Xtestfile" [crypted] 2L, 14C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset key=
[?25l[1;1H[?12l[?25h[?25l[24;1H1 more line; before #11 0 seconds ago[2;23r[2;1H[L[1;24r[2;1Hthursday[24;1H[K[2;1H[?12l[?25h[?25l[24;1H1 more line; before #10 0 seconds ago[2;23r[2;1H[L[1;24r[2;1Hwednesday[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H4L, 33C appended[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" With encryption, cryptmethod=blowfish
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;1HNeed encryption key for "Xtestfile"
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: [?12l[?25h*******
[1m[34m~ [3;1H~ [4;1H~ [m[24;1H[K[24;1H"Xtestfile" [noeol][crypted] 1L, 14C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset undofile cm=blowfish ff&
[?25l[1;1H[?12l[?25h[?25l[1;1H[K[24;1H--No lines in buffer--[24;23H[K[1;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1Hjan
feb[2;4H[K[3;1Hmar[3;4H[K[4;1Hapr[4;4H[K[5;1Hjun[5;4H[K[5;3H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[5;3H[?12l[?25h[4;3H[3;3H
[?25l[24;1H[1m-- INSERT --[m[24;1H[K[3;1Hfoo mar[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;4H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;1H[K[3;1Hbar apr[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hX
[?25lWarning: Using a weak encryption method; see :help 'cm'
Enter encryption key: [?12l[?25h******
[?25lEnter same key again: [?12l[?25h******
[1;1H[3L[?25l[1;1Hjan
feb
bar apr[24;1H[K[3;4H[?12l[?25h[?25l[24;1H:[?12l[?25hw!
[?25l"Xtestfile" [blowfish] 4L, 20C written[3;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe!
:e Xtestfile
foo2ba
:set key=
/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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, 20C[1;1H[3L[1;1Hjan
feb
bar apr
jun[4;4H[K[5;1H[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[24;1H"Xtestfile" [blowfish] 4L, 20C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset key=
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hbar
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 8C appended[3;1H[?12l[?25h[?25l[24;1H1 change; before #15 1 seconds ago[3;1Hap[3;5H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 4C appended[3;1H[?12l[?25h[?25l[24;1H1 more line; before #14 1 seconds ago[3;23r[3;1H[L[1;24r[3;1Hfoo mar[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 8C appended[3;1H[?12l[?25h[?25l[24;1H1 change; before #13 2 seconds ago[3;1Hmar[3;5H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 4C appended[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" With encryption, cryptmethod=blowfish2
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;1HNeed encryption key for "Xtestfile"
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: [?12l[?25h*******
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[24;1H[K[24;1H"Xtestfile" [noeol][blowfish] 1L, 20C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset undofile cm=blowfish2 ff&
[?25l[1;1H[?12l[?25h[?25l[1;1H[K[24;1H--No lines in buffer--[24;23H[K[1;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1Hjan
feb[2;4H[K[3;1Hmar[3;4H[K[4;1Hapr[4;4H[K[5;1Hjun[5;4H[K[5;3H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[5;3H[?12l[?25h[4;3H[3;3H
[?25l[24;1H[1m-- INSERT --[m[24;1H[K[3;1Hfoo mar[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;4H[?12l[?25h[?25l[3;23r[23;1H
[1;24r[23;1H[1m[34m~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;1H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;1H[K[3;1Hbar apr[?12l[?25h[?25l[24;1H:[?12l[?25hset ul=100
[?25l[3;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hX
[?25l[24;1H[K[24;1HEnter encryption key: [?12l[?25h*******
[?25lEnter same key again: [?12l[?25h*******
[1;1H[2L[?25l[1;1Hjan
feb[24;1H[K[3;4H[?12l[?25h[?25l[24;1H:[?12l[?25hw!
[?25l"Xtestfile" [blowfish2] 4L, 20C written[3;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe!
[?25l"test72.in" 146L, 2110C[1;1H:bwipe!
:e Xtestfile
foo2ba
:set key=
/bar[5;5H[K[6;1H:.w >>test.out[6;15H[K[7;1Hu:.w >>test.out[7;16H[K[8;1Hu:.w >>test.out[8;16H[K[9;1Hu:.w >>test.out[9;16H[K[10;1H:"[10;3H[K[11;1H:" Rename the undo file so that it gets cleaned up.[11;52H[K[12;1H:if has("vms")[12;15H[K[13;1H: call rename("_un_Xtestfile", "Xtestundo")[13;44H[K[14;1H:else[14;6H[K[15;1H: call rename(".Xtestfile.un~", "Xtestundo")[15;45H[K[16;1H:endif[16;7H[K[17;1H:qa![17;5H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1H1111 -----[20;11H[K[21;1H2222 -----[21;11H[K[22;1H[K[23;1H123456789[23;10H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtestfile
[?25l"Xtestfile"
Need encryption key for "Xtestfile"
Enter encryption key: [?12l[?25h*******
[?25l"Xtestfile" [blowfish2] 4L, 20C[1;1H[2L[1;1Hjan
feb
bar ap
jun[4;4H[K[5;1H[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[24;1H"Xtestfile" [blowfish2] 4L, 20C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset key=
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hbar
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 8C appended[3;1H[?12l[?25h[?25l[24;1H1 change; before #19 2 seconds ago[3;1Hap[3;5H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 4C appended[3;1H[?12l[?25h[?25l[24;1H1 more line; before #18 2 seconds ago[3;23r[3;1H[L[1;24r[3;1Hfoo mar[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 8C appended[3;1H[?12l[?25h[?25l[24;1H1 change; before #17 2 seconds ago[3;1Hmar[3;5H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1L, 4C appended[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Rename the undo file so that it gets cleaned up.
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1Hjan
feb
mar
apr[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test78.in" 46 lines, 1464 characters[1;1HInserts 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 = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0122[13;1H3456789abcdefghijklmnoparstuvwxyz0123456789"
: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:][::[23;1Hcntrl:]]*$', '\1', '')[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HInserts 10000 lines with text to fill the swap file with two levels of pointer[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 37 lines, 1208 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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 ""[13;1H . linecount . " lines but found only " . linedollar) | exe 'wincmd w' | let linn[14;1Hecount = linedollar | endif
:let i = 1
:while i <= linecount | if getline(i) != i . text | exe 'wincmd w' | call appendd[17;1H(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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp fileformat=unix undolevels=-1 viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest
[?25l"Xtest" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet text = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01
[23;80H2[24;1H3456789abcdefghijklmnoparstuvwxyz0123456789"
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet i = 1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet linecount = 10000
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwhile i <= linecount | call append(i - 1, i . text) | let i += 1 | endwhile
[?25l[1;1H9990 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[2;1Habcdefghijklmnoparstuvwxyz0123456789[2;37H[K[3;1H9991 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[4;1Habcdefghijklmnoparstuvwxyz0123456789[4;37H[K[5;1H9992 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[6;1Habcdefghijklmnoparstuvwxyz0123456789[6;37H[K[7;1H9993 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[8;1Habcdefghijklmnoparstuvwxyz0123456789[8;37H[K[9;1H9994 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[10;1Habcdefghijklmnoparstuvwxyz0123456789[10;37H[K[11;1H9995 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[12;1Habcdefghijklmnoparstuvwxyz0123456789[12;37H[K[13;1H9996 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[14;1Habcdefghijklmnoparstuvwxyz0123456789[14;37H[K[15;1H9997 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[16;1Habcdefghijklmnoparstuvwxyz0123456789[16;37H[K[17;1H9998 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[18;1Habcdefghijklmnoparstuvwxyz0123456789[18;37H[K[19;1H9999 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[20;1Habcdefghijklmnoparstuvwxyz0123456789[20;37H[K[21;1H10000 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[22;1Habcdefghijklmnoparstuvwxyz0123456789[22;37H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hpreserve
[?25lFile preserved[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" get the name of the swap file
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir => swapname
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hswapname
[?25l.Xtest.swp[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet swapname = substitute(swapname, '[[:blank:][:cntrl:]]*\(.\{-}\)[[:blank:][
[23;80H:[24;1Hcntrl:]]*$', '\1', '')
[?25l[1;1H[L[1;1H9990 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[2;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" make a copy of the swap file in Xswap
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe 'sp ' . swapname
[?25l".Xtest.swp"[24;14H[K[24;14H[noeol] 611L, 1224704C[1;1Hb0VIM 8.0[34m^@^@^@^@^P^@^@^@^@^@^@^@^@^@^@~Z[m}[34m^@^@[mbuildd[34m^@^@^@^@^@^@^@^@^@^@^@^@^@^@@[2;1H^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@[mbm-wb-03[34m^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@@[3;1H^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@[m/<<PKGBUILDDIR>>/src/vim-gtk3/testt[4;1Hdir/Xtest[34m^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[5;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[6;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[7;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[8;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[9;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[10;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[11;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^[m[12;1H[1m[7m.Xtest.swp [m[13;4H7[75C99[14;1Ha
9998[75C99[16;1Ha
9999[75C99[18;1Ha
10000[74C99[20;1Ha[21;1H[K[22;1H[1m[34m~ [m[23;1H[7mXtest [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! Xswap
[?25l"Xswap" [24;9H[K[24;9H[New][noeol] 611L, 1224704C written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hecho swapname
[?25l.Xtest.sw[24;11H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nobin
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[9;1Hb0VIM 8.0[34m^@^@^@^@^P^@^@^@^@^@^@^@^@^@^@~Z[m}[34m^@^@[mbuildd[34m^@^@^@^@^@^@^@^@^@^@^@^@^@^@@[10;1H^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@[mbm-wb-03[34m^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@@[11;1H^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@[m/<<PKGBUILDDIR>>/src/vim-gtk3/testt[12;1Hdir/Xtest[34m^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[13;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[14;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^^[15;1H@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^[m[16;1H[7m.Xtest.swp [m[17;1H9999 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[18;1Habcdefghijklmnoparstuvwxyz0123456789
10000 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[20;1Habcdefghijklmnoparstuvwxyz0123456789
[1m[34m~ [m[23;1H[7mXtest [+] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25honly!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hbwipe! Xtest
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall rename('Xswap', swapname)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hrecover Xtest
[?25lUsing swap file ".Xtest.swp"
Original file "/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtest"
[23;1H"/<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xtest" [New File][23;71H[K[24;1HRecovery 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.
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall delete(swapname)
[?25l[1;1H[8L[1;1H1[7Cabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[2;1Habcdefghijklmnoparstuvwxyz0123456789
2[7Cabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[4;1Habcdefghijklmnoparstuvwxyz0123456789
3[7Cabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[6;1Habcdefghijklmnoparstuvwxyz0123456789
4[7Cabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[8;1Habcdefghijklmnoparstuvwxyz0123456789
5 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[10;1Habcdefghijklmnoparstuvwxyz0123456789[10;37H[K[11;1H6 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[12;1Habcdefghijklmnoparstuvwxyz0123456789[12;37H[K[13;1H7 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[14;1Habcdefghijklmnoparstuvwxyz0123456789[14;37H[K[15;1H8 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[16;1Habcdefghijklmnoparstuvwxyz0123456789[16;37H[K[17;1H9 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[18;1Habcdefghijklmnoparstuvwxyz0123456789[18;37H[K[19;1H10 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[20;1Habcdefghijklmnoparstuvwxyz0123456789[20;37H[K[21;1H11 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567899[22;1Habcdefghijklmnoparstuvwxyz0123456789[22;37H[K[23;1H12 abcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789[23;1H[1m[34m@ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1H1[78C99[14;1Ha
2[78C99[16;1Ha
3[78C99[18;1Ha
4 [77C99[20;1Ha
5 [77C99[22;1Ha
[7mXtest [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(0, 'recovery start')
[?25l[1;11r[1;1H[L[1;24r[1;1Hrecovery start[12;11H[1m[7m[+][m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hwincmd w
[?25l[12;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7mXtest [+] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet linedollar = line('$')
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif linedollar < linecount | exe 'wincmd w' | call append(line('$'), "expected
[23;80H"[24;1H . linecount . " lines but found only " . linedollar) | exe 'wincmd w' | let li
[23;80Hn[24;1Hecount = linedollar | endif
[?25l[1;1H[2L[1;1Hrecovery start[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet i = 1
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwhile i <= linecount | if getline(i) != i . text | exe 'wincmd w' | call appen
[23;80Hd[24;1H(line('$'), i . ' differs') | exe 'wincmd w' | endif | let i += 1 | endwhile
[?25l[1;1H[L[1;1Hrecovery start[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hq!
[?25l[12;1H[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), 'recovery end')
[?25l[3;1Hrecovery end[3;13H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 3L, 29C written[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test83.in" 76 lines, 1273 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for tag search with !_TAG_FILE_ENCODING.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 58 lines, 1021 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=utf8
[?25l[27m[23m[m[H[2J[1;1H: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[13;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[4L[?25l[1;1H:tag abc50
:if v:errmsg =~ 'E426:' || getline('.') != 'ABC'
: close
: put ='case3: failed'[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt
[?25l"Xtags1.txt" [24;14H[K[24;14H[New File] 2 lines, 35 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt
[?25l"Xtags2.txt" [24;14H[K[24;14H[New File] 2 lines, 25 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt
[?25l"Xtags3.txt" [24;14H[K[24;14H[New File] 2 lines, 25 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^tags1$/+1,/^tags1-end$/-1w! Xtags1
[?25l"Xtags1" [24;10H[K[24;10H[New File] 2 lines, 81 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HTests 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[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall setline('.', 'Results of test83')
[?25l[1;1HResults of test83
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" case1:
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[12;1H[1m[7m[No Name] [m[13;1HResults of test83[13;18H[K[23;1H[7mtest83.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset tags=Xtags1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v:errmsg = ''
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htag abcdefghijklmnopqrs
[?25l"Xtags1.txt" [24;14H[K[24;14H2 lines, 35 characters[1;1Htext for tags1
abcdefghijklmnopqrs[2;20H[K[12;1H[1m[7mXtags1.txt[2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1HResults of test83
case1: ok
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [12;1H~ [13;1H~ [23;1H~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" case2:
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [m[12;1H[1m[7m[No Name] [m[13;1HResults of test83[13;18H[K[14;1Hcase1: ok[14;10H[K[23;1H[7mtest83.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset tags=test83-tags2
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v:errmsg = ''
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htag /.BC
[?25l"Xtags2.txt" 2 lines, 25 characters[1;1Htext for tags2
ABC[2;7H[K[12;1H[1m[7mXtags2.txt[2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1HResults of test83
case1: ok
case2: ok
[1m[34m~ [5;1H~ [6;1H~ [12;1H~ [13;1H~ [14;1H~ [23;1H~ [m[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" case3:
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [m[12;1H[1m[7m[No Name] [m[13;1Hcase1: ok[13;10H[K[14;1Hcase2: ok[14;10H[K[23;1H[7mtest83.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset tags=test83-tags3
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v:errmsg = ''
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htag abc50
[?25l"Xtags3.txt" 2 lines, 25 characters[1;1Htext for tags3
ABC[2;7H[K[12;1H[1m[7mXtags3.txt[2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1HResults of test83
case1: ok
case2: ok
case3: ok
[1m[34m~ [6;1H~ [12;1H~ [13;1H~ [14;1H~ [23;1H~ [m[24;1H[K[4;1H[?12l[?25h[?25l[24;1H:[?12l[?25hclose
[?25l[1m[37m[41mE37: No write since last change (add ! to override)[4;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test89.in" 71 lines, 1514 characters[1;1H- 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1H- Some tests for setting 'number' and 'relativenumber'[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 63 lines, 1305 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden nocp nu rnu viminfo+=nviminfo
[?25l[1;1H[33m 21 [m:$put g[1;12H[K[2;1H[33m 20 [m:$put h
[33m 19 [m:"[3;7H[K[4;1H[33m 18 [m:let cwd=getcwd()
[33m 17 [m:cd ..[5;11H[K[6;1H[33m 16 [m:" Tests may be run from a shadow directory, so an extra cd needs to be donee[7;1H[33m [m to[7;8H[K[8;1H[33m 15 [m:" get above src/
[33m 14 [m:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif
[33m 13 [m:$put =''
[33m 12 [m:$put ='Testing findfile'
[33m 11 [m:$put =''
[33m 10 [m:set ssl
[33m 9 [m:$put =findfile('test19.in','src/test*')
[33m 8 [m:exe "cd" cwd
[33m 7 [m:cd ..
[33m 6 [m:$put =findfile('test19.in','test*')
[33m 5 [m:$put =findfile('test19.in','testdir')
[33m 4 [m:exe "cd" cwd
[33m 3 [m:/^results/,$w! test.out
[33m 2 [m:q!
[33m 1 [mENDTEST
[33m71 [?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir @a | set nu? rnu? | redir END
[?25l[24;1H[K[24;1H number
relativenumber
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he! xx
[?25l"xx" [New File][1;1H[2L[1;1H[33m1 [m
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;3H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hredir @b | set nu? rnu? | redir END
[?25l[24;1H[K[24;1H number
relativenumber
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he! #
[?25l"test89.in" line 71 of 71 --100%-- col 1[1;1H[2L[1;1H[33m 21 [m:$put g
[33m 20 [m:$put h
[33m 19 [m:"[3;7H[K[4;1H[33m 18 [m:let cwd=getcwd()[4;22H[K[5;1H[33m 17 [m:cd ..[5;11H[K[6;1H[33m 16 [m:" Tests may be run from a shadow directory, so an extra cd needs to be donee[7;1H[33m [m to[7;8H[K[8;1H[33m 15 [m:" get above src/[8;22H[K[9;1H[33m 14 [m:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif[9;79H[K[10;1H[33m 13 [m:$put =''[10;14H[K[11;1H[33m 12 [m:$put ='Testing findfile'[11;30H[K[12;1H[33m 11 [m:$put =''[12;14H[K[13;1H[33m 10 [m:set ssl[13;13H[K[14;1H[33m 9 [m:$put =findfile('test19.in','src/test*')[14;45H[K[15;1H[33m 8 [m:exe "cd" cwd[15;18H[K[16;1H[33m 7 [m:cd ..[16;11H[K[17;1H[33m 6 [m:$put =findfile('test19.in','test*')[17;41H[K[18;1H[33m 5 [m:$put =findfile('test19.in','testdir')[18;43H[K[19;1H[33m 4 [m:exe "cd" cwd[19;18H[K[20;1H[33m 3 [m:/^results/,$w! test.out[20;29H[K[21;1H[33m 2 [m:q![21;8H[K[22;1H[33m 1 [mENDTEST[22;12H[K[23;1H[33m71 [m[23;5H[K[24;3H[K[24;1H"test89.in" line 71 of 71 --100%-- col 1[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='results:'
[?25l[1;23r[23;1H
[1;24r[1;3H[33m1
20
19
18
17[m[76Cee[6;1H[33m
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
72 [mresults:[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put a
[?25l3 more lines[1;23r[1;1H[3M[1;24r[1;2H[33m21
20[m[76Cee[3;1H[33m
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1 [m number
[33m75 [m relativenumber[24;1H[K[24;1H3 more lines[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put b
[?25l3 more lines[1;23r[1;1H[3M[1;24r[1;2H[33m22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1 [m number
[33m78 [m relativenumber[24;1H[K[24;1H3 more lines[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[1;1H:" get above src/[1;18H[K[2;1H:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif[2;75H[K[3;1H:$put =''[3;11H[K[4;1H:$put ='Testing findfile'[4;26H[K[5;1H:$put =''[5;11H[K[6;1H:set ssl[6;10H[K[7;1H:$put =findfile('test19.in','src/test*')[7;41H[K[8;1H:exe "cd" cwd[8;15H[K[9;1H:cd ..[9;7H[K[10;1H:$put =findfile('test19.in','test*')[10;37H[K[11;1H:$put =findfile('test19.in','testdir')[11;39H[K[12;1H:exe "cd" cwd[12;15H[K[13;1H:/^results/,$w! test.ou[13;25H[K[14;1H:q![14;4H[K[15;1HENDTEST[15;8H[K[16;1H[K[17;1Hresults:[17;9H[K[18;1H[K[19;1H number[19;9H[K[20;1H relativenumber[20;17H[K[21;1H[K[22;1H number[22;9H[K[23;1H relativenumber[23;17H[K[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal nu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal rnu
[?25l[1;1H[33m 22 [m:" get above src/
[33m 21 [m:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif
[33m 20 [m:$put =''
[33m 19 [m:$put ='Testing findfile'
[33m 18 [m:$put =''
[33m 17 [m:set ssl
[33m 16 [m:$put =findfile('test19.in','src/test*')
[33m 15 [m:exe "cd" cwd
[33m 14 [m:cd ..
[33m 13 [m:$put =findfile('test19.in','test*')
[33m 12 [m:$put =findfile('test19.in','testdir')
[33m 11 [m:exe "cd" cwd
[33m 10 [m:/^results/,$w! test.out
[33m 9 [m:q!
[33m 8 [mENDTEST
[33m 7
6 [mresults:
[33m 5
4 [m number
[33m 3 [m relativenumber
[33m 2
1 [m number
[33m 0 [m relativenumber[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @c | setglobal nu? | redir END
[?25l[24;1H[K[24;1H number[23;7H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[1;1H:" get above src/[1;18H[K[2;1H:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif[2;75H[K[3;1H:$put =''[3;11H[K[4;1H:$put ='Testing findfile'[4;26H[K[5;1H:$put =''[5;11H[K[6;1H:set ssl[6;10H[K[7;1H:$put =findfile('test19.in','src/test*')[7;41H[K[8;1H:exe "cd" cwd[8;15H[K[9;1H:cd ..[9;7H[K[10;1H:$put =findfile('test19.in','test*')[10;37H[K[11;1H:$put =findfile('test19.in','testdir')[11;39H[K[12;1H:exe "cd" cwd[12;15H[K[13;1H:/^results/,$w! test.ou[13;25H[K[14;1H:q![14;4H[K[15;1HENDTEST[15;8H[K[16;1H[K[17;1Hresults:[17;9H[K[18;1H[K[19;1H number[19;9H[K[20;1H relativenumber[20;17H[K[21;1H[K[22;1H number[22;9H[K[23;1H relativenumber[23;17H[K[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal rnu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal nu
[?25l[1;1H[33m 56 [m:" get above src/
[33m 57 [m:if fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif
[33m 58 [m:$put =''
[33m 59 [m:$put ='Testing findfile'
[33m 60 [m:$put =''
[33m 61 [m:set ssl
[33m 62 [m:$put =findfile('test19.in','src/test*')
[33m 63 [m:exe "cd" cwd
[33m 64 [m:cd ..
[33m 65 [m:$put =findfile('test19.in','test*')
[33m 66 [m:$put =findfile('test19.in','testdir')
[33m 67 [m:exe "cd" cwd
[33m 68 [m:/^results/,$w! test.out
[33m 69 [m:q!
[33m 70 [mENDTEST
[33m 71
72 [mresults:
[33m 73
74 [m number
[33m 75 [m relativenumber
[33m 76
77 [m number
[33m 78 [m relativenumber[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @d | setglobal rnu? | redir END
[?25l[24;1H[K[24;1H relativenumber[23;7H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25h$put =':setlocal must NOT reset the other global value'
[?25l[1;23r[23;1H
[1;24r[23;1H[33m 79 [m:setlocal must NOT reset the other global value[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put c
[?25l[1;23r[1;1H[2M[1;24r[22;1H[33m 80
81 [m number[24;1H[K[23;7H[?12l[?25h[?25l
:[?12l[?25h$put d
[?25l[1;23r[1;1H[2M[1;24r[22;1H[33m 82
83 [m relativenumber[24;1H[K[23;7H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[1;1H:set ssl[1;10H[K[2;1H:$put =findfile('test19.in','src/test*')[2;41H[K[3;1H:exe "cd" cwd[3;15H[K[4;1H:cd ..[4;7H[K[5;1H:$put =findfile('test19.in','test*')[5;37H[K[6;1H:$put =findfile('test19.in','testdir')[6;39H[K[7;1H:exe "cd" cwd[7;15H[K[8;1H:/^results/,$w! test.ou[8;25H[K[9;1H:q![9;4H[K[10;1HENDTEST[10;8H[K[11;1H[K[12;1Hresults:[12;9H[K[13;1H[K[14;1H number[14;9H[K[15;1H relativenumber[15;17H[K[16;1H[K[17;1H number[17;9H[K[18;1H relativenumber[18;17H[K[19;1H:setlocal must NOT reset the other global value[19;48H[K[20;1H[K[21;1H number[21;9H[K[22;1H[K[23;1H relativenumber[23;17H[K[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal nu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal rnu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @e | setglobal nu? | redir END
[?25l[24;1H[K[24;1H number[23;3H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal rnu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal nu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @f | setglobal rnu? | redir END
[?25l[24;1H[K[24;1H relativenumber[23;3H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25h$put =':setglobal MUST reset the other global value'
[?25l[1;23r[23;1H
[1;24r[23;1H:setglobal MUST reset the other global value[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put e
[?25l[1;23r[1;1H[2M[1;24r[23;3Hnumber[24;1H[K[23;3H[?12l[?25h[?25l
:[?12l[?25h$put f
[?25l[1;23r[1;1H[2M[1;24r[23;3Hrelativenumber[24;1H[K[23;3H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nu
[?25l[1;1H[33m 66 [m:$put =findfile('test19.in','testdir')
[33m 67 [m:exe "cd" cwd
[33m 68 [m:/^results/,$w! test.out
[33m 69 [m:q!
[33m 70 [mENDTEST
[33m 71
72 [mresults:
[33m 73
74 [m number
[33m 75 [m relativenumber
[33m 76
77 [m number
[33m 78 [m relativenumber
[33m 79 [m:setlocal must NOT reset the other global value
[33m 80
81 [m number
[33m 82
83 [m relativenumber
[33m 84 [m:setglobal MUST reset the other global value
[33m 85
86 [m number
[33m 87
88 [m relativenumber[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset rnu
[?25l[1;2H[33m22
21
20
1
18
17
16
15
1
13
12
11
10
8
7
6
5
3
2
1
88 [m [?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @g | setglobal nu? | redir END
[?25l[24;1H[K[24;1H number[23;7H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25hset nonu nornu
[?25l[1;1H:$put =findfile('test19.in','testdir')[1;39H[K[2;1H:exe "cd" cwd[2;15H[K[3;1H:/^results/,$w! test.ou[3;25H[K[4;1H:q![4;4H[K[5;1HENDTEST[5;8H[K[6;1H[K[7;1Hresults:[7;9H[K[8;1H[K[9;1H number[9;9H[K[10;1H relativenumber[10;17H[K[11;1H[K[12;1H number[12;9H[K[13;1H relativenumber[13;17H[K[14;1H:setlocal must NOT reset the other global value[14;48H[K[15;1H[K[16;1H number[16;9H[K[17;1H[K[18;1H relativenumber[18;17H[K[19;1H:setglobal MUST reset the other global value[19;45H[K[20;1H[K[21;1H number[21;9H[K[22;1H[K[23;1H relativenumber[23;17H[K[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset rnu
[?25l[1;1H[33m 22 [m:$put =findfile('test19.in','testdir')
[33m 21 [m:exe "cd" cwd
[33m 20 [m:/^results/,$w! test.out
[33m 19 [m:q!
[33m 18 [mENDTEST
[33m 17
16 [mresults:
[33m 15
14 [m number
[33m 13 [m relativenumber
[33m 12
11 [m number
[33m 10 [m relativenumber
[33m 9 [m:setlocal must NOT reset the other global value
[33m 8
7 [m number
[33m 6
5 [m relativenumber
[33m 4 [m:setglobal MUST reset the other global value
[33m 3
2 [m number
[33m 1
0 [m relativenumber[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nu
[?25l[23;1H[33m88 [m [?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir @h | setglobal rnu? | redir END
[?25l[24;1H[K[24;1H relativenumber[23;7H[?12l[?25h[?25l[24;3H[K[24;1H:[?12l[?25h$put =':set MUST reset the other global value'
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
89 [m:set MUST reset the other global value[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put g
[?25l[1;23r[1;1H[2M[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
91 [m number[24;1H[K[23;7H[?12l[?25h[?25l
:[?12l[?25h$put h
[?25l[1;23r[1;1H[2M[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
93 [m relativenumber[24;1H[K[23;7H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet cwd=getcwd()
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Tests may be run from a shadow directory, so an extra cd needs to be done to
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" get above src/
[?25l[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif fnamemodify(getcwd(), ':t') != 'src' | cd ../.. | else | cd .. | endif
[?25l/<<PKGBUILDDIR>>[24;31H[K[23;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
94 [m[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put ='Testing findfile'
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
95 [mTesting findfile[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
96 [m[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25hset ssl
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =findfile('test19.in','src/test*')
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
97 [msrc/testdir/test19.in[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25hexe "cd" cwd
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =findfile('test19.in','test*')
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
98 [mtestdir/test19.in[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25h$put =findfile('test19.in','testdir')
[?25l[1;23r[23;1H
[1;24r[1;3H[33m2
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
99 [mtestdir/test19.in[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25hexe "cd" cwd
[?25l/<<PKGBUILDDIR>>/src/vim-gtk3/testdir[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^results/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New] 28L, 356C written[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_arglist.vim" 318 lines, 6653 characters
Executing Test_argadd()
"a" [New File][24;15H[K[24;2Hbababababd
Executing Test_argc()
"a" [New File][24;15H[K[24;1H
Executing Test_argdelete()
"a" [New File][24;15H[K[24;3Ha" [New File]
"bb
Executing Test_argedit()
"a" [New File][24;15H[K[24;2Hba
"c" [New File]
"x
"y" [New File]
Executing Test_argidx()
"a" [New File][24;15H[K[24;2Hcabc
Executing Test_arglist_autocmd()
"Xxx1" [24;8H[K[24;8H1L, 15C
"Xxx2[24;8H[K[24;8H1L, 15C[24;8H[K[24;8H1L, 15C
"Xxx1" line 1 of 1 --100%-- col 1 ((3) of 2)
"Xxx2[30C1 of 2)[24;43H[K[24;1H
3 buffers wiped out
Executing Test_arglistid()
"a" [New File][24;15H[K[24;1H
Executing Test_argpos()
"a" [New File][24;15H[K[24;2Hd
"c" [New File]
"ba
"d" [New File]
"a
Executing Test_argument()
"d" [New File][24;15H[K[24;2Hcba[7Cfile] --No lines in buffer-- (1 of 4)
"c[37C3
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)
"a[7CF[24;16H[K[24;2Hbedited" [New File]
"a" [New File][24;15H[K[24;2Htest_arglist.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 11 tests
"messages" [New File][24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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()
[28C[30m[43moooo$$$$$$$$$$$$oooo[m
[24C[30m[43moo$$$$$$$$$$$$$$$$$$$$$$$$o[m
[21C[30m[43moo$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o[9Co$[m [30m[43m$$[m [30m[43mo$[m
[30m[43mo[m [30m[43m$[m [30m[43moo[8Co$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o[7C$$[m [30m[43m$$[m [30m[43m$$o$[m
[30m[43moo[m [30m[43m$[m [30m[43m$[m "[30m[43m$[m [30m[43mo$$$$$$$$$[m [30m[43m$$$$$$$$$$$$$[m [30m[43m$$$$$$$$$o[7C$$$o$$o$[m
"[30m[43m$$$$$$o$[m [30m[43mo$$$$$$$$$[m [30m[43m$$$$$$$$$$$[m [30m[43m$$$$$$$$$$o[m [30m[43m$$$$$$$$[m
[30m[43m$$$$$$$[m [30m[43m$$$$$$$$$$$[m [30m[43m$$$$$$$$$$$[m [30m[43m$$$$$$$$$$$$$$$$$$$$$$$[m
[30m[43m$$$$$$$$$$$$$$$$$$$$$$$[m [30m[43m$$$$$$$$$$$$$[m [30m[43m$$$$$$$$$$$$$$[m """[30m[43m$$$[m
"[30m[43m$$$[m""""[30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m "[30m[43m$$$[m
[30m[43m$$$[m [30m[43mo$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m "[30m[43m$$$o[m
[30m[43mo$$[m" [30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[7C$$$o[m
[30m[43m$$$[m [30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m" "[30m[43m$$$$$$ooooo$$$$o[m
[30m[43mo$$$oooo$$$$$[m [30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m [30m[43mo$$$$$$$$$$$$$$$$$[m
[30m[43m$$$$$$$$[m"[30m[43m$$$$[m [30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m [30m[43m$$$$[m""""""""
""""[7C[30m[43m$$$$[m "[30m[43m$$$$$$$$$$$$$$$$$$$$$$$$$$$$[m" [30m[43mo$$$[m
[14C"[30m[43m$$$o[m """[30m[43m$$$$$$$$$$$$$$$$$$[m"[30m[43m$$[m"[9C[30m[43m$$$[m
[16C[30m[43m$$$o[m[10C"[30m[43m$$[m""[30m[43m$$$$$$[m""""[11C[30m[43mo$$$[m
[17C[30m[43m$$$$o[32Co$$$[m"
[18C"[30m[43m$$$$o[m [30m[43mo$$$$$$o[m"[30m[43m$$$$o[8Co$$$$[m
[20C"[30m[43m$$$$$oo[m ""[30m[43m$$$$o$$$$$o[m [30m[43mo$$$$[m""
[23C""[30m[43m$$$$$oooo[m "[30m[43m$$$o$$$$$$$$$[m"""
[26C""[30m[43m$$$$$$$oo[m [30m[43m$$$$$$$$$$[m
[34C""""[30m[43m$$$$$$$$$$$[m
[38C[30m[43m$$$$$$$$$$$$[m
[39C[30m[43m$$$$$$$$$$[m"
[40C"[30m[43m$$$[m""""
[?12l[?25h[?25lExecuting Test_wrong_error_type()
"test_assert.res" [New File][24;29H[K[24;19H[K[24;19H[New] 0L, 0C written
Executed 12 tests
"messages" [24;13H[K[24;12H15L, 326C[24;12H[K[24;12H30L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_autochdir.vim" 17 lines, 332 characters
Executing Test_set_filename()
"samples/Xtest" [24;17H[K[24;17H[New] 0L, 0C written
"test_autochdir.res" [New File][24;32H[K[24;22H[K[24;22H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H30L, 734C[24;12H[K[24;12H34L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_backspace_opt.vim" 59 lines, 1673 characters
Executing Test_backspace_option()
"test_backspace_opt.res" [New File][24;26H[K[24;26H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H34L, 806C[24;12H[K[24;12H38L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_breakindent.vim" 241 lines, 7365 characters
Executing Test_breakindent01()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m
qrstuvwxyzABCDEF[7m|[m
GHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent02()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m
[1m[34m>>[mqrstuvwxyzABCD[7m|[m
[1m[34m>>[mEFGHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent03()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m
[1m[34m++[m qrstuvwxyzABCDEF[7m|[m
[1m[34m++[m GHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent04()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m
qrstuvwxyzABCDEFGH[7m|[m
IJKLMNOP[10C[7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent05()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m[3;7HqrstuvwxyzABCD[7m|[m[4;7HEFGHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent06()[27m[23m[m[H[2J[1;21H[7m|[m
abcdefghijklmnop[7m|[m
qrstuvwxyzABCDEFG[7m|[m
HIJKLMNOP[8C[7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent07()[27m[23m[m[H[2J[1;1H[33m 1 [m[16C[7m|[m
[33m 2 [m abcdefghijkl[7m|[m
[1m[34m?[m[8Cmnopqrstuvw[7m|[m
[1m[34m?[m[8CxyzABCDEFGH[7m|[m
[1m[34m?[m[8CIJKLMNOP [7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent07a()[27m[23m[m[H[2J[1;1H[33m 1 [m[16C[7m|[m
[33m 2 [m abcdefghijkl[7m|[m
[33m [m[1m[34m?[m mnopqrstuvw[7m|[m
[33m [m[1m[34m?[m xyzABCDEFGH[7m|[m
[33m [m[1m[34m?[m IJKLMNOP [7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent08()[27m[23m[m[H[2J[1;1H[33m 1 [m[1m[34m$[m[15C[7m|[m
[33m 2 [m[34m^I[mabcdefghijklmn[7m|[m
[1m[34m#[m opqrstuvwxyzA[7m|[m
[1m[34m#[m BCDEFGHIJKLMN[7m|[m
[1m[34m#[m OP[1m[34m$[m[10C[7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;30HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;1H[33m 1 [m[1m[34m$[m[15C[7m|[m
[33m 2 [m[34m^I[mabcdefghijklmn[7m|[m
[1m[34m#[m opqrstuvwxyzA[7m|[m
[1m[34m#[m BCDEFGHIJKLMN[7m|[m
[1m[34m#[m OP[1m[34m$[m[10C[7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;1H[33m 1 [m[1m[34m$[m[15C[7m|[m
[33m 2 [m[34m^I[mabcdefghijklmn[7m|[m
[1m[34m#[m opqrstuvwxyzA[7m|[m
[1m[34m#[m BCDEFGHIJKLMN[7m|[m
[1m[34m#[m OP[1m[34m$[m[10C[7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent08a()[27m[23m[m[H[2J[1;1H[33m 1 [m[1m[34m$[m[15C[7m|[m
[33m 2 [m[34m^I[mabcdefghijklmn[7m|[m
[33m [m[1m[34m#[m opqrstuvwxyzA[7m|[m
[33m [m[1m[34m#[m BCDEFGHIJKLMN[7m|[m
[33m [m[1m[34m#[m OP[1m[34m$[m[10C[7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent09()[27m[23m[m[H[2J[1;1H[33m 1 [m[1m[34m$[m[15C[7m|[m
[33m 2 [m[34m^I[mabcdefghijklmn[7m|[m
[33m [m [1m[34m#[mopqrstuvwxyz[7m|[m
[33m [m [1m[34m#[mABCDEFGHIJKL[7m|[m
[33m [m [1m[34m#[mMNOP[1m[34m$[m[7C[7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent10()[27m[23m[m[H[2J[1;1H[33m 1 [m[16C[7m|[m
[33m 2 [m[8Cabcdefgh[7m|[m
[1m[34m~[m[11Cijklmnop[7m|[m
[1m[34m~[m[11Cqrstuvwx[7m|[m
[1m[34m~[m[11CyzABCDEF[7m|[m
[1m[34m~[m[11CGHIJKLMN[7m|[m
[1m[34m~[m[11COP [7m|[8;21H|[9;21H|[10;21H|[m[8;1H[1m[34m~
~
~ [m
[1m[7m[No Name] [+] [m[2;30HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;1H[33m 1 [m[16C[7m|[m
[33m 2 [m abcdefghijkl[7m|[m
[1m[34m~[m[7Cmnopqrstuvwx[7m|[m
[1m[34m~[m[7CyzABCDEFGHIJ[7m|[m
[1m[34m~[m[7CKLMNOP [7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;1H[33m 1 [m[16C[7m|[m
[33m 2 [m abcdefghijkl[7m|[m
[1m[34m~[m[7Cmnopqrstuvwx[7m|[m
[1m[34m~[m[7CyzABCDEFGHIJ[7m|[m
[1m[34m~[m[7CKLMNOP [7m|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[6;1H[1m[34m~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26HabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent11()
Executing Test_breakindent12()[27m[23m[m[H[2J[1;1H[33m 1 [m[17C[7m|[m
[33m 2 [m[34m>--->--->--->--->[m[7m|[m
[33m [m[7C[34m---[m{ [7m|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[4;1H[1m[34m~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;42H{[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent13()
Executing Test_breakindent14()[24;1H[K[27m[23m[m[H[2J[1;31H[7m|[m
e[29C[7m|[3;31H|[4;31H|[5;31H|[6;31H|[7;31H|[8;31H|[9;31H|[10;31H|[m[3;1H[1m[34m~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;32He[3;32H[1m[34m~ [4;32H~ [5;32H~ [6;32H~ [7;32H~ [8;32H~ [9;32H~ [10;32H~ [m[11;32H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent15()[24;1H[K[27m[23m[m[H[2J[1;31H[7m|[m[2;9H1234567890[12C[7m|[3;31H|[4;31H|[5;31H|[6;31H|[7;31H|[8;31H|[9;31H|[10;31H|[m[3;1H[1m[34m~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;40H1234567890[3;32H[1m[34m~ [4;32H~ [5;32H~ [6;32H~ [7;32H~ [8;32H~ [9;32H~ [10;32H~ [m[11;32H[7m[No Name] [+] [m[12;1H" 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"
[7mtest_breakindent.vim [m[24;1HExecuting Test_breakindent16()[27m[23m[m[H[2J[1;5H1234567890123456[7m|[m
7890123456789012[7m|[m
3456789012345678[7m|[m
9012345678901234[7m|[m
5678901234567890[7m|[m
1234567890123456[7m|[m
[1m[7m[No Name] [+] [m[1;26H1234567890123456789012345678901234567890123456789012345[2;22H678901234567890123456789012345678901234567890[4;22H[1m[34m~ [5;22H~ [6;22H~ [m[7;22H[7m[No Name] [+] [m[8;1H" 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!
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;5H1234567890123456[7m|[m
7890123456789012[7m|[m
3456789012345678[7m|[m
9012345678901234[7m|[m
5678901234567890[7m|[m
1234567890123456[7m|[m
[1m[7m[No Name] [+] [m[1;26H1234567890123456789012345678901234567890123456789012345[2;22H678901234567890123456789012345678901234567890[4;22H[1m[34m~ [5;22H~ [6;22H~ [m[7;22H[7m[No Name] [+] [m[8;1H" 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!
[7mtest_breakindent.vim [27m[23m[m[H[2J[1;5H1234567890123456[7m|[m
7890123456789012[7m|[m
3456789012345678[7m|[m
9012345678901234[7m|[m
5678901234567890[7m|[m
1234567890123456[7m|[m
[1m[7m[No Name] [+] [m[1;26H1234567890123456789012345678901234567890123456789012345[2;22H678901234567890123456789012345678901234567890[4;22H[1m[34m~ [5;22H~ [6;22H~ [m[7;22H[7m[No Name] [+] [m[8;1H" 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!
[7mtest_breakindent.vim [m[24;1H"test_breakindent.res" [New File][24;24H[K[24;24H[New] 0L, 0C written
Executed 18 tests
"messages" [24;13H[K[24;12H38L, 886C[24;12H[K[24;12H59L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_bufwintabinfo.vim" 116 lines, 3459 characters
Executing Test_get_buf_options()
Executing Test_get_win_options()
Executing Test_getbufwintabinfo()
"Xtestfile1" [New File][24;24H[K[24;11H212
Already only one window
"test_bufwintabinfo.res" [New File][24;26H[K[24;26H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H59L, 1492C[24;12H[K[24;12H65L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_cdo.vim" 205 lines, 5116 characters
Executing Test_cdo()
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C[24;11H3[24;14H[K[24;14H3L, 18C
(1 of 1): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
(7 of 8): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
(5 of 8): Line2
(1 of 1): Line2
Executing Test_ldo()
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 6): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
(4 of 6): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(6 of 6): Line3
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(4 of 6): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C[24;11H3[24;14H[K[24;14H3L, 18C
(1 of 1): Line3
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
(7 of 8): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile1" [24;14H[K[24;14H3L, 18C
(2 of 8): Line1
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
"Xtestfile3" [24;14H[K[24;14H3L, 18C
(7 of 8): Line2
"Xtestfile2" [24;14H[K[24;14H3L, 18C
(5 of 8): Line2
(5 of 8): Line2
(1 of 1): Line2
"test_cdo.res" [New File][24;16H[K[24;16H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H65L, 1639C[24;12H[K[24;12H70L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_channel.vim" 1641 lines, 47075 characters
"test_channel.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 0 test
"messages"[24;12H[K[24;12H70L, 1718C[24;12H[K[24;12H73L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_charsearch.vim" 62 lines, 1475 characters
Executing Test_charsearch()
Executing Test_search_cmds()
"test_charsearch.res" [New File][24;23H[K[24;23H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H73L, 1758C[24;12H[K[24;12H78L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_cmdline.vim" 243 lines, 7346 characters
Executing Test_complete_list()[24;1H[K[24;1H:e test
test1.in[24Ctest86.in
test1.ok[24Ctest86.ok
test1.out[23Ctest86.out
test103.in[22Ctest87.in
test103.ok[22Ctest87.ok
test103.out[21Ctest87.out
test104.in[22Ctest88.in
test104.ok[22Ctest88.ok
test104.out[21Ctest88.out
test107.in[22Ctest89.in
test107.ok[22Ctest89.ok
test107.out[21Ctest89.out
test108.in[22Ctest9.in
test108.ok[22Ctest9.ok
test108.out[21Ctest9.out
test11.in[23Ctest90.in
test11.ok[23Ctest90.ok
test11.out[22Ctest90.out
test12.in[23Ctest91.in
test12.ok[23Ctest91.ok
test12.out[22Ctest91.out
test14.in[23Ctest94.in
test14.ok[23Ctest94.ok
test14.out[22Ctest94.out
test15.in[23Ctest95.in
test15.ok[23Ctest95.ok
test15.out[22Ctest95.out
test17.in[23Ctest97.in
test17.ok[23Ctest97.ok
test17.out[22Ctest97.out
test17a.in[22Ctest98.in
test19.in[23Ctest98.ok
test19.ok[23Ctest98.out
test19.out[22Ctest99.in
test20.in[23Ctest99.ok
test20.ok[23Ctest99.out
test20.out[22Ctest_alot.vim
test22.in[23Ctest_alot_latin.vim
test22.ok[23Ctest_alot_utf8.vim
test22.out[22Ctest_arglist.res
test23.in[23Ctest_arglist.vim
test23.ok[23Ctest_assert.res
test23.out[22Ctest_assert.vim
test24.in[23Ctest_assign.vim
test24.ok[23Ctest_autochdir.res
test24.out[22Ctest_autochdir.vim
test25.in[23Ctest_autocmd.vim
test25.ok[23Ctest_autocmd_option.in
test25.out[22Ctest_autocmd_option.ok
test26.in[23Ctest_autocmd_option.out
test26.ok[23Ctest_autoformat_join.in
test26.out[22Ctest_autoformat_join.ok
test28.in[23Ctest_autoformat_join.out
test28.ok[23Ctest_backspace_opt.res
test28.out[22Ctest_backspace_opt.vim
test29.in[23Ctest_breakindent.res
test29.ok[23Ctest_breakindent.vim
test29.out[22Ctest_bufwintabinfo.res
test3.in[24Ctest_bufwintabinfo.vim
test3.ok[24Ctest_cdo.res
test3.out[23Ctest_cdo.vim
test30.in[23Ctest_changelist.in
test30.ok[23Ctest_changelist.ok
test30.out[22Ctest_changelist.out
test31.in[23Ctest_channel.py
test31.ok[23Ctest_channel.res
test31.out[22Ctest_channel.vim
test32.in[23Ctest_channel_pipe.py
test32.ok[23Ctest_charsearch.res
test32.out[22Ctest_charsearch.vim
test33.in[23Ctest_close_count.in
test33.ok[23Ctest_close_count.ok
test33.out[22Ctest_close_count.out
test34.in[23Ctest_cmdline.vim
test34.ok[23Ctest_command_count.vim
test34.out[22Ctest_comparators.in
test36.in[23Ctest_comparators.ok
test36.ok[23Ctest_comparators.out
test36.out[22Ctest_crypt.vim
test37.in[23Ctest_cscope.vim
test37.ok[23Ctest_cursor_func.vim
test37.out[22Ctest_delete.vim
test38.in[23Ctest_diffmode.vim
test38.ok[23Ctest_digraph.vim
test38.out[22Ctest_display.vim
test39.in[23Ctest_erasebackword.in
test39.ok[23Ctest_erasebackword.ok
test39.out[22Ctest_erasebackword.out
test4.in[24Ctest_eval.in
test4.ok[24Ctest_eval.ok
test4.out[23Ctest_eval.out
test40.in[23Ctest_eval_func.vim
test40.ok[23Ctest_ex_undo.vim
test40.out[22Ctest_execute_func.vim
test41.in[23Ctest_expand.vim
test41.ok[23Ctest_expand_dllpath.vim
test41.out[22Ctest_expr.vim
test42.in[23Ctest_expr_utf8.vim
test42.ok[23Ctest_farsi.vim
test42.out[22Ctest_feedkeys.vim
test43.in[23Ctest_file_perm.vim
test43.ok[23Ctest_fileformat.vim
test43.out[22Ctest_filter_cmd.vim
test44.in[23Ctest_filter_map.vim
test44.ok[23Ctest_fixeol.in
test44.out[22Ctest_fixeol.ok
test45.in[23Ctest_fixeol.out
test45.ok[23Ctest_float_func.vim
test45.out[22Ctest_fnameescape.vim
test48.in[23Ctest_fnamemodify.vim
test48.ok[23Ctest_fold.vim
test48.out[22Ctest_functions.vim
test49.in[23Ctest_getcwd.in
test49.ok[23Ctest_getcwd.ok
test49.out[22Ctest_getcwd.out
test49.vim[22Ctest_gf.vim
test5.in[24Ctest_glob2regpat.vim
test5.ok[24Ctest_gn.vim
test5.out[23Ctest_goto.vim
test50.in[23Ctest_gui.vim
test50.ok[23Ctest_hardcopy.vim
test51.in[23Ctest_help_tagjump.vim
test51.ok[23Ctest_hide.vim
test51.out[22Ctest_history.vim
test52.in[23Ctest_hlsearch.vim
test52.ok[23Ctest_increment.vim
test52.out[22Ctest_increment_dbcs.vim
test53.in[23Ctest_insertcount.in
test53.ok[23Ctest_insertcount.ok
test53.out[22Ctest_insertcount.out
test54.in[23Ctest_job_fails.vim
test54.ok[23Ctest_join.vim
test54.out[22Ctest_json.vim
test55.in[23Ctest_jumps.vim
test55.ok[23Ctest_lambda.vim
test55.out[22Ctest_langmap.vim
test56.in[23Ctest_largefile.vim
test56.ok[23Ctest_lispwords.vim
test56.out[22Ctest_listchars.in
test57.in[23Ctest_listchars.ok
test57.ok[23Ctest_listchars.out
test57.out[22Ctest_listlbr.in
test58.in[23Ctest_listlbr.ok
test58.ok[23Ctest_listlbr.out
test58.out[22Ctest_listlbr_utf8.in
test59.in[23Ctest_listlbr_utf8.ok
test59.ok[23Ctest_listlbr_utf8.out
test59.out[22Ctest_man.vim
test60.in[23Ctest_mapping.vim
test60.ok[23Ctest_marks.vim
test60.out[22Ctest_match.vim
test60.vim[22Ctest_matchadd_conceal.vim
test64.in[23Ctest_matchadd_conceal_utf8.vim
test64.ok[23Ctest_menu.vim
test64.out[22Ctest_messages.vim
test65.in[23Ctest_mksession.vim
test65.ok[23Ctest_mksession_utf8.vim
test65.out[22Ctest_modeline.vim
test66.in[23Ctest_nested_function.vim
test66.ok[23Ctest_netbeans.py
test66.out[22Ctest_netbeans.vim
test67.in[23Ctest_normal.vim
test67.ok[23Ctest_options.vim
test67.out[22Ctest_packadd.vim
test68.in[23Ctest_partial.vim
test68.ok[23Ctest_perl.vim
test68.out[22Ctest_popup.vim
test69.in[23Ctest_profile.vim
test69.ok[23Ctest_quickfix.vim
test69.out[22Ctest_regexp_latin.vim
test7.in[24Ctest_regexp_utf8.vim
test7.ok[24Ctest_reltime.vim
test7.out[23Ctest_ruby.vim
test70.in[23Ctest_search.vim
test70.ok[23Ctest_search_mbyte.in
test70.out[22Ctest_search_mbyte.ok
test72.in[23Ctest_search_mbyte.out
test72.ok[23Ctest_searchpos.vim
test72.out[22Ctest_set.vim
test73.in[23Ctest_signs.vim
test73.ok[23Ctest_smartindent.vim
test73.out[22Ctest_sort.vim
test75.in[23Ctest_source.vim
test75.ok[23Ctest_source_utf8.vim
test75.out[22Ctest_startup.vim
test77.in[23Ctest_startup_utf8.vim
test77.ok[23Ctest_stat.vim
test77.out[22Ctest_statusline.vim
test77a.in[22Ctest_substitute.vim
test77a.ok[22Ctest_syn_attr.vim
test78.in[23Ctest_syntax.vim
test78.ok[23Ctest_system.vim
test78.out[22Ctest_tabline.vim
test79.in[23Ctest_tabpage.vim
test79.ok[23Ctest_tagcase.vim
test79.out[22Ctest_tagjump.vim
test8.in[24Ctest_taglist.vim
test8.ok[24Ctest_textobjects.vim
test8.out[23Ctest_timers.vim
test80.in[23Ctest_true_false.vim
test80.ok[23Ctest_undo.vim
test80.out[22Ctest_unlet.vim
test82.in[23Ctest_usercommands.vim
test82.ok[23Ctest_utf8.in
test82.out[22Ctest_utf8.ok
test83-tags2[20Ctest_utf8.out
test83-tags3[20Ctest_viminfo.vim
test83.in[23Ctest_viml.vim
test83.ok[23Ctest_visual.vim
test83.out[22Ctest_window_cmd.vim
test84.in[23Ctest_window_id.vim
test84.ok[23Ctest_wordcount.in
test84.out[22Ctest_wordcount.ok
test85.in[23Ctest_wordcount.out
test85.ok[23Ctest_writefile.vim
test85.out
:e test
"test" [New File]
Executing Test_complete_tab()[24;1H[K[24;1H:e Xtest...file
"Xtestfile" 1L, 9C
Executing Test_complete_wildmenu()[24;1H[K[24;1H:e Xtest...file1...[24;9H[K[24;9H
[23;1H[1m[7mXtestfile1 Xtestfile2 [m
[30m[43mXtestfile1[m[1m[7m [13C [m[24;1H:e Xtest...[23;1H[1m[7mXtestfile1[m
[30m[43mXtestfile1[m[1m[7m [m[24;9Hfile1...[23;1H[1m[7mXtestfile1[m[2C[30m[43mXtestfile2[m[1m[7m [m[24;13H2[24;14H[K[24;14H[23;1H:[1m[7mt[me Xtestfile2[23;14H[K[24;1H[K[23;1H"Xtestfile2" 1L, 10C
Executing Test_expand_star_star()[24;1H[K[24;1H:find **/fileXname...[24;7Ha/b/fileXname[24;20H[K[24;20H
"a/b/fileXname" [24;17H[K[24;17H1L, 9C
"Xtestfile2" [New File]
Executing Test_getcompletion()[24;1H[K[24;1H:cscope find
a c d e f g i s t
:cscope find [24;1H[K[24;1H:sign list
Testing
:sign list [24;1H[K[24;1HExecuting Test_illegal_address()
Executing Test_paste_in_cmdline()[24;1H[K[24;1H:abc "[24;6H[K[24;6Hdef ghi
:"abc def ghi
:"
[24;1H[K[24;1H:aaa "[24;6H[K[24;6Hasdf bbb
:"aaa asdf bbb
:"
[24;1H[K[24;1H:aaa "[24;6H[K[24;6H/tmp/some bbb
:"aaa /tmp/some bbb
:"
[24;1H[K[24;1H:aaa veryl"[24;11H[K[24;11Hongword bbb
:"aaa verylongword bbb
:"
[24;1H[K[24;1H:aaa "[24;6H[K[24;6Ha;b-c*d bbb
:"aaa a;b-c*d bbb
:"
[24;1H[K[24;1H:[24;1H[K[24;1H=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()[24;1H[K[24;1H:abc defef[24;8H[K[24;6H
:"abc ef
:"
[24;1H[K[24;1H:abc defdef[24;8H[K[24;5H
:"abcdef
:"
[24;1H[K[24;1H:abc def ghighi[24;10H[K[24;6H
:"abc ghi
:"
[24;1H[K[24;1H:abc def
:def[24;6H[K[24;2H"def
"test_cmdline.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 8 tests
"messages"[24;12H[K[24;12H78L, 1859C[24;12H[K[24;12H89L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_command_count.vim" 191 lines, 4742 characters
Executing Test_command_count_0()
"DoesNotExistEver" [New File][24;30H[K[24;1H
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][24;15H[K[24;2Hbeb
Executing Test_command_count_2()
"d" [New File]
"a
Already only one window
"x" [New File][24;15H[K[24;1H
Already only one window
Executing Test_command_count_3()
"aaa" [New File][24;17H[K[24;2Hbbb
"ccc
"test_command_count.vim" 191L, 4742C
2 buffers deleted
Executing Test_command_count_4()
"cc" [New File][24;16H[K[24;1H
"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][24;26H[K[24;26H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H89L, 2168C[24;12H[K[24;12H97L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_crypt.vim" 83 lines, 2590 characters
Executing Test_crypt_blowfish()
"Xtest.txt" [New File][24;23H[K[24;1H[K[24;1H:X
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: ******
Enter same key again: ******
[23;1H"Xtest.txt" [23;13H[K[23;13H[New][blowfish] 3L, 98C written
:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed 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][24;23H[K[24;1H[K[24;1H:X
[24;1H[K[24;1HEnter encryption key: ******
[24;1H[K[24;1HEnter same key again: ******
[23;1H"Xtest.txt" [23;13H[K[23;13H[New][blowfish2] 3L, 98C written
:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed encryption key for "Xtest.txt"
Enter encryption key: ******
"Xtest.txt" [blowfish2] 3L, 98C
Executing Test_crypt_zip()
"Xtest.txt" [New File][24;23H[K[24;1H[K[24;1H:X
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: ******
Enter same key again: ******
[23;1H"Xtest.txt" [23;13H[K[23;13H[New][crypted] 3L, 98C written
:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed 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][24;23H[K[24;13H[K[24;13H[New] 1L, 16C written[24;1H[K[24;1H:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed 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][24;23H[K[24;13H[K[24;13H[New] 1L, 16C written[24;1H[K[24;1H:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed encryption key for "Xtest.txt"
Enter encryption key: ******
"Xtest.txt" [readonly] 1L, 16C
Executing Test_uncrypt_blowfish()
"Xtest.txt" [New File][24;23H[K[24;13H[K[24;13H[converted][New][noeol] 1L, 80C written[24;1H[K[24;1H:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed 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][24;23H[K[24;13H[K[24;13H[converted][New][noeol] 1L, 103C written[24;1H[K[24;1H:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed encryption key for "Xtest.txt"
Enter encryption key: *******
"Xtest.txt" [blowfish2] 2L, 44C
Executing Test_uncrypt_zip()
"Xtest.txt" [New File][24;23H[K[24;13H[K[24;13H[converted][New][noeol] 1L, 45C written[24;1H[K[24;1H:split Xtest.txt
"Xtest.txt" [24;13H[K[24;1HNeed encryption key for "Xtest.txt"
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: ******
"Xtest.txt" [converted][crypted] 2L, 26C[23;1H"test_crypt.res" [New File][23;28H[K[24;1H[K[23;18H[K[23;18H[converted][New] 0L, 0C written
Executed 8 tests
"messages"[24;12H[K[24;12H97L, 2380C[24;12H[K[24;12H108L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_cscope.vim" 279 lines, 10568 characters
"test_cscope.res" [New File][24;19H[K[24;19H[New] 0L, 0C written
Executed 0 test
"messages"[24;12H[K[24;12H108L, 2667C[24;12H[K[24;12H111L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_diffmode.vim" 237 lines, 4954 characters
Executing Test_diff_fold_sync()
Executing Test_diffget_diffput()
Executing Test_diffoff()[27m[23m[m[H[2J[1;1H[34m[47m [m[1m[34m[46m-------------------------------------[m[7m|[m
[34m[47m [m[1m[34m[46m-------------------------------------[m[7m|[m
[34m[47m [mTwo[34C[7m|[m
[34m[47m [mThree[32C[7m|[5;40H|[6;40H|[7;40H|[8;40H|[9;40H|[10;40H|[11;40H|[12;40H|[13;40H|[14;40H|[15;40H|[16;40H|[17;40H|[18;40H|[19;40H|[20;40H|[21;40H|[22;40H|[m[5;1H[34m[47m
[m[5;3H[1m[34m~ [6;3H~ [7;3H~ [8;3H~ [9;3H~ [10;3H~ [11;3H~ [12;3H~ [13;3H~ [14;3H~ [15;3H~ [16;3H~ [17;3H~ [18;3H~ [19;3H~ [20;3H~ [21;3H~ [22;3H~ [m
[7m[No Name] [+] [m[1;41H[34m[47m [m[44mOne [m[2;41H[34m[47m [m[44m [m[3;41H[34m[47m [mTwo[4;41H[34m[47m [mThree[5;41H[34m[47m [6;41H [7;41H [8;41H [9;41H [10;41H [11;41H [12;41H [13;41H [14;41H [15;41H [16;41H [17;41H [18;41H [19;41H [20;41H [21;41H [22;41H [m[5;43H[1m[34m~ [6;43H~ [7;43H~ [8;43H~ [9;43H~ [10;43H~ [11;43H~ [12;43H~ [13;43H~ [14;43H~ [15;43H~ [16;43H~ [17;43H~ [18;43H~ [19;43H~ [20;43H~ [21;43H~ [22;43H~ [m[23;41H[1m[7m[No Name] [+] [m[1;1HTwo
Three
[1m[34m~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~ [m[1;41HOne[1;44H[K[2;41H[K[3;41HTwo[3;44H[K[4;41HThree[4;46H[K[5;41H[1m[34m~ [6;41H~ [7;41H~ [8;41H~ [9;41H~ [10;41H~ [11;41H~ [12;41H~ [13;41H~ [14;41H~ [15;41H~ [16;41H~ [17;41H~ [18;41H~ [19;41H~ [20;41H~ [21;41H~ [22;41H~ [m
Executing Test_filler_lines()
7 more lines
10 more lines
Executing Test_setting_cursor()
"Xtest1" [New File][24;20H[K[24;1H
90 more lines
"Xtest1" [24;10H[K[24;10H[New] 91L, 262C written[24;7H2" [New File][24;21H[K[24;1H
100 more lines
"Xtest2"[24;10H[K[24;10H[New] 101L, 293C written[24;10H[K[24;10H101L, 293C[24;7H1[24;10H[K[24;10H91L, 262C
Executing Test_vert_split()
"Xtest" [24;9H[K[24;9H[New] 5L, 25C written[24;1H[K[24;1H"Xtest2" [New] 6L, 29C written
"Nop" [Modified][Not edited] line 4 of 6 --66%-- col 3[24;1H[K[24;1H"Xtest" 5L, 25C[24;7H2" [24;10H[K[24;10H6L, 29C
"test_diffmode.vim" 237L, 4954C[24;16Hres" [New File][24;31H[K[24;21H[K[24;21H[New] 0L, 0C written
Executed 6 tests
"messages"[24;12H[K[24;12H111L, 2706C[24;12H[K[24;12H120L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_digraph.vim" 461 lines, 14928 characters
Executing Test_digraph_cmndline()
Executing T
Executing Test_digraphs()[24;1H[K[24;1H
Executing Test_digraphs_option()[24;1H[K[24;1H
Executing Test_digraphs_output()
Executing Test_loadkeymap()[24;1H[K[24;1H"test_digraph.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H120L, 2928C[24;12H[K[24;12H128L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_display.vim" 39 lines, 849 characters[?1l>[?12l[?25h[?1049l[m[m[0m[H[2J[m[0m[24;1HExecuting Test_display_foldcolumn()[m[m[0m[H[2J[1;1He more noise blah blah[34m<82[0m[7m|[0m
[34m>[0m more stuff here[8C[7m|[3;26H|[4;26H|[5;26H|[6;26H|[7;26H|[8;26H|[9;26H|[10;26H|[11;26H|[0m[3;1H[1m[34m~
~
~
~
~
~
~
~
~ [0m
[1m[7m[No Name] [+] [0m[2;27H[1m[34m~ [3;27H~ [4;27H~ [5;27H~ [6;27H~ [7;27H~ [8;27H~ [9;27H~ [10;27H~ [11;27H~ [0m[12;27H[7m[No Name] [0m[13;1H" 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))[22;9Hcall add(line, nr2char(screenchar(a:lnum+j, c)))
[7mtest_display.vim [m[m[0m[H[2J[1;1H[34m[47m [0me more noise blah blah[34m<[0m[7m|[0m
[34m[47m [0m[34m82>[0m more stuff here [7m|[3;26H|[4;26H|[5;26H|[6;26H|[7;26H|[8;26H|[9;26H|[10;26H|[11;26H|[0m[3;1H[34m[47m
[0m[3;3H[1m[34m~ [4;3H~ [5;3H~ [6;3H~ [7;3H~ [8;3H~ [9;3H~ [10;3H~ [11;3H~ [0m
[1m[7m[No Name] [+] [0m[2;27H[1m[34m~ [3;27H~ [4;27H~ [5;27H~ [6;27H~ [7;27H~ [8;27H~ [9;27H~ [10;27H~ [11;27H~ [0m[12;27H[7m[No Name] [0m[13;1H" 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))[22;9Hcall add(line, nr2char(screenchar(a:lnum+j, c)))
[7mtest_display.vim [0m[24;1H"test_display.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H128L, 3123C[24;12H[K[24;12H132L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_farsi.vim" 84 lines, 2881 characters
Executed 2 tests
"messages"[24;12H[K[24;12H[converted] 132L, 3199C[24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_fnameescape.vim" 21 lines, 467 characters
Executing Test_fnameescape()
"Xspa ce"[24;11H[K[24;11H[New] 21L, 467C written
"Xemark![24;11H[K[24;11H[New] 21L, 467C written
"test_fnameescape.res" [New File][24;24H[K[24;24H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H137L, 3295C[24;12H[K[24;12H141L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;27H[K[24;17H[K[24;17H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H141L, 3368C[24;12H[K[24;12H147L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_gf.vim" 33 lines, 1138 characters
Executing Test_gf_url()
"test_gf.res" [New File][24;15H[K[24;15H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H147L, 3495C[24;12H[K[24;12H151L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_gn.vim" 93 lines, 2821 characters
Executing Test_gn_command()[24;1H[K[24;1H/[u]niquepattern/s
[24;17H[K[24;1H[24;1H[K[24;1H/a:0\@!\zs\d\+
[24;1H[K[24;1H"test_gn.res" [New File][24;15H[K[24;15H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H151L, 3554C[24;12H[K[24;12H155L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_gui.vim" 36 lines, 838 characters
"test_gui.res" [New File][24;16H[K[24;16H[New] 0L, 0C written
Executed 0 test
"messages"[24;12H[K[24;12H155L, 3617C[24;12H[K[24;12H158L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_hardcopy.vim" 62 lines, 2001 characters
Executing Test_printheader_parsing()
Executing Test_printmbfont_parsing()
Executing Test_printoptions_parsing()
Executing Test_with_syntax()[24;1H[K[24;1H[32mPrinting page 1 (0%)[m[24;1H[K[24;1H[32mPrinted: test_hardcopy.vim[m
"test_hardcopy.res" [New File][24;21H[K[24;21H[New] 0L, 0C written
Executed 4 tests
"messages"[24;12H[K[24;12H158L, 3653C[24;12H[K[24;12H165L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_hide.vim" 97 lines, 2443 characters
Executing Test_hide()
"Xf1" [New File][24;17H[K[24;1H
"Xf1" [New File]
"Xf212121
one|two
"Xf1" [New File]
"Xf212
"test_hide.res" [New File][24;17H[K[24;17H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H165L, 3836C[24;12H[K[24;12H169L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_history.vim" 106 lines, 3567 characters
Executing Test_History()
Executing Test_Search_history_window()[24;1H[K[24;1H/a
[24;1H[K[24;1H/b
[24;1H[K[24;1H/[27m[23m[m[H[2J[1;1Ha
b
a
b
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [+] [m[13;1H" Tests for the history functions
[7mtest_history.vim [m[16;1H[1m[34m/[ma
[1m[34m/[mb
[1m[34m/
/
/
/
/[19;2H~ [20;2H~ [21;2H~ [22;2H~ [m[23;1H[1m[7m[Command Line] [18;2H[?12l[?25h[17;2H[16;2H[24;1H[?25l[m/a
"test_history.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H169L, 3895C[24;12H[K[24;12H174L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_hlsearch.vim" 34 lines, 1013 characters
Executing Test_hlsearch()[24;1H[K[24;1H/aaa
[27m[23m[m[H[2J[1;1H[30m[43maaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[m
[1m[34m~ [m[12;1H[1m[7m[No Name] [+] [m[13;1H" Test for v:hlsearch
function! Test_hlsearch()
new
call setline(1, repeat(['[30m[43maaa[m'], 10))
set hlsearch nolazyredraw
let r=[]
" redraw is needed to make hlsearch highlight the matches
exe "normal! /[30m[43maaa[m\<CR>" | redraw
let r1 = screenattr(1, 1)
[7mtest_hlsearch.vim [m[1;1Haaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[1;1H[30m[43maaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[m[1;1Haaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[1;1H[30m[43maaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[m[1;1Haaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa
/aaa
[1;1H[30m[43maaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[m[1;1Haaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[24;1H[K[24;1H//aaa
[1;1H[30m[43maaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa[m[24;1H[K[24;1H//aaa
[1;1Haaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa
aaa[17;28Haaa[21;17Haaa
"test_hlsearch.res" [New File][24;21H[K[24;21H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H174L, 4000C[24;12H[K[24;12H178L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_increment.vim" 760 lines, 19011 characters
Executing Test_normal_increment_01()
"dummy" [New File][24;19H[K[24;1H
Executing Test_normal_increment_02()
"dummy" [New File][24;19H[K[24;1H
Executing Test_normal_increment_03()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_01()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_02()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_03()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_04()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_05()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_06()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_07()
"dummy" [New File][24;19H[K[24;1H5 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_08()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_09()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_10()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_11()
"dummy" [New File][24;19H[K[24;1H3 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_12()
"dummy" [New File][24;19H[K[24;1H3 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_13()
"dummy" [New File][24;19H[K[24;1H3 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_14()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_15()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_16()
"dummy" [New File][24;19H[K[24;1H3 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_17()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_18()
"dummy" [New File][24;19H[K[24;1H4 lines changed[24;16H[K[24;1H
Executing Test_visual_increment_19()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_20()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_21()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_22()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_23()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_24()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_25()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_26()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_27()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_28()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_29()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_30()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_31()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_32()
"dummy" [New File][24;19H[K[24;7H_31" [New File]
Executing Test_visual_increment_33()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_34()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_35()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_36()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_37()
"dummy" [New File][24;19H[K[24;1H
Executing Test_visual_increment_38()
"dummy" [New File][24;19H[K[24;1H[K[24;1H"test_increment.res" [New File][24;22H[K[24;22H[New] 0L, 0C written
Executed 41 tests
"messages" [24;13H[K[24;12H178L, 4067C[24;12H[K[24;12H222L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_increment_dbcs.vim" 30 lines, 604 characters
Executing Test_increment_dbcs_1()
"test_increment_dbcs.res" [New File][24;27H[K[24;27H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H[converted] 222L, 5628C[24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_job_fails.vim" 19 lines, 598 characters
Executing Test_job_start_fails()[?12l[?25h[?25l
"test_job_fails.res" [New File][24;32H[K[24;22H[K[24;22H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H226L, 5709C[24;12H[K[24;12H230L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;17H[K[24;17H[New] 0L, 0C written
Executed 4 tests
"messages"[24;12H[K[24;12H230L, 5784C[24;12H[K[24;12H237L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_langmap.vim" 28 lines, 628 characters
Executing Test_langmap()
"test_langmap.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H237L, 5934C[24;12H[K[24;12H241L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;16H[K[24;16H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H241L, 5999C[24;12H[K[24;12H246L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_marks.vim" 26 lines, 775 characters
Executing Test_Incr_Marks()
Executing Test_Restore_DelMark()[24;1H[K[24;1H1 more line; before #2 0 seconds ago
1 line less; after #2 0 seconds ago[24;37H[K[24;3Hmore line; before #2 0 seconds ago
"test_marks.res" [New File][24;28H[K[24;18H[K[24;18H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H246L, 6102C[24;12H[K[24;12H251L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_matchadd_conceal.vim" 289 lines, 9276 characters[?1l>[?12l[?25h[?1049l[m[m[0m[H[2J[m[0m[24;1HExecuting Test_clearmatches()[m[m[0m[H[2J[2;1H# This is a Test
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H" 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
[7mtest_matchadd_conceal.vim [m[m[0m[H[2J[2;1H#[37m[40mZ[0mThis[37m[40mZ[0mis[37m[40mZ[0ma[37m[40mZ[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H" 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
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_default_conceal_char()[m[m[0m[H[2J[2;1H#[37m[40m [0mThis[37m[40m [0mis[37m[40m [0ma[37m[40m [0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H" 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
[7mtest_matchadd_conceal.vim [m[m[0m[H[2J[2;1H#[37m[40m+[0mThis[37m[40m+[0mis[37m[40m+[0ma[37m[40m+[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H" 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
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_matchadd_and_conceallevel_3()[m[m[0m[H[2J[2;1H[34m#ThisisaTest[0m
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [m[m[0m[H[2J[2;1H[34m#Thisisa[0m[1m[37m[41m Test[0m
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_matchadd_and_syn_conceal()[m[m[0m[H[2J[1;1HInductive [37m[40m-[0m : Type := | true : [37m[40m-[0m | false : [37m[40m-[0m.
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [m[m[0m[H[2J[1;1HInductive[31m [0m[37m[40m-[0m[31m [0m: Type := | true : [37m[40m-[0m | false : [37m[40m-[0m.
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_matchadd_repeat_conceal_with_syntax_off()[1;1H[K[2;1HTARGET_TARGETTARGET
[37m[40mt[0m_[37m[40mtt[0m[2;5H[K[24;16Hsimple_matchadd()[24;33H[K[m[m[0m[H[2J[2;1H#[37m[40m [0mThis[37m[40m [0mis[37m[40m [0ma[37m[40m [0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_simple_matchadd_and_conceal()[m[m[0m[H[2J[2;1H#[37m[40mX[0mThis[37m[40mX[0mis[37m[40mX[0ma[37m[40mX[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_syn_and_match_conceal()[m[m[0m[H[2J[2;1H#[37m[40mZ[0mThis[37m[40mZ[0mis[37m[40mZ[0ma[37m[40mZ[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [m[m[0m[H[2J[2;1H#[37m[40m*[0mThis[37m[40m*[0mis[37m[40m*[0ma[37m[40m*[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1HExecuting Test_using_matchaddpos()[m[m[0m[H[2J[2;1H[34m#[0m[37m[40mP[0m[34mis a Test[0m
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H[34m" Test for matchadd() and conceal feature[0m
[33mif[0m ![36mhas[0m[35m([0m[31m'conceal'[0m[35m)[0m
[33mfinish
endif
if[0m ![36mhas[0m[35m([0m[31m'gui_running'[0m[35m)[0m [33m&&[0m [36mhas[0m[35m([0m[31m'unix'[0m[35m)[0m
[33mset[0m [35mterm[0m=ansi
[33mendif
function[0m! [35ms:[0mscreenline[35m([0mlnum[35m)[0m abort
[7mtest_matchadd_conceal.vim [0m[24;1H"test_matchadd_conceal.res" [New File][24;29H[K[24;29H[New] 0L, 0C written
Executed 9 tests
"messages"[24;12H[K[24;12H251L, 6202C[24;12H[K[24;12H263L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_mksession.vim" 104 lines, 2315 characters
Executing Test_mksession()
"/tmp/vIFKvw7/0" [24;18H[K[24;18H[New] 9L, 203C written
[31msearch hit BOTTOM, continuing at TOP[m
"test_mksession.res" [New File][24;32H[K[24;22H[K[24;22H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H[converted] 263L, 6616C[24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_mksession_utf8.vim" 104 lines, 2328 characters
Executing Test_mksession_utf8()
"/tmp/vRaIlvH/0" [24;18H[K[24;18H[New] 9L, 215C written
[31msearch hit BOTTOM, continuing at TOP[m
"test_mksession_utf8.res" [New File][24;27H[K[24;27H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H267L, 6685C[24;12H[K[24;12H271L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;28H[K[24;28H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H271L, 6764C[24;12H[K[24;12H277L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_netbeans.vim" 80 lines, 2145 characters
"test_netbeans.res" [New File][24;21H[K[24;21H[New] 0L, 0C written
Executed 0 test
"messages"[24;12H[K[24;12H277L, 6909C[24;12H[K[24;12H280L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_normal.vim" 2280 lines, 58740 characters
Executing Test_normal00_optrans()[24;1H[K[24;1H
Executing Test_normal01_keymodel()
4 lines yanked[24;15H[K[24;1HExecuting Test_normal02_selectmode()[24;1H[K[24;1H10 fewer lines[24;1H[K[24;1H
Executing Test_normal02_selectmode2()[24;1H[K[24;1H:set im
[?12l[?25h[?25l[24;1H[K[24;1H:set noim
Executing Test_normal03_join()
Executing Test_normal04_filter()[24;1H[K[24;1H:.!sed -e 's/^/| /'
[?12l[?25h[22C[?1l>[?1049lone
[?1049h[?1h=[?25l[24;1H[K[24;1H:.!sed -e 's/^/| /'
[?12l[?25h[?25l[24;1H[K[24;1H:.!
[24;1H[K[24;1H:!echo one
[10C[?1l>[?12l[?25h[?1049l
[No write since last change]
one
Press ENTER or type command to continue[?1049h[?1h=[?25l[24;1H[K[24;1H:.!!
[?12l[?25h
[?25lExecuting Test_normal05_formatexpr()
Executing Test_normal05_formatexpr_newbuf()
"another" [New File][24;21H[K[24;1H
Executing Test_normal05_formatexpr_setopt()
Executing Test_normal06_formatprg()[24;1H[K[24;1H:.,$!./Xsed_format.sh
[?12l[?25h[?25l7 lines filtered[24;17H[K[24;1H[K[24;1H:.,$!./Xsed_format.sh
[?12l[?25h[?25l7 lines filtered[24;17H[K[24;1H
Executing Test_normal07_internalfmt()
7 fewer lin[24;14H[K[24;1H
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()[24;1H[K[24;1H
Executing Test_normal12_nv_error()
Executing Test_normal13_help()
"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
Executing Test_normal14_page()
Executing Test_normal14_page_eol()[24;1H[K[24;1H
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
[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[24;1HWord 'goood' added to ./Xspellfile.add[24;7H2 goood' added to ./Xspellfile.add[24;25H/tmp/vMoidgf/11[24;40H[K[24;16Hremoved from /tmp/vMoidgf/11[24;7Hgoood' added to /tmp/vMoidgf/11[24;38H[K[24;14Hremoved from /tmp/vMoidgf/11[24;14Hadded to ./Xspellfile.add[24;39H[K[24;14Hremoved from ./Xspellfile.add[24;7H2 goood' added to ./Xspellfile.add[24;41H[K[24;16Hremoved from ./Xspellfile.add[24;7Hgoood' added to ./Xspellfile2.add[24;40H[K[24;1H
Executing Test_normal20_exmode()
Executing Test_normal21_nv_hat()
"Xfoobar" [New File][24;21H[K[24;4Hile2" [New File][24;20H[K[24;1H
Executing Test_normal22_zet()
Executing Test_normal23_K()
"version8.txt" [24;16H[K[24;16H[readonly] 14932L, 562906C[24;27Hline 1 of 14932 --0%-- col 1
"man" [New File][24;17H[K[24;2Haa%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=[24;1H
[?25lExecuting Test_normal24_rot13()
Executing Test_normal25_tag()
"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
"change.txt" [24;14H[K[24;14H[readonly] 1830L, 74768C
"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
"change.txt" [24;14H[K[24;14H[readonly] 1830L, 74768C
"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
"insert.txt" [24;14H[K[24;14H[readonly] 2003L, 82815C[24;25Hline 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 lines[24;15H[K[24;1H4 fewer lines[24;14H[K[24;1H3
Executing Test_normal30_changecase()
Executing Test_normal31_r_cmd()[24;1H[K[24;1H
Executing Test_normal32_g_cmd1()
/x_foo[24;7H[K[24;1H?abc[24;5H[K[24;1H
Executing Test_normal33_g_cmd2()[24;1H[K[24;1H/[1-8]
[31msearch hit BOTTOM, continuing at TOP[m
9 substitutions on 9 lines[24;27H[K[24;1Hblock of 3 lines yanked[24;24H[K[24;10H5[24;1H[K[24;1H
Executing Test_normal34_g_cmd3()
Executing Test_normal35_g_cmd4()
Executing Test_normal36_g_cmd5()
Executing Test_normal37_g_cmd6()
"1.txt" [New File][24;19H[K[24;2H23
Executing Test_normal38_nvhome()
Executing Test_normal39_cw()[24;1H[K[24;1H
Executing Test_normal40_ctrl_bsl()[24;1H[K[24;1H
Executing Test_normal41_insert_reg()[24;1H[K[24;1H=a
[24;1H[K[24;1H=a
[24;1H[K[24;1H=a
[24;1H[K[24;1H
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()[32Cq: [24;1H[K[24;1H:[27m[23m[m[H[2J[1;1Hxxx
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7m[No Name] [m[16;1H[1m[34m:[mset im
[1m[34m:[mset noim
[1m[34m:[m.!sed -e 's/^/| /'
[1m[34m:[m.!
[1m[34m:[m!echo one
[1m[34m:[m.!!
[1m[34m:[m
[1m[7m[Command Line] [22;2H[?12l[?25h[?25l[?12l[?25h[?25l[m[24;70H:^M[22;2H[24;70H [22;2H
Executing Test_normal51_FileChangedRO()
"Xreadonly.log" [24;17H[K[24;17H1L, 4C
[31mError detected while processing ...13]..Test_normal51_FileChangedRO:[m
[33mline 8:[m[24;11H[K[24;11H[31mW10: Warning: Changing a readonly file[m[24;1H[K[24;1H
Executing Test_normal52_rl()3_digraph()
Executing Test_normal54_Ctrl_bsl()
"test_normal.res" [New File][24;29H[K[24;19H[K[24;19H[New] 0L, 0C written
Executed 61 tests
"messages" [24;13H[K[24;12H280L, 6950C[24;12H[K[24;12H348L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_packadd.vim" 238 lines, 8288 characters
Executing Test_colorscheme()
Executing Test_colorscheme_completion()[24;1H[K[24;1H:colorscheme ...one')
:ccolorscheme one')
:cacolorscheme one')
:calcolorscheme one')
:callcolorscheme one')
:call colorscheme one')[24;7Hacolorscheme one')[24;8Hdcolorscheme one')[24;9Hdcolorscheme one')[24;10H(colorscheme one')[24;11Hlcolorscheme one')[24;12Hicolorscheme one')[24;13H,colorscheme one')[24;14H colorscheme one')[24;15H'colorscheme one')[24;16H
[24;1H[K[24;1H:colorscheme ...one...three[24;19H[K[24;19H')
:ccolorscheme three')
:cacolorscheme three')
:calcolorscheme three')
:callcolorscheme three')
:call colorscheme three')[24;7Hacolorscheme three')[24;8Hdcolorscheme three')[24;9Hdcolorscheme three')[24;10H(colorscheme three')[24;11Hlcolorscheme three')[24;12Hicolorscheme three')[24;13H,colorscheme three')[24;14H colorscheme three')[24;15H'colorscheme three')[24;16H
[24;1H[K[24;1H:colorscheme ...one...three[24;19H[K[24;19H...[24;15Hwo[24;17H[K[24;17H')
:ccolorscheme two')
:cacolorscheme two')
:calcolorscheme two')
:callcolorscheme two')
:call colorscheme two')[24;7Hacolorscheme two')[24;8Hdcolorscheme two')[24;9Hdcolorscheme two')[24;10H(colorscheme two')[24;11Hlcolorscheme two')[24;12Hicolorscheme two')[24;13H,colorscheme two')[24;14H colorscheme two')[24;15H'colorscheme two')[24;16H
[24;1H[K[24;1H:colorscheme ...one...three[24;19H[K[24;19H...[24;15Hwo[24;17H[K[24;17H...[24;14H[K[24;14H')
:ccolorscheme ')
:cacolorscheme ')
:calcolorscheme ')
:callcolorscheme ')
:call colorscheme ')[24;7Hacolorscheme ')[24;8Hdcolorscheme ')[24;9Hdcolorscheme ')[24;10H(colorscheme ')[24;11Hlcolorscheme ')[24;12Hicolorscheme ')[24;13H,colorscheme ')[24;14H colorscheme ')[24;15H'colorscheme ')[24;16H
Executing Test_helptags()
Executing Test_packadd()
"./Xdir/pack/mine/opt/mytest/plugin/test.vim" [New File][24;47H[K[24;47H[New] 1L, 24C written[24;37Halso/loaded.vim" [New File][24;64H[K[24;54H[K[24;54H[New] 1L, 29C written[24;30Hftdetect/test.vim" [New File[24;60H[K[24;49H[K[24;49H[New] 1L, 26C written
Executing Test_packadd_completion()[24;1H[K[24;1H:packadd ...pluginA')
:cpackadd pluginA')
:capackadd pluginA')
:calpackadd pluginA')
:callpackadd pluginA')
:call packadd pluginA')[24;7Hapackadd pluginA')[24;8Hdpackadd pluginA')[24;9Hdpackadd pluginA')[24;10H(packadd pluginA')[24;11Hlpackadd pluginA')[24;12Hipackadd pluginA')[24;13H,packadd pluginA')[24;14H packadd pluginA')[24;15H'packadd pluginA')[24;16H
[24;1H[K[24;1H:packadd ...pluginA...B[24;17H[K[24;17H')
:cpackadd pluginB')
:capackadd pluginB')
:calpackadd pluginB')
:callpackadd pluginB')
:call packadd pluginB')[24;7Hapackadd pluginB')[24;8Hdpackadd pluginB')[24;9Hdpackadd pluginB')[24;10H(packadd pluginB')[24;11Hlpackadd pluginB')[24;12Hipackadd pluginB')[24;13H,packadd pluginB')[24;14H packadd pluginB')[24;15H'packadd pluginB')[24;16H
[24;1H[K[24;1H:packadd ...pluginA...B[24;17H[K[24;17H...C[24;17H[K[24;17H')
:cpackadd pluginC')
:capackadd pluginC')
:calpackadd pluginC')
:callpackadd pluginC')
:call packadd pluginC')[24;7Hapackadd pluginC')[24;8Hdpackadd pluginC')[24;9Hdpackadd pluginC')[24;10H(packadd pluginC')[24;11Hlpackadd pluginC')[24;12Hipackadd pluginC')[24;13H,packadd pluginC')[24;14H packadd pluginC')[24;15H'packadd pluginC')[24;16H
[24;1H[K[24;1H:packadd ...pluginA...B[24;17H[K[24;17H...C[24;17H[K[24;17H...[24;10H[K[24;10H')
:cpackadd ')
:capackadd ')
:calpackadd ')
:callpackadd ')
:call packadd ')[24;7Hapackadd ')[24;8Hdpackadd ')[24;9Hdpackadd ')[24;10H(packadd ')[24;11Hlpackadd ')[24;12Hipackadd ')[24;13H,packadd ')[24;14H packadd ')[24;15H'packadd ')[24;16H
Executing Test_packadd_noload()
"./Xdir/pack/mine/opt/mytest/plugin/test.vim" [New File][24;47H[K[24;47H[New] 1L, 24C written
Executing Test_packloadall()
Executing Test_runtime()
"test_packadd.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 8 tests
"messages"[24;12H[K[24;12H348L, 9314C[24;12H[K[24;12H359L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_perl.vim" 123 lines, 3037 characters
Executing Test_SvREFCNT()
"t" [New File][24;15H[K[24;1H
Executing Test_VIM_package()
Executing Test_change_buffer()[24;1H[K[24;1H/^1
Executing Test_evaluate_list()[24;1H[K[24;1H/^2
[31msearch hit BOTTOM, continuing at TOP[m
Executing Test_perldo()
"__TEST__" [New File][24;22H[K[24;2Htest_perl.vim"[24;17H[K[24;17H123L, 3037C
Executing Test_perleval()
Executing Test_stdio()
&VIM::Msg
STDOUT
[1m[37m[41mSTDERR[m
"test_perl.res" [New File][24;17H[K[24;17H[New] 0L, 0C written
Executed 7 tests
"messages"[24;12H[K[24;12H359L, 9597C[24;12H[K[24;12H369L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_profile.vim" 146 lines, 6247 characters
Executing Test_profile_completion()[24;1H[K[24;1H:profile ...continue file func pause start
:"profile continue file func pause start
:"
[24;1H[K[24;1H: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][24;20H[K[24;20H[New] 0L, 0C written
Executed 4 tests
"messages"[24;12H[K[24;12H369L, 9825C[24;12H[K[24;12H376L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_quickfix.vim" 1693 lines, 46351 characters
Executing Test_Autocmd()
"F1" [New File][24;16H[K[24;1H
(1 of 1): Line 10
"F2" [New File][24;16H[K[24;1H
(1 of 2): Line 10
Executing Test_Autocmd_Exception()
Executing Test_adjust_lnum()
Already only one window
"Xqftestfilec" [24;16H[K[24;16H20L, 131C
9 fewer lines
Already only one window
"Xqftestfilel" [24;16H[K[24;16H20L, 131C
9 fewer lines
Executing Test_browse()
"Xqftestfile1" [24;16H[K[24;16H20L, 131C
(1 of 4): Line5
"Xqftestfile2" 20L, 131C
(3 of 4): Line10
"Xqftestfile1" [24;16H[K[24;16H20L, 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" [24;16H[K[24;16H20L, 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" [24;15H[K[24;15H[readonly] 1486L, 61530C
(1 of 483): |QuickFixCmdPre|[34m^I[mbefore a quickfix command is run
(2 of 1486):
Executing Test_caddbuffer_wrong()
"Xqftestfile2" [New File][24;26H[K[24;1H
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][24;24H[K[24;1H
(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()
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 1[m[33m:[m non-error 1
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 5[m[33m:[m non-error 3
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 1[m[33m:[m non-error 1
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 5[m[33m:[m non-error 3
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[34m 6 Xtestfile3[m[33m:3 col 1:[m Line3
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[30m[43m 2 Xtestfile1[m[33m:1 col 3:[m Line1
[34m 3[m[33m:[m non-error 2
[34m 4 Xtestfile2[m[33m:2 col 2:[m Line2
Executing Test_cwindow()[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[13;1H[30m[43mXtestfile1|1 col 3| Line1 [m[14;1HXtestfile2|2 col 2| Line2
Xtestfile3|3 col 1| Line3
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[Quickfix List] [27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[13;1H[30m[43mXtestfile1|1 col 3| Line1 [m[14;1HXtestfile2|2 col 2| Line2
Xtestfile3|3 col 1| Line3
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[Location List] [m[24;1HExecuting Test_dirstack_cleanup()
(1 of 1): 0
Executing Test_duplicate_buf()
"DoesNotExist" [New File][24;26H[K[24;14H2" [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" [24;13H[K[24;13H21L, 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=[?25l[23;1HAlready only one window[24;1H[K[?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=[?25l[23;1HExecuting Test_helpgrep()
"autocmd.txt" [readonly] 1486L, 61530C
(1 of 483): |QuickFixCmdPre|[34m^I[mbefore a quickfix command is run
"autocmd.txt" [readonly] line 1 of 1486 --0%-- col 1[24;53H[K[24;1H
(1 of 483): |QuickFixCmdPre|[34m^I[mbefore 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[7C: 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
[31mW19: Deleting augroup that is still in use[m
Executing Test_locationlist_cross_tab_jump()
"loclistfoo" [24;14H[K[24;14H1L, 11C[24;9Hbar[24;14H[K[24;14H1L, 11C[?1l>[?12l[?25h[?1049lloclistfoo:1:loclistfoo
[?1049h[?1h=[24;1H
[?25lAlready only one window
Executing Test_locationlist_curwin_was_closed()
[31mW19: Deleting augroup that is still in use[m
Executing Test_long_lines()[24;28H[K[24;1H"samples/quickfix.txt" [24;24H[K[24;24H4L, 22089C
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"samples/quickfix.txt" [24;24H[K[24;24H4L, 22089C
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"samples/quickfix.txt" [24;24H[K[24;24H4L, 22089C
(1 of 4): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[23;80Ha[24;1Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Executing Test_nomem()
"/<<PKGBUILDDIR>>/src/vim-gtk3/alloc.h" 21L, 485C
[1m[37m[41mError detected while processing function RunTheTest[13]..Test_nomem:[m
[33mline 2:[m
[1m[37m[41mE342: Out of memory! (allocating 4096 bytes)[m
"/<<PKGBUILDDIR>>/src/vim-gtk3/alloc.h" 21L, 485C
[33mline 5:[m
[1m[37m[41mE342: Out of memory! (allocating 4096 bytes)[m
"/<<PKGBUILDDIR>>/src/vim-gtk3/alloc.h" 21L, 485C
[33mline 8:[m
[1m[37m[41mE342: Out of memory! (allocating 1025 bytes)[m
"/<<PKGBUILDDIR>>/src/vim-gtk3/alloc.h" 21L, 485C
[33mline 11:[m
[1m[37m[41mE342: Out of memory! (allocating 1025 bytes)[m
"/<<PKGBUILDDIR>>/src/vim-gtk3/alloc.h" 21L, 485C
[33mline 14:[m
[1m[37m[41mE342: Out of memory! (allocating 1025 bytes)[m
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()
[31mW19: Deleting augroup that is still in use[m
error list 9 of 10; 1 errors :setloclist()
error list 9 of 10; 1 errors :setloclist()
[31mW19: Deleting augroup that is still in use[m
Executing Test_setqflist()[24;27H[K[24;1H"Xtestfile" [New File][24;23H[K[24;1H
(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" [24;16H[K[24;16H20L, 131C[24;13H2[24;16H[K[24;16H20L, 131C[24;13H1" 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" [24;16H[K[24;16H20L, 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" [24;16H[K[24;16H20L, 131C
(5 of 6): Line15
(6 of 6): Line16
"Xqftestfile1" [24;16H[K[24;16H20L, 131C[24;13H2[24;16H[K[24;16H20L, 131C
(1 of 6): Line5
(2 of 6): Line6
(3 of 6): Line10
(4 of 6): Line11
"Xqftestfile3" [24;16H[K[24;16H20L, 131C
(5 of 6): Line15
(6 of 6): Line16
"Xqftestfile1" [24;16H[K[24;16H20L, 131C
(1 of 6): Line5
(2 of 6): Line6
"Xqftestfile2" 20L, 131C
(3 of 6): Line10
(4 of 6): Line11
"Xqftestfile3" [24;16H[K[24;16H20L, 131C
(5 of 6): Line15
(6 of 6): Line16
"Xqftestfile1" [24;16H[K[24;16H20L, 131C
(1 of 6): Line5
(2 of 6): Line6
"Xqftestfile2" 20L, 131C
(3 of 6): Line10
(4 of 6): Line11
"Xqftestfile3" [24;16H[K[24;16H20L, 131C
(5 of 6): Line15
(6 of 6): Line16
Already only one window
"Xqftestfile1" [24;16H[K[24;16H20L, 131C[24;13H2[24;16H[K[24;16H20L, 131C[24;13H3[24;16H[K[24;16H20L, 131C
Executing Test_two_windows()
"one" [New File][24;17H[K[24;2Htwo
Executing Test_vimgreptitle()
file
"file" [New File]
Cannot open file "file"
"test_quickfix.res" [New File][24;21H[K[24;21H[New] 0L, 0C written
Executed 42 tests
"messages" [24;13H[K[24;12H376L, 9994C[24;12H[K[24;12H421L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_ruby.vim" 34 lines, 820 characters
Executing Test_ruby_change_buffer()[24;1H[K[24;1H/^1
Executing Test_ruby_evaluate_dict()
{"a"=>"foo", "b"=>123}
Executing Test_ruby_evaluate_list()[24;1H[K[24;1H/^2
[31msearch hit BOTTOM, continuing at TOP[m
"test_ruby.res" [New File][24;27H[K[24;17H[K[24;17H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H421L, 11297C[24;12H[K[24;12H427L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_search.vim" 296 lines, 8731 characters
Executing Test_search_cmdline()[24;1H[K[24;1H/foobar
[24;1H[K[24;1H/the
[31msearch hit BOTTOM, continuing at TOP[m[24;1H[K[24;1H/thes[24;5H[K[24;5H
/foobar
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[24;1H[K[24;1H?the
[31msearch hit TOP, continuing at BOTTOM[m[24;1H[K[24;1H/thes
[24;1H[K[24;1H/thes
[24;1H[K[24;1H/thes
[24;1H[K[24;1H/thes
[24;1H[K[24;1H/thei
[24;1H[K[24;1H/thei[24;5H[K[24;5Hs
[24;1H[K[24;1H/thei[24;5H[K[24;5Hs[24;5H[K[24;5Hs
[24;1H[K[24;1H/them[24;5H[K[24;5H[24;4H[K[24;4H[24;3H[K[24;3H[24;2H[K[24;2Hthe\>
Executing Test_search_cmdline2()[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/the
[24;1H[K[24;1H/foo[24;4H[K[24;4H
[27m[23m[m[H[2J[1;3H6 their
7 the
8 them
9 these
10 foobar
[1m[7m[No Name] [+] [m[7;1H" 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[18;1H their', ' 7 the', ' 8 them', ' 9 these', ' 10 foobar'])
" Test 1
" CTRL-N / CTRL-P skips through the previous search history
set noincsearch
:1
[7mtest_search.vim [m[24;1HExecuting Test_searchpair()
Executing Test_use_sub_pat()
"test_search.res" [New File][24;19H[K[24;19H[New] 0L, 0C written
Executed 4 tests
"messages"[24;12H[K[24;12H427L, 11443C[24;12H[K[24;12H434L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_signs.vim" 199 lines, 6383 characters
Executing Test_sign()
"foo" [New File][24;17H[K[27m[23m[m[H[2J[1;78Ha[34m[47m [m[2;78Hb[34m[47m [m[3;78Hc x[4;78Hd[34m[47m [5;79H [m[5;1H[1m[34m ~[m
[1m[7m[No Name] [+] [m[7;1H" Test for signs
if !has('signs')
finish
endif
[7mtest_signs.vim [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [m[18;1H[7mfoo [m[19;1H[34m[47m [ma
[34m[47m [mb
x c
[34m[47m [md
[7m[No Name] [+] [m[1;1H[34m[47m [ma[1;78H[K[2;1H[34m[47m [mb[2;78H[K[3;1Hx c[3;78H[K[4;1H[34m[47m [md[4;78H[K[5;1H[34m[47m [m[1m[34m~[74C [m[24;1H"foo" [New file] --No lines in buffer--
"bar[7CF[24;18H[K[24;1H
Executing Test_sign_completion()[24;1H[K[24;1H:sign ...define jump list place undefine unplace
:"sign define jump list place undefine unplace
:"
[24;1H[K[24;1H:sign define Sign ...icon= linehl= text= texthl=
:"sign define Sign icon= linehl= text= texthl=
:"
[24;1H[K[24;1H:sign define Sign linehl=Spell...Bad SpellCap SpellLocal SpellRare
:"sign define Sign linehl=SpellBad SpellCap SpellLocal SpellRare
:"
[24;1H[K[24;1H:sign define Sign icon=Xsig...nOne XsignTwo
:"sign define Sign icon=XsignOne XsignTwo
:"
[24;1H[K[24;1H:sign undefine ...Sign1 Sign2
:"sign undefine Sign1 Sign2
:"
[24;1H[K[24;1H:sign place 1 ...buffer= file= line= name=
:"sign place 1 buffer= file= line= name=
:"
[24;1H[K[24;1H:sign place 1 name=...Sign1 Sign2
:"sign place 1 name=Sign1 Sign2
:"
[24;1H[K[24;1H:sign unplace 1 ...buffer= file=
:"sign unplace 1 buffer= file=
:"
[24;1H[K[24;1H:sign list ...Sign1 Sign2
:"sign list Sign1 Sign2
:"
[24;1H[K[24;1H: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][24;20H[K[24;2Htest_signs.res" [New File][24;18H[K[24;18H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H434L, 11605C[24;12H[K[24;12H442L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_smartindent.vim" 14 lines, 376 characters
Executing Test_nosmartindent()[24;1H[K[24;1H/some
[31msearch hit BOTTOM, continuing at TOP[m[24;1H[K[24;1H"test_smartindent.res" [New File][24;24H[K[24;24H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H442L, 11818C[24;12H[K[24;12H446L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_startup.vim" 185 lines, 4581 characters
Executing Test_after_comes_later()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;3H1: /<<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
[23;80Ho[24;1Hobar/plugin/foo.vim
4: /<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xafter/plugin/later.vi
[23;80Hm[24;1H
5: /<<PKGBUILDDIR>>/src/vim-gtk3/testdir/Xafter.vim
[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_compatible_args()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1HError detected while processing /<<PKGBUILDDIR>>/src/vim-gtk3/tes
[23;80Ht[24;1Hdir/Xafter.vim:
line 2:
E528: Must specify a ' value: viminfo+=nviminfo
[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;33H[?1l>[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[24;1H[?1l>[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_file_args()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[24;1H[?1l>[?1049l[?1049h[?1h=[24;27H[?1l>[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"one" [New File]
[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;27H[?1l>[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"one" [New File]
[?1l>[?12l[?25h[?1049l3 files to edit
[?1049h[?1h=[24;27H[?1l>[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"one" [New File]
[?1l>[?12l[?25h[?1049l2 files to edit
[?1049h[?1h=[24;27H[?1l>[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"one" [New File]
[?1l>[?12l[?25h[?1049l4 files to edit
[?1049h[?1h=[24;1H
[?25lExecuting Test_help_arg()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_read_stdin()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[27m[23m[m[H[2J[?25l[24;1H"-stdin-" 1 line, 10 characters[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[24;1H"Xtestout" [New File] 1 line, 10 characters written
[?1l>[?12l[?25h[?1049l
Vim: Reading from stdin...
[?1049h[?1h=[24;1H
[?25lExecuting Test_startup_script()[?1000h
Executing Test_startuptime()[?1l>[?12l[?25h[?1049l[?1000l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"one" [New File]
[?1l>[?12l[?25h[?1049l[?1000h[?1049h[?1h=[?25l[24;1H"test_startup.res" [New File][24;20H[K[24;20H[New] 0L, 0C written
Executed 7 tests
"messages"[24;12H[K[24;12H446L, 11893C[24;12H[K[24;12H456L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_startup_utf8.vim" 64 lines, 1366 characters
Executing Test_read_fifo_utf8()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"/dev/fd/63" [readonly] 2 lines, 24 characters
"Xtestout" [New File] 2 lines, 24 characters written
[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_read_stdin_utf8()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[27m[23m[m[H[2J[?25l[24;1H"-stdin-" 2 lines, 24 characters[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[24;1H"Xtestout" [New File] 2 lines, 24 characters written
[?1l>[?12l[?25h[?1049l
Vim: Reading from stdin...
[?1049h[?1h=[?25l[24;1H"test_startup_utf8.res" [New File][24;25H[K[24;25H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H456L, 12144C[24;12H[K[24;12H461L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_stat.vim" 64 lines, 1598 characters
Executing Test_checktime()
"Xtest.tmp" [24;13H[K[24;13H1L, 13C[?12l[?25h[?25l[24;13H[K[24;13H1L, 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][24;27H[K[24;17H[K[24;17H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H461L, 12255C[24;12H[K[24;12H469L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_substitute.vim" 41 lines, 1151 characters
Executing Test_multiline_subst()
[31msearch hit BOTTOM, continuing at TOP[m
3 substitutions on 3 lines[24;27H[K[24;1H
3 substitutions on 2 lines
"test_substitute.res" [New File][24;23H[K[24;23H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H469L, 12456C[24;12H[K[24;12H473L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_syntax.vim" 164 lines, 4101 characters
Executing Test_syn_iskeyword()[27m[23m[m[H[2J[1;1H[1m[37m[41mCREATE[m [35mTABLE[m FOOBAR(
DLTD_BY [32mVARCHAR2[m([31m100[m)
);
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [+] [m[13;1H[34m" Test for syntax and syntax iskeyword option[m
[33mif[m ![36mhas[m[35m([m[31m"syntax"[m[35m)[m
[33mfinish
endif
func[m GetSyntaxItem[35m([mpat[35m)[m
[33mlet[m [36mc[m [33m=[m [31m''[m
[33mlet[m [36ma[m [33m=[m [[31m'a'[m, [36mgetreg[m[35m([m[31m'a'[m[35m)[m, [36mgetregtype[m[35m([m[31m'a'[m[35m)[m]
[31m0[m
[7mtest_syntax.vim [m[24;1H
syntax iskeyword not set
syntax iskeyword @,48-57,_,192-255[27m[23m[m[H[2J[1;1H[1m[37m[41mCREATE[m [35mTABLE[m FOOBAR(
DLTD_BY [32mVARCHAR2[m([31m100[m)
);
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [+] [m[13;1H[34m" Test for syntax and syntax iskeyword option[m
[33mif[m ![36mhas[m[35m([m[31m"syntax"[m[35m)[m
[33mfinish
endif
func[m GetSyntaxItem[35m([mpat[35m)[m
[33mlet[m [36mc[m [33m=[m [31m''[m
[33mlet[m [36ma[m [33m=[m [[31m'a'[m, [36mgetreg[m[35m([m[31m'a'[m[35m)[m, [36mgetregtype[m[35m([m[31m'a'[m[35m)[m]
[31m0[m
[7mtest_syntax.vim [m[24;1H
syntax iskeyword not set
Executing Test_syntax_after_reload()
"Xsomefile" [New File][24;23H[K[24;13H[K[24;13H[New] 2L, 12C written
"other" [New File][24;19H[K[24;2HXsomefile" [24;14H[K[24;13H2L, 12C
Executing Test_syntax_completion()[24;1H[K[24;1H:syn ...case clear cluster conceal enable include iskeyword keyword list manual ma
[23;80Ht[24;1Hch off on region reset spell sync[23;2H"syn case clear cluster conceal enable include iskeyword keyword list manual ma[24;1Htch off on region reset spell sync[23;3H
[24;1H[K[24;1H:syn case ...ignore match
:"syn case ignore match
:"
[24;1H[K[24;1H:syn spell ...default notoplevel toplevel
:"syn spell default notoplevel toplevel
:"
[24;1H[K[24;1H:syn sync ...ccomment clear fromstart linebreaks= linecont lines= match maxlines=
[23;80Hm[24;1Hinlines= region[23;2H"syn sync ccomment clear fromstart linebreaks= linecont lines= match maxlines= [24;1Hminlines= region[23;3H
[24;1H[K[24;1H:syn list ...Boolean Character ColorColumn Comment Conceal Conditional Constant Cu
[23;80Hr[24;1Hsor CursorColumn CursorLine CursorLineNr Debug Define Delimiter DiffAdd DiffCha
[23;80Hn[24;1Hge DiffDelete DiffText Directory EndOfBuffer Error ErrorMsg Exception Float Fol
[23;80Hd[24;1HColumn Folded Function Identifier Ignore IncSearch Include Keyword Label LineNr
Macro MatchParen ModeMsg MoreMsg NONE NonText Normal Number Operator Pmenu Pmen
[23;80Hu[24;1HSbar PmenuSel PmenuThumb PreCondit PreProc Question Quote Repeat SYN Search Sig
[23;80Hn[24;1HColumn Special SpecialChar SpecialComment SpecialKey SpellBad SpellCap SpellLoc
[23;80Ha[24;1Hl SpellRare Statement StatusLine StatusLineNC StorageClass String Structure Tab
[23;80HL[24;1Hine TabLineFill TabLineSel Tag Title Todo Type Typedef Underlined VertSplit Vis
[23;80Hu[24;1Hal VisualNOS WarningMsg WildMenu lCursor luaBlock luaBraceError luaComment luaC
[23;80Ho[24;1Hnd luaConstant luaElse luaElseifThen luaError luaFor luaFunc luaFunction luaFun
[23;80Hc[24;1HtionBlock luaIfThen luaIn luaInnerComment luaLabel luaLoopBlock luaNumber luaOp
[23;80He[24;1Hrator luaParen luaParenError luaRepeat luaSpecial luaStatement luaString luaStr
[23;80Hi[24;1Hng2 luaTable luaTableBlock luaThenEnd luaTodo perlAnglesDQ perlAnglesSQ perlArr
[23;80Ho[24;1Hw perlAutoload perlBraces perlBracesDQ perlBracesSQ perlBracketsDQ perlBrackets
[23;80HS[24;1HQ perlCharacter perlComment perlConditional perlControl perlDATA perlElseIfErro[9;2H"syn list Boolean Character ColorColumn Comment Conceal Conditional Constant Cu[10;1Hrsor CursorColumn CursorLine CursorLineNr Debug Define Delimiter DiffAdd DiffCha[11;1Hnge DiffDelete DiffText Directory EndOfBuffer Error ErrorMsg Exception Float Fol[12;1HdColumn Folded Function Identifier Ignore IncSearch Include Keyword Label LineNr[13;1H Macro MatchParen ModeMsg MoreMsg NONE NonText Normal Number Operator Pmenu Pmen[14;1HuSbar PmenuSel PmenuThumb PreCondit PreProc Question Quote Repeat SYN Search Sig[15;1HnColumn Special SpecialChar SpecialComment SpecialKey SpellBad SpellCap SpellLoc[16;1Hal SpellRare Statement StatusLine StatusLineNC StorageClass String Structure Tab[17;1HLine TabLineFill TabLineSel Tag Title Todo Type Typedef Underlined VertSplit Vis[18;1Hual VisualNOS WarningMsg WildMenu lCursor luaBlock luaBraceError luaComment luaC[19;1Hond luaConstant luaElse luaElseifThen luaError luaFor luaFunc luaFunction luaFun[20;1HctionBlock luaIfThen luaIn luaInnerComment luaLabel luaLoopBlock luaNumber luaOp[21;1Herator luaParen luaParenError luaRepeat luaSpecial luaStatement luaString luaStr[22;1Hing2 luaTable luaTableBlock luaThenEnd luaTodo perlAnglesDQ perlAnglesSQ perlArr[23;1How perlAutoload perlBraces perlBracesDQ perlBracesSQ perlBracketsDQ perlBrackets[24;1HSQ perlCharacter perlComment perlConditional perlControl perlDATA perlElseIfErr[9;3H
[24;1H[K[24;1H: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" [24;21H[K[24;21H[readonly] 143L, 3142C
[35m--- Syntax items ---[m
[35m--- Syntax items ---[m
"Xsomefile" [New File]
Executing Test_syntime()
"../memfile_test.c" [24;21H[K[24;21H[readonly] 143L, 3142C[27m[23m[m[H[2J[1;1H[34m/* 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.
*/[m
[35m#undef NDEBUG
#include [m[31m<assert.h>[m
[34m/* Must include main.c because it contains much more than just main() */[m
[35m#define NO_VIM_MAIN
#include [m[31m"main.c"[m
[34m/* This file has to be included because the tested functions are static */[m
[35m#include [m[31m"memfile.c"[m
"Xsomefile" [New File]
"test_syntax.res" [New File][24;19H[K[24;19H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H473L, 12532C[24;12H[K[24;12H481L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_system.vim" 92 lines, 2910 characters
Executing Test_System()
"Xdummy" [New File][24;20H[K[24;1H
Executing Test_system_exmode()
"test_system.res" [New File][24;29H[K[24;19H[K[24;19H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H481L, 12729C[24;12H[K[24;12H486L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;34H[K[24;24H[K[24;24H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H486L, 12824C[24;12H[K[24;12H492L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_undo.vim" 265 lines, 6936 characters
Executing Test_U_command()[24;1H[K[24;1HExecuting Test_global_local_undolevels()
"one" [New File][24;17H[K[24;1H
6 fewer lines; before #8 0 seconds ago
"two" [New File][24;17H[K[24;1H
3 fewer lines; before #11 0 seconds ago
"three" [New File][24;19H[K[24;1H
Executing Test_insert_expr()[24;1H[K[24;1H=setline('.','1234')
[24;1H[K[24;1H1 line less; before #4 0 seconds ago[24;22H3[24;1H[K[24;1H=setline('.','1234')
[24;1H[K[24;1H1 line less; before #7 0 seconds ago[24;1H[K[24;1H=string(123)
[24;1H[K[24;1H1 line less; before #9 0 seconds ago
Executing Test_undo_del_chars()
1 change; before #3 0 seconds ago[24;19H21
1 change; before #6 1 seconds ago[24;19H5
4[7Cs; after #3
1[7C; before #21
3 changes; after #6 1 seconds ago[24;1H[K[24;1H3 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][24;19H[K[24;1H[K[24;1H"Xtest" [New] 1L, 12C written[24;1H[K[24;1H"Xtest" 3L, 20C written[24;1H[K[24;1H1 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][24;19H[K[24;1H[K[24;1H"Xfile" [New] 3L, 14C written[24;9H[K[24;9H3L, 14C
Finished reading undo file Xundofile
3 fewer lines; before #1 2019/06/23 12:16:10
Executing Test_undojoin()[24;1H[K[24;1H1 line less; before #2 0 seconds ago[24;1H[K[24;1H2 fewer lines; before #3 0 seconds ago
Executing Test_undolist()[24;1H[K[24;1H1 change; before #2 0 seconds ago[24;1H[K[24;1HExecuting Test_undotree()[24;1H[K[24;1H
1 change; before #2 0 seconds ago
"Xtest" [24;9H[K[24;9H[New] 1L, 4C written
"test_undo.res" [New File][24;27H[K[24;17H[K[24;17H[New] 0L, 0C written
Executed 9 tests
"messages"[24;12H[K[24;12H492L, 13023C[24;12H[K[24;12H504L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_usercommands.vim" 104 lines, 2527 characters
Executing Test_Ambiguous()
Executing Test_CmdUndefined()
Executing Test_cmdmods()
"test_usercommands.res" [New File][24;25H[K[24;25H[New] 0L, 0C written
Executed 3 tests
"messages"[24;12H[K[24;12H504L, 13330C[24;12H[K[24;12H510L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;28H[K[24;3Hviminfo" [24;12H[K[24;12H83L, 3614C
Executing Test_viminfo_file_mark_zero_time()
Executing Test_viminfo_file_marks()
"ten" [New File][24;17H[K[24;2Hagain" [New File]
"thirty" [New File]
"twen
"again" [New File][24;19H[K[24;2Hfourty" [New File]
"Xviminfo" [24;12H[K[24;12H90L, 3412C
Executing Test_viminfo_jumplist()
"testbuf" [New File][24;21H[K[24;1H[K[24;1H/20
[24;1H[K[24;1H/30
[24;1H[K[24;1H/last pos
[24;1H[K[24;1H/15
[24;1H[K[24;1H/last pos
[24;1H[K[24;1H?30
[24;1H[K[24;1H/15
[24;1H[K[24;1H/last pos
[24;1H[K[24;1H?30
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
[24;1H[K[24;1H/here
Executing Test_viminfo_marks()
"bufa" [New File][24;18H[K[24;5Hb
Executing Test_viminfo_oldfiles()
Executing Test_viminfo_read_and_write()
Executing Test_viminfo_registers()
"test_viminfo.res" [New File][24;30H[K[24;20H[K[24;20H[New] 0L, 0C written
Executed 13 tests
"messages" [24;13H[K[24;12H510L, 13458C[24;12H[K[24;12H526L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_viml.vim" 1315 lines, 31693 characters
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-gtk3/tes[m
[23;80H[1m[37m[41mt[24;1Hdir/test_viml.vim:[m
[33mline 432:[m
[1m[37m[41mE492: Not an editor command: ^Iasdf[m
[33mline 444:[m
[1m[37m[41mE492: Not an editor command: ^Iasdf[m
[33mline 452:[m
[1m[37m[41mE492: Not an editor command: asdf[m
[33mline 455:[m
[1m[37m[41mE492: Not an editor command: asdf | Xpath 'p'[m
[1m[37m[41mError detected while processing function T8_F:[m
[33mline 5:[m
[1m[37m[41mE492: Not an editor command: ^I asdf[m
[33mline 7:[m
[1m[37m[41mE492: Not an editor command: ^I asdf | Xpath 'd'[m
[33mline 19:[m
[1m[37m[41mE492: Not an editor command: ^I asdf[m
[33mline 21:[m
[1m[37m[41mE492: Not an editor command: ^I asdf | Xpath 'l'[m
[33mline 29:[m
[1m[37m[41mE121: Undefined variable: novar[m
[1m[37m[41mE15: Invalid expression: novar^I^I" returns (default return value 0)[m
[1m[37m[41mError detected while processing function T8_G:[m
[33mline 5:[m
[1m[37m[41mE492: Not an editor command: ^I asdf^I^I" returns -1[m
[1m[37m[41mError detected while processing function T8_H:[m
[33mline 5:[m
[1m[37m[41mE492: Not an editor command: ^I asdf^I^I" returns -1[m
[1m[37m[41mError detected while processing function F[2]..G[2]..H[2]..I:[m
[33mline 2:[m
[1m[37m[41mE492: Not an editor command: asdf^I^I" error[m
[1m[37m[41mError detected while processing /<<PKGBUILDDIR>>/src/vim-gtk3/tes[m
[23;80H[1m[37m[41mt[24;1Hdir/test_viml.vim:[m
[33mline 663:[m
[1m[37m[41mE15: Invalid expression: | strlen("\"") | Xpath 'j'[m
[1m[37m[41mE15: Invalid expression: 1 ||| strlen("\"") | Xpath 'j'[m
[33mline 673:[m
[1m[37m[41mE15: Invalid expression: | strlen("\"") | Xpath 'n'[m
[1m[37m[41mE15: Invalid expression: 1 ||| strlen("\"") | Xpath 'n'[m
[33mline 682:[m
[1m[37m[41mE15: Invalid expression: | strlen("\"") | Xpath 'r'[m
[1m[37m[41mE15: Invalid expression: 1 ||| strlen("\"") | Xpath 'r'[m
[33mline 717:[m
[1m[37m[41mE492: Not an editor command: asdf^I^I" error[m
1
[33mline 787:[m
[1m[37m[41mE492: Not an editor command: asdf^I^I" error[m
[33mline 794:[m
[1m[37m[41mE492: Not an editor command: asdf^I^I" error[m
[33mline 817:[m
[1m[37m[41mE121: Undefined variable: asdf[m
[1m[37m[41mE15: Invalid expression: asdf[m
[33mline 828:[m
[1m[37m[41mE121: Undefined variable: asdf[m
[1m[37m[41mE15: Invalid expression: asdf | Xpath 'f' | endwhile | Xpath 'g'[m
[1m[37m[41mError detected while processing function F:[m
[33mline 8:[m
[1m[37m[41mE121: Undefined variable: g:boolvar[m
[1m[37m[41mE15: Invalid expression: g:boolvar^I" possibly undefined[m
[1m[37m[41mE121: Undefined variable: g:boolvar[m
[1m[37m[41mE15: Invalid expression: g:boolvar | Xpath 'd' | else | Xpath 'e' | endif[m
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
[23;80Hr[24;1Hee': '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':
[23;80H'[24;1Hyes', '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
4[10CXpath 'b'
5[10Cif first
6[14CXpath 'c'
7[14Clet first = 0
8[14Cbreak
9[10Celse
10[13CXpath 'd'
11[13Creturn
12[9Cendif
13 endwhile
endfunction[10;1H"/tmp/vNs3qoS/0" [10;18H[K[11;1H[K[12;1H[K[13;1H[K[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[10;18H[noeol] 16L, 299C
13 substitutions on 13 lines
Pattern not found: ^\s*$
"/tmp/vNs3qoS/0" [12;18H[K[12;18H13L, 248C written
"test_viml.vim" [12;18H[K[12;17H1315L, 31693C
function T1_G()
1 Xpath 'h'
2 let first = 1
3 while 1
4[10CXpath 'i'
5[10Cif first
6[14CXpath 'j'
7[14Clet first = 0
8[14Cbreak
9[10Celse
10[13CXpath 'k'
11[13Creturn
12[9Cendif
13[9Cif 1 " unmatched :if
14 endwhile
endfunction[9;1H"/tmp/vNs3qoS/1" [9;18H[K[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[9;18H[noeol] 17L, 334C
14 substitutions on 14 lines
Pattern not found: ^\s*$
"/tmp/vNs3qoS/1" [11;18H[K[11;18H14L, 281C written
"test_viml.vim" [11;18H[K[11;17H1315L, 31693C
Executing Test_error_in_function()
Executing Test_error_in_script()
Executing Test_expr_parsing()
Executing Test_finish()
function T4_F()
1 if 1
2[10CXpath 'a'
3[10Clet loops = 3
4[10Cwhile loops > 0[25C" 3: 2: 1:
5[14CXpath 'b' . loops
6[14Cif (loops == 2)
7[18CXpath 'c' . loops
8[18Creturn
9[18CXpath 'd' . loops
10[13Cendif
11[13CXpath 'e' . loops
12[13Clet loops = loops - 1
13[9Cendwhile
14[9CXpath 'f'
15 else
16[9CXpath 'g'
17 endif
endfunction[6;1H"/tmp/vNs3qoS/2" [6;18H[K[7;1H[K[8;1H[K[9;1H[K[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;4H[K[6;18H[noeol] 20L, 504C
17 substitutions on 17 lines
Pattern not found: ^\s*$
"/tmp/vNs3qoS/2" [8;18H[K[8;18H17L, 445C written
"test_viml.vim" [8;18H[K[8;17H1315L, 31693C
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][18;27H[K[18;17H[K[18;17H[New] 0L, 0C written
Executed 21 tests
"messages" [19;13H[K[19;12H526L, 13970C[19;12H[K[19;12H550L, 14609C written[24;1H
[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_visual.vim" 25 lines, 506 characters
Executing Test_block_shift_multibyte()
Executing Test_dotregister_paste()[24;1H[K[24;1H"test_visual.res" [New File][24;19H[K[24;19H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H550L, 14609C[24;12H[K[24;12H555L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_window_id.vim" 103 lines, 2714 characters
Executing Test_win_getid()
"one" [New File][24;17H[K[24;2Htwohree" [New File]
"four" [New File][24;18H[K[24;3Hive
Executing Test_win_getid_curtab()
"X" [New File][24;15H[K[24;2Htest_window_id.res" [New File][24;22H[K[24;22H[New] 0L, 0C written
Executed 2 tests
"messages"[24;12H[K[24;12H555L, 14723C[24;12H[K[24;12H560L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_writefile.vim" 16 lines, 490 characters
Executing Test_WriteFile()
"test_writefile.res" [New File][24;22H[K[24;22H[New] 0L, 0C written
Executed 1 test
"messages"[24;12H[K[24;12H560L, 14827C[24;12H[K[24;12H564L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"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][24;33H[K[24;23H[K[24;23H[New] 0L, 0C written
Executed 5 tests
"messages"[24;12H[K[24;12H[converted] 564L, 14896C[24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_alot_utf8.vim" 11 lines, 440 characters[?1l>[?12l[?25h[?1049l[m[m[0m[H[2J[m[0m[24;1HExecuting Test_classes_re1()
Executing Test_classes_re2()
Executing Test_equivalence_re1()
Executing Test_equivalence_re2()
Executing Test_match_using_multibyte_conceal_char()[m[m[0m[H[2J[2;1H#[37m[40mˑ[0mThis[37m[40mˑ[0mis[37m[40mˑ[0ma[37m[40mˑ[0mTest
[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [0m[12;1H[1m[7m[No Name] [+] [0m[13;1H" 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
[7mtest_alot_utf8.vim [0m[24;1HExecuting Test_source_latin()
"Xscript"[24;11H[K[24;11H[New] 2L, 44C written
Executing Test_source_utf8()[24;29H[K[24;1H"Xscript"[24;11H[K[24;11H[New] 2L, 42C written[24;1H[K[24;1H:%s/à[24;6Hx/--à[24;11H1234--/g
[24;1H[K[24;1H:%s/Àx/--À1234--/g
Executing Test_strcharpart()
Executing Test_strgetchar()
"test_alot_utf8.res" [New File][24;22H[K[24;22H[New] 0L, 0C written
Executed 9 tests
"messages"[24;12H[K[24;12H572L, 15112C[24;12H[K[24;12H584L, 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_alot.vim" 49 lines, 1258 characters
Executing Test_BufEnter()
"NewFile" [New File][24;21H[K[24;2HXdir" is a directory
Executing Test_OptionSet_modeline()
Executing Test_abbreviation()[24;1H[K[24;1HExecuting Test_abs()
Executing Test_acos()
Executing Test_asin()
Executing Test_atan()
Executing Test_atan2()
Executing Test_augroup_deleted()
[31mW19: Deleting augroup that is still in use[m
Executing Test_augroup_warning()[24;33H[K[24;1H
[31mW19: Deleting augroup that is still in use[m[24;1H[K[24;1Hentering
Executing Test_auto_partial_rebind()
Executing Test_autocmd_bufunload_avoiding_SEGV_01()
"aa.txt" [New File][24;20H[K[24;1H
"bb.txt" [New File]
Executing Test_autocmd_bufunload_avoiding_SEGV_02()[24;1H[K[24;1H
"a.txt" [New File]
"test_alot.vim" [24;17H[K[24;17H49L, 1258C
Executing Test_autocmd_bufunload_with_tabnext()
Executing Test_autocmd_bufwinleave_with_tabfirst()
"a.txt" [New File][24;19H[K[24;1H
Executing Test_bind_in_python()
Executing Test_break_undo()[24;1H[K[24;1HExecuting Test_bufunload()
Executing Test_cancel_ptjump()
Already only one window[24;1H[K[24;1H:ptjump word
[35m # pri kind tag[15Cfile[m
1 F[8C[35mword[m[14C[34mfile1[m
[15Ccmd1
2 F[8C[35mword[m[14C[34mfile2[m
[15Ccmd2
Type number and <Enter> (empty cancels):
"help.txt" [24;13H[K[24;12H[readonly] 225L, 8437C
Executing Test_caught_error_in_statusline()[27m[23m[m[H[2J[1;1Hsource test_modeline.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
[1m[7m [m[24;1HExecuting Test_caught_error_in_tabline()[27m[23m[m[H[2J[1;1H[7m [m[2;1Hsource 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
[1m[7mtest_alot.vim [m[24;1HExecuting 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()[24;1H[K[24;1H=s:test_func()
[2;8H[30m[47m AAAAA_Group [m[40m [m[3;8H[30m[45m BufAdd [m[40m [m[4;8H[30m[45m BufCreate [m[40m [m[5;8H[30m[45m BufDelete [m[40m [m[6;8H[30m[45m BufEnter [m[40m [m[7;8H[30m[45m BufFilePost [m[47m [m[8;8H[30m[45m BufFilePre [m[47m [m[9;8H[30m[45m BufHidden [m[47m [m[10;8H[30m[45m BufLeave [m[47m [m[11;8H[30m[45m BufNew [m[47m [m[12;8H[30m[45m BufNewFile [m[47m [m[13;8H[30m[45m BufRead [m[47m [m[14;8H[30m[45m BufReadCmd [m[47m [m[15;8H[30m[45m BufReadPost [m[47m [m[16;8H[30m[45m [m[1m[7mt[m[30m[45mBufReadPre [m[47m [m[17;8H[30m[45m BufUnload [m[47m [m[18;8H[30m[45m BufWinEnter [m[47m [m[19;8H[30m[45m BufWinLeave [m[47m [m[20;8H[30m[45m BufWipeout [m[47m [m[21;8H[30m[45m BufWrite [m[47m [m[22;8H[30m[45m BufWriteCmd [m[47m [m[23;8H[30m[45m BufWritePost [m[47m [m[24;1H[K[24;1HExecuting Test_complete_no_undo()[24;1H[K[24;1H=UndoComplete()
[2;1H[1;1H[7L[1;1Hxxx
aaa
yyy
[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [+] [m[13;8Htest_tabpage.vim[13;24H[K[14;8Htest_tagcase.vim[14;24H[K[15;8Htest_tagjump.vim[15;24H[K[16;8Htest_timers.vim[16;23H[K[17;8Htest_true_false.vim[17;27H[K[18;8Htest_unlet.vim[18;22H[K[19;1Hsource test_window_cmd.vim[19;27H[K[20;1Hsource test_options.vim[20;24H[K[21;8He here[21;14H[K[22;1HTest3: text with a (parenthesis here
[7mtest_alot.vim [m[3;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October[m[1m[7me[m[30m[45m
November
December [2;1H[m[24;1H[K[24;1H1 change; before #2 0 seconds ago[24;1H[K[24;1H=UndoComplete()
[2;4H
bbb
yyy[3;4H[K[4;1H[1m[34m~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
source test_tab
source test_tag[3;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October[m[1m[7me[m[30m[45m
November
December [2;4H[m[24;1H[1m-- INSERT --[m[24;13H[K[3;1H[30m[47mJanuary [2;4H[m[24;1H[K[24;1H1 change; before #4 0 seconds ago[24;1H[K[24;1H=UndoComplete()
[2;4H
yyy[3;4H[K[4;1H[1m[34m~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
source test_tab
source test_tag[3;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October[m[1m[7me[m[30m[45m
November
December [2;4H[m
January
[1m[34m~
~
~
~
~
~
~
~ [m[4;1H[30m[45mFebruary
March
April
May
June
July
August
September [m[24;1H[1m-- INSERT --[m[24;13H[K[3;1H[30m[47mJanuary [2;8H[m[24;1H[K[24;1H1 change; before #5 0 seconds ago
Executing Test_completefunc_opens_new_window_one()
[31msearch hit BOTTOM, continuing at TOP[1;4H[m[24;1H[K[24;1HExecuting Test_completefunc_opens_new_window_two()
[31msearch hit BOTTOM, continuing at TOP[m[24;1H[K[24;1HExecuting Test_completefunc_with_scratch_buffer()[6;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May [6;1HJanuary [m
[30m[47mFebruary [5;9H[27m[23m[m[H[2J[1;1Hinfo2-1
2-2
2-3
February
[1m[34m~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[13;1Hsource 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[6;1H[30m[45mJanuary [m
[30m[47mFebruary [m
[30m[45mMarch
April
May [m
[7m[Scratch] [23;1Htest_alot.vim [4;1H[Scratch] [Preview] [m[12;1H[1m[7m[Scratch] [5;9H[m
March[5;6H[K[6;1H[1m[34m~
~
~
~
~ [m[6;1H[30m[45mJanuary [m
[30m[47mFebruary [m
[30m[45mMarch
April
May [m[1;5H3
3
3[12;1H[7m[Scratch][m[1m[7m [m[7m [m[12;1H[1m[7m[Scratch] [m[7;1H[30m[45mFebruary [m
[30m[47mMarch [5;6H[m
April
[1m[34m~
~
~
~
~ [m[6;1H[30m[45mJanuary
February [m
[30m[47mMarch [m
[30m[45mApril
May [m[1;5H4
4
4[12;1H[7m[Scratch][m[1m[7m [m[7m [m[12;1H[1m[7m[Scratch] [m[8;1H[30m[45mMarch [m
[30m[47mApril [5;6H[m[24;1HExecuting Test_completefunc_works()
[31msearch hit BOTTOM, continuing at TOP[m[2;1H[30m[47mthreedef [m
[30m[45mthreeDEF [2;1Hthreedef [m
[30m[47mthreeDEF [1;9H[m
[L[1;1HthreeDEF
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~
~
~
~
~ [m[2;1H[30m[45mthreedef [m
[30m[47mthreeDEF [1;9H[m[24;1H[K[24;1HExecuting Test_completion_ctrl_e_without_autowrap()[24;1H[K[24;1HExecuting Test_cos()
Executing Test_cosh()
Executing Test_cursorhold_insert()[?12l[?25h[?25l[24;1H[K[24;1HExecuting Test_cursorhold_insert_ctrl_x()[?12l[?25h[?25l[24;1H[K[24;1HExecuting Test_cursorline_keep_col()
Executing Test_curswant_with_autocommand()[24;1H[K[24;1H
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][24;21H[K[24;1H[K[24;1H
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()[24;1H[K[24;1HExecuting Test_file_delete()
"Xfile" [New File][24;19H[K[24;9H[K[24;9H[New] 2L, 4C written
Executing Test_file_perm()
Executing Test_fileformat_after_bw()
"a.txt" [New File][24;19H[K[24;2Hex-undo" [New File]
Executing Test_filetype_valid()
Executing Test_filter()
"Xdoesnotmatch" [New File]
"Xwillmatch" [New File][24;24H[K[24;2Hex-undo" [New File][24;21H[K[24;1H
Executing Test_filter_cmd_completion()[24;1H[K[24;1H:filter [34m^I[m"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter [34m^I[m[24;11H[K[24;11H[24;1H[K[24;1H:filter pat[34m^I[m"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter pat[34m^I[m[24;15H[K[24;14H[24;1H[K[24;1H:filter /pat[34m^I[m"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter /pat[34m^I[m[24;15H[K[24;15H[24;1H[K[24;1H:filter /pat/[34m^I[m"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter /pat/[34m^I[m[24;16H[K[24;16H[24;1H[K[24;1H:filter pat pri...nt[24;18H[K[24;18H"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter pat print[24;18H[K[24;18H[24;1H[K[24;1H:filter /pat/ pri...nt[24;20H[K[24;20H"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter /pat/ print[24;20H[K[24;20H[24;1H[K[24;1H:filter #pat# pri...nt[24;20H[K[24;20H"[24;1H[K[24;1H=execute('let cmdline = getcmdline()')
:filter #pat# print[24;20H[K[24;20H[24;1H[K[24;1HExecuting 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" [24;17H[K[24;17H49L, 1258C
Executing Test_func_sandbox()
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_glob2regpat_invalid()
Executing Test_glob2regpat_valid()
Executing Test_global_local_lispwords()
Executing Test_help_complete()
Executing Test_help_respect_current_file_lang()
"testdoc.abx" [24;15H[K[24;15H[readonly] 2L, 25C[24;10Hja[24;15H[K[24;15H[readonly] 2L, 25C[24;26Hline 1 of 2 --50%-- col 2-9[24;10Htxt[24;15H[K[24;15H[readonly] 2L, 25C
Executing Test_help_tagjump()[24;30H[K[24;1H"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
"options.txt" [24;15H[K[24;15H[readonly] 8784L, 372352C[24;26Hline 7690 of 8784 --87%-- col 7-49
"eval.txt" [24;12H[K[24;12H[readonly][converted] 10613L, 408230C[24;22H line 2406 of 10613 --22%-- col 1
"options.txt" [readonly] line 1324 of 8784 --15%-- col 4-25
"cmdline[24;15H[K[24;15H[readonly] 1147L, 46822C
Executing Test_if()
Executing Test_info()
Executing Test_invalid_submatch()
Executing Test_isnan()
Executing Test_join_with_count()
Executing Test_keymap_valid()
Executing Test_keyword_jump()
"Xtestfile" [24;13H[K[24;13H9L, 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()[24;1H[K[24;1HExecuting Test_map_ctrl_c_visual()[24;1H[K[24;1H:'<,'>[24;2H[K[24;2H$put ='vmap works'
Executing Test_map_cursor()[24;1H[K[24;1H1 line less; before #8 0 seconds ago
Executing Test_map_feedkeys()[24;1H[K[24;1H:call feedkeys(".", "in")
[24;1H[K[24;1H:call feedkeys(".", "in")
[24;1H[K[24;1HExecuting Test_map_langmap()[24;1H[K[24;1H:call append(line('$'), '+')
Executing Test_map_meta_quotes()[24;1H[K[24;1HExecuting Test_match()
[27m[23m[m[H[2J[1;1Habcd[41me[mfg[41mhij[mklmnopq
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1Habc[41mdΣ[m[1;6Hab[41mcd[mef
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [m[24;1HExecuting Test_matchaddpos()[27m[23m[m[H[2J[1;1H1[1m[37m[41m2[m345
N[1m[37m[41mP[m
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H1[1m[37m[41m2[m345[30m[43m
N[m[1m[37m[41mP[m[30m[43m [m
vmap works[30m[43m
[m
Test1: text with a (here some more text)[30m[43m [m
Test1: text with a (here some more text)[30m[43m
[m
Test2: text wit a (here some more text [und undo])[30m[43m [m
fooc d[30m[43m [m
fooc d[30m[43m [m
+[30m[43m [m
+[30m[43m [m
bbbb[30m[43m [m
bbbb[30m[43m [m
cccc[30m[43m [m
bbbb[30m[43m [m
+[30m[43m [m
-foo-[30m[43m [m
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H0[1m[37m[41m1[m234[1m[37m[41m5[m[30m[43m
N[m[1m[37m[41mP[m[30m[43m [m
vmap works[30m[43m
[m
Test1: text with a (here some more text)[30m[43m [m
Test1: text with a (here some more text)[30m[43m
[m
Test2: text wit a (here some more text [und undo])[30m[43m [m
fooc d[30m[43m [m
fooc d[30m[43m [m
+[30m[43m [m
+[30m[43m [m
bbbb[30m[43m [m
bbbb[30m[43m [m
cccc[30m[43m [m
bbbb[30m[43m [m
+[30m[43m [m
-foo-[30m[43m [m
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H[1m[37m[41m1234567[m890
N[1m[37m[41mH[m
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H[1m[37m[41m1234567890[m
N[1m[37m[41mH[m
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [m[24;1HExecuting Test_matchaddpos_using_negative_priority()[27m[23m[m[H[2J[1;1H[30m[43mx[m
NH
vmap works
Test1: te[30m[43mx[mt with a (here some more te[30m[43mx[mt)
Test1: te[30m[43mx[mt with a (here some more te[30m[43mx[mt)
Test2: te[30m[43mx[mt wit a (here some more te[30m[43mx[mt [und undo])
fooc d
fooc d
+
+
bbbb
bbbb
cccc
bbbb
+
-foo-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H[1m[37m[41mx[m
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [27m[23m[m[H[2J[1;1H[1m[37m[41mx
-1 match priority[m
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-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [+] [m[24;1HExecuting Test_matchstrpos()
Executing Test_max_min_errors()
Executing Test_messages()
hello0[1;1H[3L[1;1H[1m[37m[41mx
-1 match priority[m
vmap works[23;11H[1m[7m [m[24;1H[K[24;1Hhello1234567898
hello9[1;1H[L[1;1H[1m[37m[41mx[m[24;1H[K[24;1Hhello9
Executing Test_missing_attr()
Executing Test_modeline_fails_always()
"Xmodeline_fails_backupdir" [24;29H[K[24;29H2L, 41C
"Xmodeline_fails_cdpath" 2L, 38C
"Xmodeline_fails_charconvert" 2L, 43C
"Xmodeline_fails_completefunc" 2L, 44C
"Xmodeline_fails_cscopeprg" 2L, 41C
"Xmodeline_fails_diffexpr" 2L, 40C
"Xmodeline_fails_directory" 2L, 41C
"Xmodeline_fails_equalprg" 2L, 40C
"Xmodeline_fails_errorfile" 2L, 41C
"Xmodeline_fails_exrc" 2L, 36C
"Xmodeline_fails_formatprg" 2L, 41C
"Xmodeline_fails_fsync" 2L, 37C
"Xmodeline_fails_grepprg" 2L, 39C
"Xmodeline_fails_helpfile" 2L, 40C
"Xmodeline_fails_imactivatefunc" 2L, 46C
"Xmodeline_fails_imstatusfunc" 2L, 44C
"Xmodeline_fails_keywordprg" 2L, 42C
"Xmodeline_fails_langmap" 2L, 39C
"Xmodeline_fails_makeef" 2L, 38C
"Xmodeline_fails_makeprg" 2L, 39C
"Xmodeline_fails_mkspellmem" 2L, 42C
"Xmodeline_fails_modelineexpr" 2L, 32C
"Xmodeline_fails_omnifunc" 2L, 40C
"Xmodeline_fails_operatorfunc" 2L, 44C
"Xmodeline_fails_printdevice" 2L, 43C
"Xmodeline_fails_patchexpr" 2L, 41C
"Xmodeline_fails_printexpr" 2L, 41C
"Xmodeline_fails_runtimepath" 2L, 43C
"Xmodeline_fails_secure" 2L, 38C
"Xmodeline_fails_shell" 2L, 37C
"Xmodeline_fails_shellcmdflag" 2L, 44C
"Xmodeline_fails_shellpipe" 2L, 41C
"Xmodeline_fails_shellquote" 2L, 42C
"Xmodeline_fails_shellredir" 2L, 42C
"Xmodeline_fails_shellxquote" 2L, 43C
"Xmodeline_fails_spellfile" 2L, 41C
"Xmodeline_fails_spellsuggest" 2L, 44C
"Xmodeline_fails_titleold" 2L, 40C
"Xmodeline_fails_viewdir" 2L, 39C
"Xmodeline_fails_viminfo" 2L, 39C
"Xmodeline_fails_undodir" 2L, 39C
"Xmodeline_fails_t_AB" 2L, 36C
"Xmodeline_fails_t_ce" 2L, 36C
"Xmodeline_fails_t_sr" 2L, 36C
"Xmodeline_fails_t_8b" 2L, 36C
Executing Test_modeline_fails_modelineexpr()
"Xmodeline_fails_balloonexpr" [24;31H[K[24;31H2L, 43C
"Xmodeline_fails_foldexpr" 2L, 40C
"Xmodeline_fails_foldtext" 2L, 40C
"Xmodeline_fails_formatexpr" 2L, 42C
"Xmodeline_fails_guitablabel" 2L, 43C
"Xmodeline_fails_iconstring" 2L, 42C
"Xmodeline_fails_includeexpr" 2L, 43C
"Xmodeline_fails_indentexpr" 2L, 42C
"Xmodeline_fails_rulerformat" 2L, 43C
"Xmodeline_fails_statusline" 2L, 42C
"Xmodeline_fails_tabline" 2L, 39C
"Xmodeline_fails_titlestring" 2L, 43C
Executing Test_modeline_filetype()
"Xmodeline_filetype" [24;22H[K[24;22H2L, 24C
Executing Test_modeline_filetype_fails()
"Xmodeline_fails_filetype" [24;28H[K[24;28H2L, 31C
Executing Test_modeline_invalid()
"Xmodeline" [24;13H[K[24;13H2L, 13C
Executing Test_modeline_keymap()
"Xmodeline_keymap" [24;20H[K[24;20H2L, 32C
Executing Test_modeline_keymap_fails()
"Xmodeline_fails_keymap" [24;26H[K[24;26H2L, 35C
Executing Test_modeline_syntax()
"Xmodeline_syntax" [24;20H[K[24;20H2L, 25C
Executing Test_modeline_syntax_fails()
"Xmodeline_fails_syntax" [24;26H[K[24;26H2L, 32C
Executing Test_move_cursor()
Executing Test_named_function_closure()
Executing Test_no_type_checking()
Executing Test_noinsert_complete()[24;1H[K[24;1H=s:complTest1()
[1;1H[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1H[1m[37m[41mx
-1 match priority[m
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
[7m[No Name] [m[2;1H[30m[47msource [m
[30m[45msoundfold [1;1H[m[2;4H[30m[47mndfold[24;1H[m=s:complTest2()
[1;1H
[1m[34m~
~ [m[2;1H[30m[47msource [m
[30m[45msoundfold [1;1H[m[24;1H[K[24;1HExecuting Test_non_zero_arg()
Executing Test_not_existing()
Executing Test_not_lamda()
Executing Test_omnifunc_with_check()
[31msearch hit BOTTOM, continuing at TOP[m[1;1H[4L[1;1Hfour1
[1m[34m~ [3;1H~ [4;1H~ [m[12;11H[1m[7m[+][m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [m[1;5H2
[1m[34m~
~ [m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [2;1Hfour1 [m
[30m[47mfour2 [1;6H[m
[1m[34m~
~ [m[2;1H[30m[45mfour1 [m
[30m[47mfour2 [m
[30m[45mfour3
four4
four5
four6 [1;6H[m[24;1H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[m[1;5H1
[1m[34m~
~
~
~
~
~ [m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [m[1;5H2
[1m[34m~
~ [m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [2;1Hfour1 [m
[30m[47mfour2 [m[1;5H3
[1m[34m~
~ [m[2;1H[30m[45mfour1
four2 [m
[30m[47mfour3 [m
[30m[45mfour4 [1;6H[m
[1m[34m~
~
~
~ [m[2;1H[30m[45mfour1
four2 [m
[30m[47mfour3 [m
[30m[45mfour4
four5
four6 [1;6H[m[24;1H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[m[1;5H1
[1m[34m~
~
~
~
~
~ [m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [m[1;5H2
[1m[34m~
~ [m[2;1H[30m[47mfour1 [m
[30m[45mfour2 [2;1Hfour1 [m
[30m[47mfour2 [m[1;5H3
[1m[34m~
~ [m[2;1H[30m[45mfour1
four2 [m
[30m[47mfour3 [m
[30m[45mfour4 [4;1Hfour3 [m
[30m[47mfour4 [m
[30m[45mfour5
four6 [1;6H[m4
[1m[34m~
~
~
~
~
~ [m[2;1H[30m[45mfour1
four2
four3 [m
[30m[47mfour4 [m
[30m[45mfour5
four6 [1;6H[m5
[1m[34m~
~
~
~
~
~ [m[2;1H[30m[45mfour1
four2
four3 [m
[30m[47mfour4 [m
[30m[45mfour5
four6 [5;1Hfour4 [m
[30m[47mfour5 [1;6H[m[24;1H[K[24;1HExecuting 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()[24;1H[K[24;1H=ListMonths()
[1;5H
[10L[1;1HJune
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [1;5H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJune [m
[30m[47mJuly [1;5H[m[24;1H[K[24;1H=ListMonths()
[1;8H
January
[1m[34m~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mFebruary [1;8H[m
[30m[45mFebruary [m
[30m[47mMarch [1;8H[m
[30m[45mMarch [m
[30m[47mApril [1;8H[m[5;1H[30m[45mApril [m
[30m[47mMay [1;8H[m[6;1H[30m[45mMay [m
[30m[47mJune [1;8H[m[7;1H[30m[45mJune [m
[30m[47mJuly [1;8H[m[8;1H[30m[45mJuly [m
[30m[47mAugust [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mJune
July [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;5H
June[1;5H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJune [m
[30m[45mJuly [1;5H[m[1;3H[K[2;1H[1m[34m~
~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJune [1;3H
July[m[24;1H[K[24;1H=ListMonths()
[1;5Hne
[1m[34m~
~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [1;5H[m[1;3H[K[2;1H[1m[34m~
~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJune [1;3H
July[1;5H[mly
[1m[34m~
~ [m[2;1H[30m[45mJuly [m
[30m[47mJuly [1;5H[m[24;1H[K[24;1H=ListMonths()
[1;5Hne
[1m[34m~ [m
[30m[47mJune [m
[30m[45mJuly [1;5H[m[1;3H[K[2;1H[1m[34m~
~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJune [1;3H
July[m[24;1H[K[24;1H=ListMonths()
[1;8H
January
[1m[34m~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m
February
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mFebruary [1;9H[m[24;1H[K[24;1H=ListMonths()
[1;8H
January[1;8H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mJune
July [1;8H[m
June[1;5H[K[2;1H[1m[34m~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mJune
July [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mJune [1;5H[mly
[1m[34m~
~
~ [m[2;1H[30m[45mJanuary [m
[30m[47mJune [m
[30m[45mJuly [3;1HJune [m
[30m[47mJuly [1;5H
[mJ[1;2H[K[2;1H[1m[34m~
~
~ [m[2;1H[30m[45mJanuary
June [m
[30m[47mJuly [m
[30m[45mJuly [1;2H[m[24;1H[K[24;1H=ListMonths()
[1;8H
January
[1m[34m~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mJune
July [1;8H[m
June[1;5H[K[2;1H[1m[34m~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mJune
July [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mJune [1;5H[mly
[1m[34m~
~
~ [m[2;1H[30m[45mJanuary [m
[30m[47mJune [m
[30m[45mJuly [3;1HJune [m
[30m[47mJuly [1;5H
[mJ[1;2H[K[2;1H[1m[34m~
~
~ [m[2;1H[30m[45mJanuary
June [m
[30m[47mJuly [m
[30m[45mJuly [1;2H[m
January
[1m[34m~
~
~ [m[2;1H[30m[45mJanuary
June
July [m[2;1H[30m[47mJanuary [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mJune
July [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;5H
June[1;5H[K[2;1H[1m[34m~
~
~ [m[2;1H[30m[47mJune [m
[30m[45mJuly [1;5H[m[24;1H[K[24;1H=ListMonths()
[1;8H
January
[1m[34m~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[13;1H[30m[47mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[13;1H[30m[47mDecember [1;8H
February [m[13;1H[30m[45mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m[12;1H[30m[47mNovember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m[12;1H[30m[47mNovember [1;8H[m[12;1H[30m[45mNovember [m
[30m[47mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m[12;1H[30m[47mNovember [1;8H[m[12;1H[30m[45mNovember [m
[30m[47mDecember [1;8H[m[13;1H[30m[45mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m[12;1H[30m[47mNovember [1;8H[m[12;1H[30m[45mNovember [m
[30m[47mDecember [1;8H[m[13;1H[30m[45mDecember [1;8H[m[11;1H[30m[47mOctober [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[13;1H[30m[47mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[13;1H[30m[47mDecember [1;8H[12;1HNovember [m
[30m[45mDecember [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H
[m[1;1H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;1H[8C[m
December
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October [m
[30m[47mDecember [1;9H[m
Nov
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October [m
[30m[47mNovember [m
[30m[45mDecember [1;9H[m
October[1;8H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October [m
[30m[47mOctober [m
[30m[45mNovember [1;8H[m
September
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September [m
[30m[47mOctober [10;1HSeptember [m
[30m[45mOctober [1;10H[m[24;1H[K[24;1H=ListMonths()
[1;8H
January[1;8H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[K[24;1H=ListMonths()
[1;8H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;8H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;8H[m[13;1H[30m[47mDecember [1;8H[12;1HNovember [m
[30m[45mDecember [1;8H[m[11;1H[30m[47mOctober [m
[30m[45mNovember [1;8H[m[10;1H[30m[47mSeptember [m
[30m[45mOctober [1;8H[m[24;1H[K[24;1H=ListMonths()
[2;9H[24;1H[K[24;1H=ListMonths()
[2;9H[1;1HDecember2015
December[2;9H[K[3;1H[1m[34m~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[3;1H[30m[47mDecember [2;9H[m[24;1H[K[24;1H=ListMonths()
[1;6H
March[1;6H[K[2;1H[1m[34m~ [3;1H~ [m[2;1H[30m[47mMarch [m
[30m[45mMay [1;6H[my[1;4H[K[2;1H[1m[34m~
~ [m[2;1H[30m[47mMarch [m
[30m[45mMay [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mMarch [m
[30m[47mMay [1;4H[m rch
[1m[34m~
~ [m[2;1H[30m[45mMarch [m
[30m[47mMay [2;1HMarch [m
[30m[45mMay [1;6H[m[24;1H[K[24;1H=ListMonths()
[2;6H[1;2H[K[2;1HMarch[2;6H[K[3;1H[1m[34m~ [m
[30m[47mMarch [m
[30m[45mMay [2;6H[my[2;4H[K[3;1H[1m[34m~
~ [m[3;1H[30m[47mMarch [m
[30m[45mMay [m[24;1H[1m-- INSERT --[m[24;13H[K[3;1H[30m[45mMarch [m
[30m[47mMay [2;4H[m rch
[1m[34m~
~ [m[3;1H[30m[45mMarch [m
[30m[47mMay [3;1HMarch [m
[30m[45mMay [2;6H[m[24;1H[K[24;1H=ListMonths()
[1;6H
March
[1m[34m~ [3;1H~
~ [m[2;1H[30m[47mMarch [m
[30m[45mMay [1;6H[m[24;1H[K[24;1H=ListMonths()
[2;2HM[2;2H[K[3;1H[1m[34m~ [m
[30m[45mMarch
May [2;2H[m[24;1H[K[24;1H=ListMonths()
[3;2HM[3;2H[K[4;1H[1m[34m~ [m
[30m[47mMarch [m
[30m[45mMay [3;2H[m[24;1H[K[24;1HExecuting Test_popup_complete2()[24;1H[K[24;1H=ListMonths()
[1;2H[24;1H[K[24;1HExecuting Test_popup_completion_insertmode()[24;1H[K[24;1H=ListMonths()
[1;1H[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~
~ [m[12;11H[1m[7m [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;1H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mFebruary [1;1H[m[24;1H[K[24;1H=ListMonths()
[1;1H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;1H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mFebruary [1;1H[m[24;1H[K[24;1H=ListMonths()
[1;1H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;1H[8C[m
February
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October [m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [m
[30m[47mFebruary [1;9H[m
March[1;6H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary [m
[30m[47mFebruary [m
[30m[45mMarch
April
May
June
July
August
September
October [3;1HFebruary [m
[30m[47mMarch [1;6H[m
April
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February [m
[30m[47mMarch [m
[30m[45mApril
May
June
July
August
September
October [4;1HMarch [m
[30m[47mApril [1;6H[m
May[1;4H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March [m
[30m[47mApril [m
[30m[45mMay
June
July
August
September
October [5;1HApril [m
[30m[47mMay [1;4H[m
June
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April [m
[30m[47mMay [m
[30m[45mJune
July
August
September
October [6;1HMay [m
[30m[47mJune [1;5H[mly
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May [m
[30m[47mJune [m
[30m[45mJuly
August
September
October [7;1HJune [m
[30m[47mJuly [1;5H[m
August
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June [m
[30m[47mJuly [m
[30m[45mAugust
September
October [8;1HJuly [m
[30m[47mAugust [1;7H[m
September
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July [m
[30m[47mAugust [m
[30m[45mSeptember
October [9;1HAugust [m
[30m[47mSeptember [1;10H[m
October[1;8H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August [m
[30m[47mSeptember [m
[30m[45mOctober [10;1HSeptember [m
[30m[47mOctober [1;8H[m
November
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September [m
[30m[47mOctober [m
[30m[45mOctober [m
[30m[47mNovember [1;9H[m
Dec
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October
November [m
[30m[47mDecember [1;9H
[m[1;1H[K[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October
December [1;1H[m[24;1H[K[24;1H=ListMonths()
[1;1H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;1H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;1H[m[24;1H[K[24;1H=ListMonths()
[1;1H
[1m[34m~
~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m
[1m[37m[41mx[m[13;2H[K[2;1H[30m[47mJanuary [m
[30m[45mFebruary
March
April
May
June
July
August
September
October
November[m[1m[7m][m[30m[45m
December [1;1H[m[24;1H[1m-- INSERT --[m[24;13H[K[2;1H[30m[45mJanuary [1;1H[8C[m
December
[1m[34m~
~
~
~
~
~
~
~
~
~ [m[2;1H[30m[45mJanuary
February
March
April
May
June
July
August
September
October [m
[30m[47mDecember [1;9H[m[24;1H[K[24;1HExecuting 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][24;25H[K[24;15H[K[24;15H[New] 2L, 4C written[24;8Hsubdir/Xfile" [24;22H[K[24;22H[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][24;17H[K[24;1H
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][24;20H[K[24;10H[K[24;10H[New] 3L, 18C written
Executing Test_statusline_will_be_disabled_with_error()[27m[23m[m[H[2J[1;1Hx
-1 match priority
vmap works
Test1: text with a (here some more text)
Test1: text with a (here some more text)
Test[34m2[m: text wit a (here some more text [und undo])
fooc d
fooc d
+
+
bbbb
bbbb
cccc
bbbb
+
-foo-
[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[1m[7m [m[24;1HExecuting 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][24;19H[K[24;9H[K[24;9H[New] 2L, 4C written[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_symlink_dir_delete()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_symlink_recursive_delete()
"Xdir3/Xfile" [New File][24;25H[K[24;15H[K[24;15H[New] 2L, 4C written[24;8Hsubdir/Xfile" [24;22H[K[24;22H[New] 2L, 4C written
"Xdir4/Xfile" [24;15H[K[24;15H[New] 2L, 4C written[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;1H
[?25lExecuting Test_syntax_valid()
Executing Test_tabline_will_be_disabled_with_error()[27m[23m[m[H[2J[1;1H[7m [m[2;1Hx
-1 match priority
vmap works
Test1: text with a (here some more text)
Test1: text with a (here some more text)
Test[34m2[m: text wit a (here some more text [und undo])
fooc d
fooc d
+
+
bbbb
bbbb
cccc
bbbb
+
-foo-
[1m[34m~ [22;1H~ [m[23;1H[1m[7m[No Name] [m[24;1HExecuting Test_tabnext_on_buf_unload1()
Executing Test_tabnext_on_buf_unload2()
"x" [Not edited] --No lines in buffer--
"y" [New File][24;15H[K[24;1H
Executing Test_tabpage()
"Xtestfile" [New File][24;23H[K[24;1H
2 fewer lines; before #1 0 seconds ago
"test1" [New File][24;19H[K[24;2Hnewfile" [New File]
"test1" [New File][24;19H[K[24;14Hfile] --No lines in buffer--[24;14HF[24;20H[K[24;1H
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][24;19H[K[24;1H
Executing Test_tan()
Executing Test_tanh()
Executing Test_thesaurus()
Executing Test_three_windows()
"Xtestje1" [New File][24;22H[K[24;12H[K[24;12H[New] 1L, 8C written[24;9H2" [New File][24;22H[K[24;12H[K[24;12H[New] 1L, 8C written[24;9H3" [New File][24;22H[K[24;12H[K[24;12H[New] 1L, 8C written[24;9H1[24;12H[K[24;12H1L, 8C
"Xtestje3" 1L, 8C[24;9H2[24;12H[K[24;12H1L, 8C[24;9H1[24;12H[K[24;12H1L, 8C
"Xanother" [New File]
"Xtestje1[24;12H[K[24;12H1L, 8C
"Xanother" [New File]
Already only one window
"help.txt" [24;12H[K[24;12H[readonly] 225L, 8437C
Executing Test_tostring()
Executing Test_true_false_arg()[?1l>[?12l[?25h[?1049l[?1049h[?1h=[24;32H[?1l>[?1049l[?1049h[?1h=[24;32H[?1l>[?1049l[?1049h[?1h=[24;32H[?1l>[?1049l[?1049h[?1h=[24;1H
[?25l"colored" [New File]
Executing Test_trunc()
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" [24;15H[K[24;15H0L, 0C
[31mW19: Deleting augroup that is still in use[m
Executing Test_with_directories()[24;34H[K[24;1H"Xdir1/file" [New File][24;24H[K[24;1H
"Xdir1/file" [New] 2L, 4C written
"Xdir3/Xdir4/file" [New] 2L, 4C written[24;20H[K[24;20H2L, 4C
"Xdir?/*/nofile" [New DIRECTORY]
"foo" [New File][24;18H[K[24;1HExecuting Test_with_partial_callback()[?12l[?25h[?25l[24;21Htilde()[24;28H[K[24;17Hrong_arguments()
"test_alot.res" [New File][24;27H[K[24;1H
"test_alot.res" [New] 0L, 0C written
Executed 256 tests[24;19H[K[24;1H"messages" [24;12H[K[24;12H584L, 15447C
"messages" 845L, 23978C 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_OptionSet_modeline()
Skipped
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_sandbox()
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_glob2regpat_invalid()
Executing Test_glob2regpat_valid()
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_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_modeline_fails_always()
Executing Test_modeline_fails_modelineexpr()
Executing Test_modeline_filetype()
Executing Test_modeline_filetype_fails()
Executing Test_modeline_invalid()
Executing Test_modeline_keymap()
Executing Test_modeline_keymap_fails()
Executing Test_modeline_syntax()
Executing Test_modeline_syntax_fails()
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_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 256 tests
SKIPPED Test_OptionSet_modeline(): test_override() missing
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-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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test1.in" 57 lines, 2069 characters[2;1HFirst 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[20;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 35 lines, 1133 characters written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[21;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If columns or lines are too small, create wrongtermsize.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" (Some tests will fail. When columns and/or lines are small)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Write a single line to test.out to check if testing works at all.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%d
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25lthis is a test[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 15 characters written[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Create small.vim and tiny.vim empty, create mbyte.vim to skip the test.
[?25l[1;14H[?12l[?25h
[?25l[1;1H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! small.vim
[?25l"small.vim" [24;13H[K[24;13H[New File] 1 line, 1 character written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! tiny.vim
[?25l"tiny.vim" [24;12H[K[24;12H[New File] 1 line, 1 character written[1;1H[?12l[?25h[?25le! test.ok
w! test.out[2;12H[K[3;1Hqa![3;4H[K[4;1H[K[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! mbyte.vim
[?25l"mbyte.vim" [24;13H[K[24;13H[New File] 4 lines, 28 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! mzscheme.vim
[?25l"mzscheme.vim" [24;16H[K[24;16H[New File] 4 lines, 28 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! lua.vim
[?25l"lua.vim" [24;11H[K[24;11H[New File] 4 lines, 28 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +multi_byte feature supported, make mbyte.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif has("multi_byte") | sp another | w! mbyte.vim | q | endif
[?25l"another" [New File][24;21H[K[24;1H
"mbyte.vim" 0 lines, 0 characters written[1;1H[L[1;1He! test.ok[24;1H[K[4;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +mzscheme feature supported, make mzscheme.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif has("mzscheme") | sp another | w! mzscheme.vim | q | endif
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +lua feature supported, make lua.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif has("lua") | sp another | w! lua.vim | q | endif
[?25l"another" [New File][24;21H[K[24;1H
"lua.vim" 0 lines, 0 characters written[1;1H[L[1;1He! test.ok[24;1H[K[4;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Otherwise write small.vim to skip the test.
[?25l[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif 1 | q! | endif
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test3.in" 2342 lines, 23089 characters[1;1H/* vim: set cin ts=4 sw=4 : */
Test for 'cindent'
STARTTEST
:so small.vim
:set nocompatible viminfo+=nviminfo modeline
:edit[16C" read modeline
/start of AUTO
=/end of AUTO
ENDTEST
/* start of AUTO matically checked vim: set ts=4 : */
{[15;9Hif (test)[16;17Hcmd1;[17;9Hcmd2;
}
{[21;9Hif (test)[22;17Hcmd1;[23;9Helse[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1H/* vim: set cin ts=4 sw=4 : */[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 125 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo modeline
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit " read modeline
[?25l"test3.in"[24;22H[K[24;12H2342L, 23089C[15;5Hif (test)[15;14H[K[16;9Hcmd1;[16;17H[K[17;5Hcmd2;[17;10H[K[21;5Hif (test)[21;14H[K[22;9Hcmd1;[22;17H[K[23;5Helse[23;9H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hstart of AUTO
[?25l[13;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hend of AUTO
[?25l956 lines to indent...
9500
850
750
650
550
450
350
250
150
50 lines to indent...
957 lines indented [24;20H[K[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;13H}[2;13Hbreak;[3;9Hdefault:[4;13Hbaz();[5;13Hbaz();[6;13Hbreak;
}
}
/* end of AUTO */
STARTTEST
:set tw=0 wm=60 columns=80 noai fo=croq
/serious/e
a about life, the universe, and the rest[34m^[[m
ENDTEST
{
/* this is
* a real serious important big
* comment
*/[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 93C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=0 wm=60 columns=80 noai fo=croq
[?25l[27m[23m[m[H[2J[1;13H}[2;13Hbreak;[3;9Hdefault:[4;13Hbaz();[5;13Hbaz();[6;13Hbreak;
}
}
/* end of AUTO */
STARTTEST
:set tw=0 wm=60 columns=80 noai fo=croq
/serious/e
a about life, the universe, and the rest[34m^[[m
ENDTEST
{
/* this is
* a real serious important big
* comment
*/[16;1H[?12l[?25h[?25l[24;1H/[?12l[?25hserious/e
[?25l[21;17H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[20;19H[K[21;4Habout life, the
* universe, and the
* rest important big[23;7H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H* comment[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[5M[1;24r[19;2H*/
/* insert " about life, the universe, and the rest" after "serious" */
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set nocin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H6L, 78C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H/comments
joabout life[34m^[[m/happens
jothere[34m^[[m/below
oline[34m^[[m/this
Ohello[34m^[[m[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hcomments
[?25l[1;23r[1;1H[4M[1;24r[21;1H{
/*[23;6H* Testing for comments, without 'cin' set[24;1H[K[23;20H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;6H*/[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1Habout life[?12l[?25h[?25l
/[?12l[?25hhappens
[?25l[1;23r[1;1H[3M[1;24r[22;1H/*
* what happens here?[24;1H[K[23;8H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H*/[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1Hthere[?12l[?25h[?25l
/[?12l[?25hbelow
[?25l[1;23r[1;1H[3M[1;24r[22;5H/*[23;8Hthe end of the comment, try inserting a line below */[24;1H[K[23;53H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1Hline[?12l[?25h[?25l
/[?12l[?25hthis
[?25l[1;23r[1;1H[3M[1;24r[22;9H/* how about[23;25Hthis one */[24;1H[K[23;25H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[23;1Hhello[23;25H[K[23;5H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;25Hthis one */[23;8H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 18C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/vec2
==[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hvec2
[?25l[1;23r[1;1H[5M[1;24r[20;1H{
var = this + that + vec[0] * vec[0][22;23H+ vec[1] * vec[1][23;23H+ vec2[2] * vec[2];[24;1H[K[23;25H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5L, 51C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H:set cino=}4
/testing1
k2==/testing2
k2==[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=}4
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25htesting1
[?25l[1;23r[1;1H[8M[1;24r[17;1H{[18;9Hasdf asdflkajds f;
if (tes & ting) {[20;9Hasdf asdf asdf ;[21;9Hasdfa sdf asdf;[22;9H}
testing1;[24;1H[K[23;5H[?12l[?25h[22;8H [?25l
/[?12l[?25htesting2
[?25l[1;23r[1;1H[6M[1;24r[18;5Hif (tes & ting)
{[20;9Hasdf asdf asdf ;[21;9Hasdfa sdf asdf;[22;9H}
testing2;[24;1H[K[23;5H[?12l[?25h[22;8H [23;9H[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H4L, 36C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set cino=(0,)20
/main
=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,)20
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hmain
[?25l[1;23r[1;1H[2M[1;24r[23;1Hmain ( int first_par, /*[24;1H[K[23;1H[?12l[?25h[?25l
19 lines to indent...
20[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;24H* Comment for[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[1;23H* Comment for[2;23H* first par[3;23H*/[4;11Hsecond_par /*[5;23H* Comment for[6;23H* second par[7;23H*/[8;9H);
}
STARTTEST
:set cin
:set cino=es,n0s
/main
=][
ENDTEST
main(void)
{
/* Make sure that cino=X0s is not parsed like cino=Xs. */
if (cond)[23;9Hfoo();[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H4L, 36C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=es,n0s
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hmain
[?25l[19;1H[?12l[?25h[?25l[24;1H8 lines to indent...
9[7Cindented [24;18H[K[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;5Helse
{[19;9Hbar();
}
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cin
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 26C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H:set cino=
]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H{[24;1H[K[23;1H[?12l[?25h[?25l
11 lines to indent...
12[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hdo[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[1;9Hif ()[2;9H{[3;13Hif ()[4;17Hasdf;[5;13Helse[6;17Hasdf;[7;9H}
} while ();
cmd;[8C/* this should go under the } */
}
STARTTEST
]]=][
ENDTEST
void f()
{
if ( k() ) {[19;9Hl();[21;5H} else { /* Start (two words) end */[22;9Hm();
}[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H1L, 6C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[14;1H[?12l[?25h
[?25l[24;1H8 lines to indent...
9[7Cindented [24;18H[K[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[5M[1;24r[20;5Hn();
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino={s,e-s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino={s,e-s
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
7 lines to indent...
8[7Cindented [24;18H[K[23;1H {[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif ( k() )[24;1H[K[23;5H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[9M[1;24r[15;9H{[16;9Hl();[17;9H} else { /* Start (two words) end */[18;9Hm();[19;9H}
n(); /* should be under the if () */
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino={s,fs
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 25C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H]]=/ foo[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino={s,fs
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Hvoid bar(void)
{[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h foo
[?25l30 lines to indent...
31[7Cindented [24;19H[K[23;1H {[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;1Hvoid func(void)
{
a = 1;[4;9H{[5;9Hb = 2;[6;9H}
c = 3;
d = 4;
}
/* foo */
STARTTEST
:set cino=
/while
ohere[34m^[[m
ENDTEST
a()
{
do {
a = a +[22;7Ha;
} while ( a );[8C/* add text under this line */[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 25C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hwhile
[?25l[23;5H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;3Hhere[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif ( a )
i[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[4M[1;24r[20;7Ha;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino= com=
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 109C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H/comment
olabel2: b();[34m^M[mlabel3 /* post */:[34m^M[m/* pre */ label4:[34m^M[mf(/*com*/);[34m^M[mif (/*com*/)[34m^^[23;1HM[mcmd();[34m^[[m[24;1H[K[22;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino= com=
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hcomment
[?25l[1;23r[1;1H[6M[1;24r[19;1Ha()
{
label1:[22;13H/* hmm */[23;13H// comment[24;1H[K[23;16H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[1;1H[6M[1;24r[18;1Hlabel2: b();
label3 /* post */:
/* pre */ label4:[21;9Hf(/*com*/);[22;9Hif (/*com*/)[23;13Hcmd();[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set comments& comments^=s:/*,m:**,ex:*/
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 53C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/simple
=5j[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments& comments^=s:/*,m:**,ex:*/
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hsimple
[?25l[1;23r[1;1H[3M[1;24r[22;1H/*
* A simple comment[24;1H[K[23;7H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;2H* A simple comment[23;20H[K[23;2H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H*/[24;1H[K[23;2H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[19;1H/*
** A different comment
*/
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=c0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 70C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H:set comments& comments-=s1:/* comments^=s0:/*
2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=c0
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments& comments-=s1:/* comments^=s0:/*
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;5H/*********[19;7HA comment.
*********/
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=c0,C1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 73C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H:set comments& comments-=s1:/* comments^=s0:/*
2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=c0,C1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments& comments-=s1:/* comments^=s0:/*
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;5H/*********
A comment.
*********/
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 17C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 &&[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;9H([18;10Hc2 ||[19;10Hc3[20;9H) && c4;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(s
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 &&[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;9H([18;10Hc2 ||[19;10Hc3[20;9H) && c4;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(s,U1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 28C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(s,U1
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 &&[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;9H([18;13Hc2 ||[19;13Hc3[20;9H) && c4;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif ( c1[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;12H&& ( c2[19;19H|| c3))[20;9Hfoo;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,w1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 28C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,w1
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif ( c1[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;9H&& ( c2[19;13H|| c3))[20;9Hfoo;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(s
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
8 lines to indent...
9[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 && ([24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;9Hc2 ||[15;9Hc3[16;9H) && c4;
if ([18;9Hc1 && c2[19;8H)[20;9Hfoo;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(s,m1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 28C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(s,m1
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
8 lines to indent...
9[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc = c1 && ([24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;9Hc2 ||[15;9Hc3
) && c4;
if ([18;9Hc1 && c2
)[20;9Hfoo;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=b1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=b1
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
9 lines to indent...
10 lines indented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hswitch (x)[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[11M[1;24r[13;5H{[14;9Hcase 1:[15;13Ha = b;[16;9Hbreak;[17;9Hdefault:[18;13Ha = 0;[19;9Hbreak;
}
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,W5
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 26C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,W5
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
10 lines to indent...
11[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hinvokeme([24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[12M[1;24r[12;10Hargu,[13;10Hment);
invokeme([15;10Hargu,[16;10Hment[17;10H);
invokeme(argu,[19;14Hment[20;13H);
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=/6
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=/6
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
3 lines to indent...
4[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hstatement;[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[5M[1;24r[19;11H// comment 1[20;11H// comment 2
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 34C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H2kdd]]/comment 1/+1
==[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=
[?25l[23;1H[?12l[?25h[21;1H[?25l==[21;3H[K[22;1HENDTEST[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hvoid f()
{[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25hcomment 1/+1
[?25l[1;23r[1;1H[3M[1;24r[21;5Hstatement;[22;8H// comment 1
// comment 2[24;1H[K[23;4H[?12l[?25h[?25l // comment 2[23;8H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=g0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=g0
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hclass CAbc
{[24;1H[K[23;1H[?12l[?25h[?25l
6 lines to indent...
7[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hint Test() { return FALSE; }[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[8M[1;24r[17;1Hpublic: // comment
void testfall();
protected:
void testfall();
};
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,gs,hs
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 29C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,gs,hs
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1Hclass Foo : public Bar
{[24;1H[K[23;1H[?12l[?25h[?25l
5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hpublic:[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[7M[1;24r[17;9Hvirtual void method1(void) = 0;[18;9Hvirtual void method2(int arg1,[19;30Hint arg2,[20;30Hint arg3) = 0;
};
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=+20
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 24C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=+20
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;5Hvoid
foo()
{[24;1H[K[23;1H[?12l[?25h[?25l
4 lines to indent...
5[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hif (a)[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[6M[1;24r[18;5H{
} else[20;9Hasdf;
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,W2s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 27C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd]]=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,W2s
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd]]=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H{[24;1H[K[23;1H[?12l[?25h[?25l
34 lines to indent...
35[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haverylongfunctionnamelongfunctionnameaverylongfunctionname()->asd([24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[1;21Hdec)->asdfasdfasdf([2;29Hasdfadsf,[3;29Hasdfasdf,[4;29Hasdfasdf,[5;29H),[6;13Hfunc(asdfadf,[7;18Hasdfasdf),[8;13Hasdasdf[9;13H);
}
STARTTEST
:set cino=M1
2kdd]]=][
ENDTEST
int main ()
{
if (cond1 &&[20;13Hcond2[21;13H)[22;9Hfoo;
}[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=M1
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h[17;1H[?25l[24;1H4 lines to indent...
5[7Cindented [24;18H[K[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0,ts
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 26C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd2j=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0,ts
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd2j=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h
[?25l
7 lines to indent...
8[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hvoid func(int a[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[9M[1;24r[15;1H#if defined(FOO)[16;11H, int b[17;11H, int c
#endif[19;10H)
{
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=(0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 23C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd2j=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=(0
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd2j=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h
[?25l
8 lines to indent...
9[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hvoid[24;1H[K[23;4H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;1Hfunc(int a
#if defined(FOO)[16;6H, int b[17;6H, int c
#endif
)
{
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 22C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd2j=7][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino&
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd2j=7][
ENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h
[?25l
69 lines to indent...
50
7[8Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hvoid func(void)[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[1;9Hint a,[2;9Hint b)
{
}[6;5Hvoid
func6([8;9Hint a)
{
}
STARTTEST
:set cino&
:set cino+=l1
2kdd2j=][
ENDTEST
void func(void)
{
int tab[] =
{[22;9H1, 2, 3,[23;9H4, 5, 6};[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino&
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino+=l1
[?25l[16;1H[?12l[?25h[14;1H[?25l[14;23r[23;1H
[1;24r[24;1H[K[14;1H[?12l[?25h
[?25l[24;1H22 lines to indent...
23[7Cindented [24;19H[K[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;13Hbreak;[2;9Hcase baz: {[3;13Hprintf("baz");[4;13Hbreak;[5;9H}[6;9Hcase quux:[7;13Hprintf("But don't break the indentation of this instruction\n");[8;13Hbreak;
}
}
STARTTEST
:set cino&
2kdd2j=][
ENDTEST
void func(void)
{
cout << "a"
<< "b"
<< ") :"
<< "c";
}[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 21C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino&
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H6 lines to indent...
7[7Cindented [24;18H[K[19;5H << "b"
<< ") :"
<< "c";[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set com=s1:/*,m:*,ex:*/
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 38C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H]]3jofoo();[34m^[[m[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset com=s1:/*,m:*,ex:*/
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Hvoid func(void)
{[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;5H/*[22;6H* This is a comment.[23;6H*/[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;5Hfoo();[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 21C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd2j=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino&
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd2j=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h
[?25l
8 lines to indent...
9[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hvoid func(void)[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;1H{
for (int i = 0; i < 10; ++i)[16;9Hif (i & 1) {[17;13Hfoo(1);[18;9H} else[19;13Hfoo(0);
baz();
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=k2s,(0
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 27C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;1H2kdd3j=][[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(0
[?25l[23;1H[?12l[?25h[21;1H[?25l2kdd3j=][[21;10H[K[22;1HENDTEST[22;8H[K[23;1H[K[21;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hvoid func(void)[24;1H[K[23;1H[?12l[?25h[?25l
23 lines to indent...
24[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H{[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[27m[23m[m[H[2J[2;5Hif ( c1[3;13H&& ( c2[4;23H|| c3))[5;9Hfoo;
func( c1[7;11H&& ( c2[8;20H|| c3))[9;9Hfoo;
}
STARTTEST
:set cino=k2s,(s
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 27C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(s
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H23 lines to indent...
24[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[2;5Hif ( c1[3;13H&& ( c2[4;17H|| c3))[5;9Hfoo;
func( c1[7;9H&& ( c2[8;13H|| c3))[9;9Hfoo;
}
STARTTEST
:set cino=k2s,(s,U1
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 30C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(s,U1
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H24 lines to indent...
25[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;13H&& (c22345[2;17H|| c3))[3;9Hprintf("foo\n");[5;5Hc = c1 &&[6;9H([7;13Hc2 ||[8;13Hc3[9;9H) && c4;
}
STARTTEST
:set cino=k2s,(0,W4
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 30C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(0,W4
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H29 lines to indent...
30[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;13H&& ( c2[2;20H|| c3))[3;9Hfoo;[5;5Ha_long_line([6;9Hargument,[7;9Hargument);
a_short_line(argument,[9;18Hargument);
}
STARTTEST
:set cino=k2s,u2
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 27C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,u2
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H18 lines to indent...
19[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;9Hfoo;
if (c1 &&[3;13H(c2 || c3))
{
}
if (c123456789[7;13H&& (c22345[8;15H|| c3))[9;9Hprintf("foo\n");
}
STARTTEST
:set cino=k2s,(0,w1
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 30C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2s,(0,w1
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H27 lines to indent...
28[7Cindented [24;19H[K[19;5H && condition2)
action();[22;5H && argument2);[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[2;5Hif ( c1[3;13H&& ( c2[4;17H|| c3))[5;9Hfoo;
func( c1[7;10H&& ( c2[8;14H|| c3))[9;9Hfoo;
}
STARTTEST
:set cino=k2,(s
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1[20;7H&& condition2)[21;9Haction();
function(argument1[23;9H&& argument2);[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 26C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=k2,(s
[?25l[15;1H[?12l[?25h[13;1H[?25l[13;23r[23;1H
[1;24r[24;1H[K[13;1H[?12l[?25h
[?25l[24;1H14 lines to indent...
15[7Cindented [24;19H[K[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;5Hif (c1 && (c2 ||[15;11Hc3))[16;9Hfoo;
if (c1 &&[18;7H(c2 || c3))
{
}
}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=N-s
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 47C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^NAMESPACESTART
=/^NAMESPACEEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=N-s
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^NAMESPACESTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HNAMESPACESTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^NAMESPACEEND
[?25l81 lines to indent...
50
82[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;1Hnamespace test test2
{
1111111111111111111;
}
namespace111111111
{
111111111111111111;
}
NAMESPACEEND
STARTTEST
:set cino=j1,J1
/^JSSTART
=/^JSEND
ENDTEST
JSSTART
var bar = {
foo: {
that: this,
some: ok,
},[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSEND
[?25l12 lines to indent...
13[7Cindented [24;19H[K[20;1H foo: {
that: this,
some: ok,
},[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;5H"bar":{[15;9Ha : 2,[16;9Hb: "123abc",[17;9Hx: 4,[18;9H"y": 5
}
}
JSEND
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=j1,J1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^JSSTART
=/^JSEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HJSSTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^JSEND
[?25l5 lines to indent...
6[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[8M[1;24r[16;1Hvar foo = [
1,
2,
3
];
JSEND
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=j1,J1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^JSSTART
=/^JSEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HJSSTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^JSEND
[?25l7 lines to indent...
8[7Cindented [24;18H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[10M[1;24r[14;1Hfunction bar() {
var foo = [[16;9H1,[17;9H2,[18;9H3
];
}
JSEND
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=j1,J1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^JSSTART
=/^JSEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HJSSTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^JSEND
[?25l58 lines to indent...
509[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;21Hreturn false;[2;17H}[3;17H_arguments[0]=options;[4;17Hmethod.apply(this,_arguments);[5;13H}[6;9H});
}
})(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: [[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSEND
[?25l14 lines to indent...
15[7Cindented [24;19H[K[20;1H $(this).data(class_name+'_public',$.extend({},{
foo: 'bar',
bar: 2,
foobar: [[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[12M[1;24r[12;13H1,[13;13H2,[14;13H3[15;9H],[16;9Hcallback: function(){[17;13Hreturn true;[18;9H}
}, options||{}));
}
JSEND
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set cino=j1,J1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 35C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/^JSSTART
=/^JSEND[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HENDTEST
[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[1;23r[1;1H[2M[1;24r[23;1HJSSTART[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^JSEND
[?25l16 lines to indent...
17[7Cindented [24;19H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;17H2,[2;17H3[3;13H],[4;13Hcallback: function(){[5;17Hreturn true;[6;13H}[7;9H}, options||{}));
}
})(jQuery);
JSEND
STARTTEST
:set cino=j1,J1,+2
/^JSSTART
=/^JSEND
ENDTEST
JSSTART
// Results of JavaScript indent
// 1
(function(){
var a = [
'a',[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 38C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cino=j1,J1,+2
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSSTART
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^JSEND
[?25l149 lines to indent...
100
50 lines to indent...
150 lines indented [24;20H[K[22;1H var a = [
'a',[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[27m[23m[m[H[2J[1;1Hvar 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[12;1H[?12l[?25h
[?25l[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3L, 48C written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST/+-1[24;13H[K[24;1H[15;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cin cino&
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hstart of define
[?25l[18;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hend of define
[?25l11 lines to indent...
12[7Cindented [24;19H[K[22;1H BBB\
CCC[18;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[8M[1;24r[17;1H#define CNT \
1 + \
2 + \
4
/* end of define */
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2L, 61C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST/+-1[24;13H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l226 fewer lines[24;16H[K[1;1H c,
d,
e,[3;7H[K[4;1H f,[4;7H[K[5;1H g,[5;8H[K[6;1H h,[6;7H[K[7;1H i;[7;7H[K[8;1HJSEND[9;1H[K[10;1H[K[11;1H/* start of define */
{[12;2H[K[13;1H}[13;5H[K[14;1H#define AAA \
BBB\
CCC[16;9H[K[17;5H[K[18;1H#define CNT \
1 + \
2 + \[20;11H[K[21;5H4
/* end of define */[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/start of AUTO/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test4.in" 34 lines, 960 characters[1;1HTest 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[13C" split to Xxx, autocmd will do :brew
G?this is a
othis should be auto-indented[34m^[[m
:[19C" Append text with autoindent to this file
:au! BufEnter Xxx
:buf Xxx[12C" go to Xxx, no autocmd anymore
G?this is a
othis should be in column 1[34m^[[m:wq " append text without autoindent to Xxx
G:r Xxx[13C" include Xxx in the current file
:set fo+=r[10C" issue #57 do not move cursor on <c-o> when autoindent is ss[21;1Het
Go# abcdef[34m^[[m2hi
[34m^O[md0[34m^[[mo# abcdef[34m^[[m2hi[34m^O[md0[34m^[[m:[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for autocommand that changes current buffer on BufEnter event.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 20 lines, 678 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:?startstart?,$w! test.out
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter Xxx brew
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hstart of
[?25l[1;23r[1;1H[2M[1;24r[22;1Hstartstart
start of test file Xxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h.,/end of/w! Xxx " write test file Xxx
[?25l"Xxx" [24;7H[K[24;7H[New] 7L, 124C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ai modeline modelines=3
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx " split to Xxx, autocmd will do :brew
[?25l"Xxx" [24;7H[K[24;7H7L, 124C[1;1HTest for autocommand that changes current buffer on BufEnter event.
Check if modelines are interpreted for the correct buffer.[3;1H[K[4;1HSTARTTEST[4;10H[K[5;3Ho small.vim[5;21H[K[6;1H:set nocompatible viminfo+=nviminfo
:au BufEnter Xxx brew[7;22H[K[8;1H/start of[8;21H[K[9;2H.,/end of/w![7C" write test file Xxx
:set ai modeline modelines=3[10;29H[K[11;1H:sp Xxx [9C" split to Xxx, autocmd will do :brew
[1m[7mtest4.in [m[13;1H:set fo+=r[13Cssue #57 do not move cursor on <c-o> when autoindent is ss[14;1Het[14;3H[K[15;1HGo# abcdef[34m^[[m2hi
[34m^O[md0[34m^[[mo# abcdef[34m^[[m2hi[34m^O[md0[34m^[[m:
:?startstart?,$w! test.out[17;27H[K[18;2Hqa![18;5H[K[19;1HENDTEST[20;1H[K[21;1Hstartstart[22;6H of test file Xxx
[7mtest4.in [m[24;2Htest4.in" line 1 of 34 --2%-- col 1[1;1H[?12l[?25h[?25l:qa![1;6H[K[2;1HENDTEST[2;8H[K[4;1Hstartstart
start of test file Xxx
vim: set noai :[6;16H[K[7;1H this is a test
this is a test
this is a test[9;23H[K[10;1H this is a test[10;23H[K[11;1Hend of test file Xxx[11;21H[K[11;1H[?12l[?25h[?25l[24;1H[K[24;1H?[?12l[?25hthis is a
[?25l[10;9H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;1H[K[11;1H this should be auto-indented[12;10H[1m[7m[+][m[23;10H[7m[+][11;36H[?12l[?25h[?25l[1;11r[m[11;1H
[1;24r[11;1Hend of test file Xxx[?12l[?25h[?25l[24;1H:[?12l[?25h " Append text with autoindent to this file
[?25l[11;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau! BufEnter Xxx
[?25l[11;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbuf Xxx " go to Xxx, no autocmd anymore
[?25l"Xxx" [24;7H[K[24;7H7L, 124C[1;1Hstart of test file Xxx
vim: set noai :
this is a test
this is a test
this is a test
end of test file Xxx[7;21H[K[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxxt [1;1H[?12l[?25h[7;1H[?25l[m[24;1H[K[24;1H?[?12l[?25hthis is a
[?25l[6;9H[?12l[?25h[?25l[24;1H[1m-- INSERT --[m[24;1H[K[7;11r[7;1H[L[1;24r[7;1Hthis should be in column 1[12;5H[1m[7m[+][7;26H[?12l[?25h[?25l[24;1H[m:[?12l[?25hwq " append text without autoindent to Xxx
[?25l"Xxx[24;7H[K[24;7H8L, 151C written[1;1H:au BufEnter Xxx brew[1;22H[K[2;1H/start of[2;10H[K[3;1H:.,/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[6;12H[K[7;1Hothis should be auto-indented[34m^[[m
: " Append text with autoindent to this file
:au! BufEnter Xxx[9;18H[K[10;1H:buf Xxx " go to Xxx, no autocmd anymore[10;52H[K[11;1HG?this is a[11;12H[K[12;1Hothis should be in column 1[34m^[[m:wq " append text without autoindent to Xxx[12;73H[K[13;1HG:r Xxx [13Cnclude Xxx in the current file[13;55H[K[14;1H:set fo+=r[10C" issue #57 do not move cursor on <c-o> when autoindent is ss[15;1Het[15;3H[K[16;1HGo# abcdef[34m^[[m2hi[16;16H[K[17;1H[34m^O[md0[34m^[[mo# abcdef[34m^[[m2hi[34m^O[md0[34m^[[m:
:?startstart?,$w! test.out
:qa![19;5H[K[20;1HENDTEST[21;1H[K[22;6Hstar[22;11H[K[23;1Hstart of test file Xxx[23;23H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[7M[1;24r[17;1Hvim: set noai :[18;9Hthis is a test[19;9Hthis is a test[20;9Hthis is a test[21;9Hthis is a test[22;9Hthis should be auto-indented
end of test file Xxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hr Xxx " include Xxx in the current file
[?25l"Xxx" [24;20H[K[24;7H8L, 151C[1;23r[23;1H
[1;24r[23;1Hstart of test file Xxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset fo+=r " issue #57 do not move cursor on <c-o> when autoindent is
[23;80Hs[24;1Het
[?25l[1;1H[L[1;1H:au! BufEnter Xxx[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[7M[1;24r[17;1Hvim: set noai :[18;9Hthis is a test[19;9Hthis is a test[20;9Hthis is a test[21;9Hthis is a test
this should be in column 1
end of test file Xxx
[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1H# abcdef[?12l[?25h[?25l
[1m-- INSERT --
-- (insert)- --[1;23r[m[23;1H
[1;24r[22;6H[K[23;1H# def[?12l[?25h[?25l[24;4H[1mINSERTt --[m[24;13H[K[23;1Hdef[23;4H[K[23;1Ho[?12l[?25hd[24;1H[K[?25l[23;1H[?12l[?25h[?25l
[1m-- INSERT --[m[24;1H[K[1;23r[23;1H
[1;24r[23;1H# abcdef[?12l[?25h[?25l
[1m-- INSERT --
-- (insert)- --[23;6H[?12l[?25h[?25l
-- INSERTt --[m[24;13H[K[23;1Hdef[23;4H[K[23;1H:[?12l[?25hd[24;1H[K[?25l[23;1H[?12l[?25h[?25l
:[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?startstart?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 20L, 330C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test5.in" 29 lines, 949 characters[1;1HTest 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[15C" write test file Xxx
:sp Xxx[25C" split to Xxx
:bwipe[26C" delete buffer Xxx, now we're back here
G?this is a
othis is some more text[34m^[[m
:[31C" Append some text to this file
:?start?,$w! test.out[11C" Write current file contents
:bwipe test.out[17C" delete alternate buffer
:au bufleave test5.in bwipe
:bwipe![25C" delete current buffer, get an empty one
ithis is another test line[34m^[[m:w >>test.out
:[31C" append an extra line to the output file
:qa!
ENDTEST
start of test file Xxx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for autocommand that deletes the current buffer on BufLeave event.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 16 lines, 664 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufLeave Xxx bwipe
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hstart of
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx " write test file Xxx
[?25l"Xxx" [24;7H[K[24;7H[New File] 7 lines, 124 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx " split to Xxx
[?25l"Xxx" [24;7H[K[24;7H7 lines, 124 characters[1;1Hstart of test file Xxx[1;23H[K[2;1Hvim: set noai :[2;16H[K[3;9Hthis is a test
this is a test
this is a test
this is a test
end of test file Xxx
[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxx [m[13;2H?start?,$w! test.out[13CWrite current file contents[13;62H[K[14;2Hbwipe test.out [13Cdelete alternate buffer[14;58H[K[15;2Hau bufleave test5.in bwipe[15;33H[K[16;2Hbwipe! " delete current buffer, get an empty one
ithis is another test line[34m^[[m:w >>test.out[17;42H[K[18;1H: " append an extra line to the output file
:qa![19;33H[K[20;1HENDTEST[21;1H[K[22;1Hstart of test file Xxx
[7mtest5.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbwipe " delete buffer Xxx, now we're back here
[?25l[1;1HTest for autocommand that deletes the current buffer on BufLeave event.
Also test deleting the last buffer, should give a new, empty buffer.[3;9H[K[4;1HSTARTTEST[4;10H[K[5;1H:so small.vim[5;14H[K[6;1H:au BufLeave Xxx bwipe
/start of[7;10H[K[8;1H:.,/end of/w! Xxx " write test file Xxx[8;54H[K[9;1H:sp Xxx " split to Xxx[9;47H[K[10;1H:bwipe " delete buffer Xxx, now we're back here[10;73H[K[11;1HG?this is a[11;12H[K[12;1Hothis is some more text[34m^[[m[12;26H[K[13;2H [13CAppend some text to this file
:?start?,$w! test.out[13CWrite current file contents
:bwipe test.out " delete alternate buffer
:au bufleave test5.in bwipe[16;33H[K[17;1H:bwipe! " delete current buffer, get an empty one
ithis is another test line[34m^[[m:w >>test.out[18;42H[K[19;2H [28C" append an extra line to the output file
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1Hstart of test file Xxx[23;23H[K[24;1H"test5.in" line 23 of 29 --79%-- col 1[24;39H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[6M[1;24r[18;1Hvim: set noai :[19;9Hthis is a test[20;9Hthis is a test[21;9Hthis is a test[22;9Hthis is a test
end of test file Xxx[24;1H[K[23;1H[?12l[?25h[?25l
?[?12l[?25hthis is a
[?25l[22;9H[?12l[?25h[?25l
this is some more text[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hend of test file Xxx[24;1H[K[23;20H[?12l[?25h[?25l
:[?12l[?25h " Append some text to this file
[?25l[23;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?start?,$w! test.out " Write current file contents
[?25l"test.out" [24;12H[K[24;12H[New File] 8 lines, 147 characters written[23;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe test.out " delete alternate buffer
[?25l[23;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau bufleave test5.in bwipe
[?25l[23;20H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe! " delete current buffer, get an empty one
[?25l[1m[37m[41mError detected while processing BufLeave Auto commands for "test5.in":[m[24;71H[K[24;1H
[1m[37m[41mE89: No write since last change for buffer 1 (add ! to override)[m
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[2L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25lthis is another test line[?12l[?25h[?25l[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 26 characters appended[1;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h " append an extra line to the output file
[?25l[1;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test7.in" 26 lines, 675 characters[1;1HTest for autocommand that changes the buffer list, when doing ":ball".
STARTTEST
:so small.vim
/^start of
A1[34m^[[m:.,/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[17C" open window for all args, close Xxx2
:.,$w! test.out[10C" Write contents of this file
[34m^W^W[m:w >>test.out[8C" Append contents of second window (Xxx1)
[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa!
ENDTEST
start of test file Xxx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 508 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of
[?25l[23;1H[?12l[?25h[?25l[22C1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx1 " write test file Xxx1
[?25l"Xxx1" [24;9H[K[24;8H[New File] 4 lines, 77 characters written[23;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx1
[?25l"Xxx1" [24;8H[K[24;8H4 lines, 77 characters[1;1Hstart of test file Xxx1[1;24H[K[2;9Hthis is a test
this is a test
end of test file Xxx
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxx1 [m[13;2Hclose[13;7H[K[14;2Hau BufReadPost Xxx2 bwipe
$r4:ball " open window for all args, close Xxx2
:.,$w! test.out[12CWrite contents of this file[16;55H[K[17;1H[34m^W^W[m:w >>test.out[10CAppend contents of second window (Xxx1)[18;6H/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![19;5H[K[20;1HENDTEST[21;1H[K[22;1Hstart of test file Xxx1
[7mtest7.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[2;9H[K[3;1HSTARTTEST[3;10H[K[4;1H:so small.vim[4;14H[K[5;1H/^start of[5;11H[K[6;1HA1[34m^[[m:.,/end of/w! Xxx1 " write test file Xxx1[6;48H[K[7;1H:sp Xxx1[7;9H[K[8;1H:close[8;7H[K[9;1H$r2:.,/end of/w! Xxx2 " write test file Xxx2[9;48H[K[10;1H:sp Xxx2[10;9H[K[11;1H:close[11;7H[K[12;1H$r3:.,/end of/w! Xxx3 " write test file Xxx3[12;48H[K[13;2Hsp Xxx3
:close[14;7H[K[15;1H:au BufReadPost Xxx2 bwipe[15;28H[K[16;1H$r4:ball [12Copen window for all args, close Xxx2
:.,$w! test.out [10CWrite contents of this file[17;55H[K[18;6Hw >>test.out " Append contents of second window (Xxx1)[18;67H[K[19;1H[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1Hstart of test file Xxx1[23;24H[K[23;23H[?12l[?25h[?25l2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx2 " write test file Xxx2
[?25l"Xxx2" [24;9H[K[24;8H[New File] 4 lines, 77 characters written[23;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx2
[?25l"Xxx2" [24;8H[K[24;8H4 lines, 77 characters[1;1Hstart of test file Xxx2[1;24H[K[2;9Hthis is a test
this is a test
end of test file Xxx
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxx2 [m[13;2Hclose[13;7H[K[14;2Hau BufReadPost Xxx2 bwipe
$r4:ball " open window for all args, close Xxx2
:.,$w! test.out[12CWrite contents of this file[16;55H[K[17;1H[34m^W^W[m:w >>test.out[10CAppend contents of second window (Xxx1)[18;6H/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![19;5H[K[20;1HENDTEST[21;1H[K[22;1Hstart of test file Xxx2
[7mtest7.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[2;9H[K[3;1HSTARTTEST[3;10H[K[4;1H:so small.vim[4;14H[K[5;1H/^start of[5;11H[K[6;1HA1[34m^[[m:.,/end of/w! Xxx1 " write test file Xxx1[6;48H[K[7;1H:sp Xxx1[7;9H[K[8;1H:close[8;7H[K[9;1H$r2:.,/end of/w! Xxx2 " write test file Xxx2[9;48H[K[10;1H:sp Xxx2[10;9H[K[11;1H:close[11;7H[K[12;1H$r3:.,/end of/w! Xxx3 " write test file Xxx3[12;48H[K[13;2Hsp Xxx3
:close[14;7H[K[15;1H:au BufReadPost Xxx2 bwipe[15;28H[K[16;1H$r4:ball [12Copen window for all args, close Xxx2
:.,$w! test.out [10CWrite contents of this file[17;55H[K[18;6Hw >>test.out " Append contents of second window (Xxx1)[18;67H[K[19;1H[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1Hstart of test file Xxx2[23;24H[K[23;23H[?12l[?25h[?25l3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx3 " write test file Xxx3
[?25l"Xxx3" [24;9H[K[24;8H[New File] 4 lines, 77 characters written[23;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xxx3
[?25l"Xxx3" [24;8H[K[24;8H4 lines, 77 characters[1;1Hstart of test file Xxx3[1;24H[K[2;9Hthis is a test
this is a test
end of test file Xxx
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXxx3 [m[13;2Hclose[13;7H[K[14;2Hau BufReadPost Xxx2 bwipe
$r4:ball " open window for all args, close Xxx2
:.,$w! test.out[12CWrite contents of this file[16;55H[K[17;1H[34m^W^W[m:w >>test.out[10CAppend contents of second window (Xxx1)[18;6H/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![19;5H[K[20;1HENDTEST[21;1H[K[22;1Hstart of test file Xxx3
[7mtest7.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1HTest for autocommand that changes the buffer list, when doing ":ball".[2;9H[K[3;1HSTARTTEST[3;10H[K[4;1H:so small.vim[4;14H[K[5;1H/^start of[5;11H[K[6;1HA1[34m^[[m:.,/end of/w! Xxx1 " write test file Xxx1[6;48H[K[7;1H:sp Xxx1[7;9H[K[8;1H:close[8;7H[K[9;1H$r2:.,/end of/w! Xxx2 " write test file Xxx2[9;48H[K[10;1H:sp Xxx2[10;9H[K[11;1H:close[11;7H[K[12;1H$r3:.,/end of/w! Xxx3 " write test file Xxx3[12;48H[K[13;2Hsp Xxx3
:close[14;7H[K[15;1H:au BufReadPost Xxx2 bwipe[15;28H[K[16;1H$r4:ball [12Copen window for all args, close Xxx2
:.,$w! test.out [10CWrite contents of this file[17;55H[K[18;6Hw >>test.out " Append contents of second window (Xxx1)[18;67H[K[19;1H[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1Hstart of test file Xxx3[23;24H[K[23;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPost Xxx2 bwipe
[?25l[23;23H[?12l[?25h[?25l4[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hball " open window for all args, close Xxx2
[?25l"Xxx1"[24;23H[K[24;8H4 lines, 77 characters
"Xxx2" 4 lines, 77 characters
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.,$w! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 4 lines, 77 characters written
[32mPress ENTER or type command to continue[?12l[?25h[27m[23m[m[H[2J[?25l[1;1H:close
:au BufReadPost Xxx2 bwipe
$r4:ball[17C" open window for all args, close Xxx2
:.,$w! test.out[10C" Write contents of this file
[34m^W^W[m:w >>test.out[8C" Append contents of second window (Xxx1)
[34m^W^W[m:/^start of/,$w >>test.out " Append contents of last window (this file)
:qa!
ENDTEST
start of test file Xxx4
[1m[7mtest7.in [+] [m[12;1Hstart of test file Xxx1[13;9Hthis is a test[14;9Hthis is a test
end of test file Xxx
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mXxx1 [10;23H[?12l[?25h
test7.in [+][m[1m[7m [m[7m [m[23;1H[1m[7mXxx1 [12;1H[?25l[24;1H[m:[?12l[?25hw >>test.out " Append contents of second window (Xxx1)
[?25l"test.out" [24;12H[K[24;12H4 lines, 77 characters appended[12;1H[?12l[?25h[11;1H[1m[7mtest7.in [+] [m[23;1H[7mXxx1[m[1m[7m [m[7m [10;23H[?25l[m[24;1H[K[24;1H:[?12l[?25h/^start of/,$w >>test.out " Append contents of last window (this file)
[?25l[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[24;1H"test.out" [24;12H[K[24;12H4 lines, 77 characters appended[10;23H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test8.in" 46 lines, 1236 characters[1;1HTest 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[34m^[[m:.,/end of/w! Xxx1 " write test file Xxx1
$r2:.,/end of/w! Xxx2 " write test file Xxx2
:e! Xxx2[16C" edit Xxx2
:bdel test8.in[10C" delete this file from the buffer list
:e Xxx1[17C" edit Xxx1
:w[22C" write it, will unload it and give an error msg
:w! test.out[12C" Write contents of this file
:e! Xxx2[16C" start editing Xxx2
:bwipe test.out[9C" remove test.out from the buffer list
:w[22C" write it, will delete the buffer and give an error msg[19;1H:w >>test.out[11C" Append contents of this file
:au! BufWritePre
:func CloseAll()
let i = 0
while i <= bufnr('$')[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for BufWritePre autocommand that deletes or unloads the buffer.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 37 lines, 1054 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[19M[1;24r[5;5Hif i != bufnr('%') && bufloaded(i)[6;7Hexe 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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufWritePre Xxx1 bunload
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufWritePre Xxx2 bwipe
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of
[?25l[1;23r[23;1H
[1;24r[23;1Hstart of Xxx[24;1H[K[23;1H[?12l[?25h[?25l[12C1[?12l[?25h[?25l
:[?12l[?25h.,/end of/w! Xxx1 " write test file Xxx1
[?25l"Xxx1" [24;9H[K[24;8H[New File] 3 lines, 31 characters written[23;13H[?12l[?25h[?25l2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/end of/w! Xxx2 " write test file Xxx2
[?25l"Xxx2" [24;9H[K[24;8H[New File] 3 lines, 31 characters written[23;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xxx2 " edit Xxx2
[?25l"Xxx2" [24;8H[K[24;8H3 lines, 31 characters[1;1Hstart of Xxx2
test[2;14H[K[3;1Hend of Xxx[3;11H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbdel test8.in[34m^I^I[m" delete this file from the buffer list
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xxx1 " edit Xxx1
[?25l"Xxx1" [24;25H[K[24;8H3 lines, 31 characters[1;13H1
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw " write it, will unload it and give an error msg
[?25l"Xxx2"[24;25H[K[24;8H3 lines, 31 characters
[1m[37m[41mE203: Autocommands deleted or unloaded buffer to be written[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 3 lines, 31 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he! Xxx2 " start editing Xxx2
[?25l"Xxx2" [24;8H[K[24;8H3 lines, 31 characters[1;1H[3L[1;1Hstart of Xxx2[2;9Htest
end of Xxx[24;1H[K[24;1H"Xxx2" 3 lines, 31 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe test.out " remove test.out from the buffer list
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw " write it, will delete the buffer and give an error ms
[23;80Hg[24;1H[?25l[23;1H"Xxx1"[23;25H[K[23;8H3 lines, 31 characters
[1m[37m[41mE203: Autocommands deleted or unloaded buffer to be written[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out " Append contents of this file
[?25l"test.out" [24;12H[K[24;12H3 lines, 31 characters appended
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau! BufWritePre
[?25l[1;1H[3L[1;1Hstart of Xxx1[2;9Htest
end of Xxx[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[8L[?25l[1;1Hstart of Xxx1[2;9Htest
end of Xxx
[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfunc WriteToOut()
[?25l
: [?12l[?25h edit! test.out
[?25l: [?12l[?25h $put ='VimLeave done'
[?25l: [?12l[?25h write
[?25l: [?12l[?25hendfunc
[1;1H[4L[?25l[1;1Hstart of Xxx1[2;9Htest
end of Xxx
[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset viminfo='100,nviminfo
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufUnload * call CloseAll()
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau VimLeave * call WriteToOut()
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he small.vim
[?25l[1m[37m[41mError detected while processing function CloseAll:[m
[33mline 4:[m
[1m[37m[41mE16: Invalid range: 0bunload[m
"small.vim" 1 line, 1 character
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsp mbyte.vim
[?25l"mbyte.vim" [24;13H[K[24;13H0 lines, 0 characters[1;1H[4L[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[12;1H[1m[7mmbyte.vim [m[13;1H[K[23;1H[7msmall.vim [m[24;1H[K[24;1H"mbyte.vim" 0 lines, 0 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq
[?25l[1m[37m[41mError detected while processing function CloseAll:[m
[33mline 4:[m
[1m[37m[41mE16: Invalid range: 0bunload
[m
"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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test9.in" 12 lines, 255 characters[1;1HTest 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
[1m[34m~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for Bufleave autocommand that deletes the buffer we are about to edit.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 117 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufLeave test9.in bwipe yy
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he yy
[?25l[1m[37m[41mE143: Autocommands unexpectedly deleted new buffer yy[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h/^start of/,$w! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 2 lines, 42 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test14.in" 99 lines, 1606 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for "vaBiB", end could be wrong.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 56 lines, 1141 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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):[15;9H{[16;17Hcmd;[17;17H{[18;25Hcmd; /* <-- Start cursor here */[19;25H{[20;25H}[21;17H}[22;9H}[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hStart cursor here
[?25l[18;40H[?12l[?25h[?25l[?12l[?25h[?25l[17;17H[7m{
cmd; /* <-- Start cursor here */
{
}
[?12l[?25h[?25l[16;1H cmd;
[21;17H}[?12l[?25h[?25l[m
6 fewer lines[24;15H[K[16;1H }[16;10H[K[17;1H[K[18;1HPiece of Java[18;14H[K[19;1H{[19;2H[K[20;1H tt m1 {[20;16H[K[21;1H t1;[22;11He1[16;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?Bug?,/Piece/-2w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 3 lines, 44 characters written[16;9H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^- Bug
[?25l[31msearch hit BOTTOM, continuing at TOP[14;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hs/u/~u~/
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hs/i/~u~/
[?25l[14;7Huuun "vPPPP" on this text (Webb):
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hs/o/~~~/
[?25l[14;20Huuuuuuuuun this text (Webb):
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 48 characters appended[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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>
[23;80H"[24;1H
[?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
[1;1H[5L[?25l[1;1H:$put =@/
/^substitute
:keeppatterns s/asdf/xyz/
:$put =@/
/^substitute[24;1H[K[14;1H[?12l[?25h[?25l[24;1H:[?12l[?25hexe "normal " . tt
[?25l[15;23r[15;1H[L[1;24r[15;1HABC !a[34m^O[mg[34m^G[m8[24;1H[K[15;12H[?12l[?25h[?25l[24;1H:[?12l[?25hunlet tt
[?25l[15;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[15;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset vb
[?25l[15;12H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Piece
[?25l[19;1H[?12l[?25h[21;15H[?25l{A[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 10 characters appended[21;16H[?12l[?25h[22;16H[?25l[1;23r[1;1H[2M[1;24r[23;9Htt m2 {[24;1H[K[23;15H[?12l[?25h[?25l{B[?12l[?25h[?25l
:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 10 characters appended[23;16H[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[20;17Ht2;[21;9H} e2[23;9Htt m3 {[24;1H[K[23;15H[?12l[?25h[?25l{C[?12l[?25h[?25l
:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 10 characters appended[23;16H[?12l[?25h[?25l{DC[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[23;16H[?12l[?25h[22;1H[15;15H[?25l{EA[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[15;16H[?12l[?25h[14;1H[?25l{F[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 3 characters appended[14;2H[?12l[?25h[17;9H[?25l}G e1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 7 characters appended[17;10H[?12l[?25h
[?25l[1;23r[1;1H[5M[1;24r[19;17Hif (x)[20;17H{[21;25Ht3;[22;17H}[23;9H} e3[24;1H[K[23;9H[?12l[?25h[?25l}H e3[?12l[?25h[?25l
:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 7 characters appended[23;10H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[24;1H[K[23;1H[?12l[?25h[?5h[?5l[?25l}I[?12l[?25h[?25l
:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 3 characters appended[23;2H[?12l[?25h[22;9H[?25l}JH e3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 8 characters appended[22;10H[?12l[?25h[21;16H[15;9H[?25l}K e2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 7 characters appended[15;10H[?12l[?25h[8;1H[?25l{LF[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 4 characters appended[8;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[8;2H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^foobar
[?25l[1;23r[1;1H[2M[1;24r[23;1Hfoobar[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet startline = line('.')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall search('foobar', 'c')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcall search('^$', 'c')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall search('^$', 'bc')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), line('.') - startline)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25htwo
[?25l[1;23r[1;1H[3M[1;24r[21;1Hsubstitute foo asdf
one two[24;1H[K[23;5H[?12l[?25h[?25l
:[?12l[?25hcall search('.', 'c')
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), getline('.')[col('.') - 1:])
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^substitute
[?25l[31msearch hit BOTTOM, continuing at TOP[21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hs/foo/bar/
[?25l[21;12Hbar
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =@/
[?25l[1;23r[1;1H[6M[1;24r[18;1Hsearch()
0
1
1
two
foo[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^substitute
[?25l[31msearch hit BOTTOM, continuing at TOP[15;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hkeeppatterns s/asdf/xyz/
[?25l[15;16Hxyz[15;19H[K[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =@/
[?25l[1;23r[23;1H
[1;24r[23;1H^substitute[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^substitute
[?25l[31msearch hit BOTTOM, continuing at TOP[14;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =@0
[?25l[1;23r[23;1H
[1;24r[23;1Hsubstitute bar xyz[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25hbar /e
[?25l[23;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =@0
[?25l[1;23r[23;1H
[1;24r[23;1Hsubstitute bar xyz[24;1H[K[23;1H[?12l[?25h[22;1H[?25l
:[?12l[?25hkeeppatterns /xyz
[?25l[23;1H[?12l[?25h[?25l
/bar /e[24;8H[K[24;1H[23;1Hxyz[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^search()/,$w >>test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H9 lines, 58 characters appended[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test15.in" 136 lines, 2246 characters[1;1HTests 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[34m^R[m
:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
/^aa
ggu
:?test for :left?,$w! test.out
:qa!
ENDTEST[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :right on text with embedded TAB.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 401 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=65
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;9Htest for :left[24;1H[K[23;8H[?12l[?25h[?25l
:[?12l[?25h/^\s*test for :left/,/^\s*test for :center/ left
[?25l[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[23;1Htest for :left[23;15H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^\s*test for :center/,/^\s*test for :right/ center
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^\s*test for :right/,/^xxx/-1 right
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fo+=tcroql tw=72
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hxxxxxxxx$
[?25l[27m[23m[m[H[2J[1;40Hasxa;ofa[9Caxxxoike[2;39Hasdfaqwer[9Caxxxoike[3;47Ha[9Caxxxoikey[4;46Hfa[9Caxxxoikey[5;45Hdfa[9Caxxxoikey[6;44Hsdfa[9Caxxxoikey[7;43Hasdfa[9Caxxxoikey[8;42Hxasdfa[9Caxxxoikey[9;41Hasxxdfa[9Caxxxoikey[10;40Hasxa;ofa[9Caxxxoikey[11;39Hasdfaqwer[9Caxxxoikey
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[19;50H[?12l[?25h
[?25l[13;23r[23;1H
[1;24r[13;6H xx xxxxxx xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx[14;62Hxx xxxxxxx.
xxxx xxxx.[15;11H[K[17;65Hxxxxxx[18;9Hx: xxxx xxxxxxx, xx xxxx[7C xxxxxxx[18;51H[K[23;1H[1m[34m~ [18;1H[?12l[?25h[17;1H
[?25l[24;1H[m:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" undo/redo here to make the next undo only work on the following changes
[?25l[18;1H[?12l[?25h[?25l[24;1H1 more line; before #1 0 seconds ago[24;38H[K[27m[23m[m[H[2J[1;1H0gq6kk
:set nocp viminfo+=nviminfo
:" undo/redo here to make the next undo only work on the following changes
u[34m^R[m
:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
/^aa
ggu
:?test for :left?,$w! test.out
:qa!
ENDTEST[12;9Htest for :left[13;11Ha[13Ca[14;13Hfa[10Ca[15;11Hdfa[11Ca[16;17Hsdfa[12Ca[17;11Hasdfa[9Ca[18;17Hxasdfa[10Ca
asxxdfa[9Ca[21;9Htest for :center[22;11Ha[13Ca[23;13Hfa[10Cafd asdf[12;8H[?12l[?25h[?25l[24;1H1 line less; after #1 0 seconds ago[12;1Htest for :left[12;15H[K[13;1Ha[9C a[13;25H[K[14;1Hfa[10C a[14;25H[K[15;1Hdfa[7C a[15;25H[K[16;1Hsdfa[12Ca[16;18H[K[17;1Hasdfa a[17;25H[K[18;1Hxasdfa[10Ca[18;18H[K[21;9H test for :center[22;11H [13C a[14Ca[23;13H [8Cfa [8Cafd asdf[12;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hmap gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^aa
[?25l[27m[23m[m[H[2J[1;41Hasxxdfa[9Caxxxoike[2;40Hasxa;ofa[9Caxxxoike[3;39Hasdfaqwer[9Caxxxoike[4;47Ha[9Caxxxoikey[5;46Hfa[9Caxxxoikey[6;45Hdfa[9Caxxxoikey[7;44Hsdfa[9Caxxxoikey[8;43Hasdfa[9Caxxxoikey[9;42Hxasdfa[9Caxxxoikey[10;41Hasxxdfa[9Caxxxoikey[11;40Hasxa;ofa[9Caxxxoikey[12;39Hasdfaqwer[9Caxxxoikey
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[21;1H[?12l[?25h[?25l
:.,.+2s/^/x/
3 substitutions on 3 lines[21;1Hxaa aa aa aa
xbb bb bb bb
xcc cc cc cc
[?12l[?25h[22;1H[21;1H[?25l[24;1H[K[24;1H:set tw=3
[21;1H[?12l[?25h[?25l
3 more lines[1;23r[23;1H
[1;24r[20;5H[K[21;1Haa[21;3H[K[22;1Haa[22;3H[K[23;1Haa[24;1H[K[24;1H3 more lines[23;1H[?12l[?25h[?25l
3 fewer lines; before #2 0 seconds ago[20;1Haa aa aa aa
bb bb bb bb
cc cc cc cc
[1m[34m~ [20;1H[?12l[?25h
[?25l[m[24;1H[K[24;1H:[?12l[?25h?test for :left?,$w! test.out
[?25l"test.out"[24;12H[K[24;12H[New] 111L, 2304C written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test19.in" 33 lines, 692 characters[1;1HTests 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=[34m^V[mx7f t_kb=[34m^V[mx08
/some
r[7C:set noexpandtab
/other
r
:" Test replacing with Tabs and then backspacing to undo it
0wR[21C[34m^H^H^H^[[m
:" Test replacing with Tabs
0wR[21C[34m^[[m
:" Test that copyindent works with expandtab set
:set expandtab smartindent copyindent ts=8 sw=8 sts=8
o{
x[34m^[[m:set nosol
/Second line/
fwdv_:?^start?,$w! test.out
:qa![1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 19 lines, 447 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[23;1H
[1;24r[23;1HENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset smarttab expandtab ts=8 sw=4
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make sure that backspace works, no matter what termcap is used
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset t_kD=^[34m^?[m t_kb=^[34m^H
[?25l[27m[23m[m[H[2J[2;1HSTARTTEST
:so small.vim
:set smarttab expandtab ts=8 sw=4
:" make sure that backspace works, no matter what termcap is used
:set t_kD=[34m^V[mx7f t_kb=[34m^V[mx08
/some
r[7C:set noexpandtab
/other
r
:" Test replacing with Tabs and then backspacing to undo it
0wR[21C[34m^H^H^H^[[m
:" Test replacing with Tabs
0wR[21C[34m^[[m
:" Test that copyindent works with expandtab set
:set expandtab smartindent copyindent ts=8 sw=8 sts=8
o{
x[34m^[[m:set nosol
/Second line/
fwdv_:?^start?,$w! test.out
:qa!
ENDTEST
[?12l[?25h[?25l
/[?12l[?25hsome
[?25l[1;23r[1;1H[2M[1;24r[22;1Hstart text[23;17Hsome test text[24;1H[K[23;17H[?12l[?25h[?25l ome test text[23;20H[?12l[?25h[?25l
:[?12l[?25hset noexpandtab
[?25l[23;20H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hother
[?25l[1;23r[1;1H[2M[1;24r[22;1Htest text[23;17Hother test text[24;1H[K[23;17H[?12l[?25h[?25l ther test text[23;20H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Ha cde[?12l[?25h[?25l
:[?12l[?25h" Test replacing with Tabs and then backspacing to undo it
[?25l[23;9H[?12l[?25h
[?25l[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hf ghi[24;1H[K[23;4H[?12l[?25h[?25l
:[?12l[?25h" Test replacing with Tabs
[?25l[23;4H[?12l[?25h
[?25l [7Chi[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest text[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25h" Test that copyindent works with expandtab set
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset expandtab smartindent copyindent ts=8 sw=8 sts=8
[?25l[23;9H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1H{[23;9Hx[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25hset nosol
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hSecond line/
[?25l[24;13H[K[24;1H[1;23r[23;1H
[1;24r[23;3HSecond line beginning with whitespace[24;1H[K[23;3H[?12l[?25h[22C[?25l
with whitespace[23;18H[K[23;3H[?12l[?25h[?25l
:[?12l[?25h?^start?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 10 lines, 121 characters written[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test20.in" 28 lines, 398 characters[1;1HTests 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$[34m^V[mjjlld
/456$
[34m^V[mjj"bP
:/56$/,$-1w! test.out
:qa!
ENDTEST
123456
234567
345678
test text test tex start here[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests Blockwise Visual when there are TABs before the text.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 11 lines, 107 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso tiny.vim
[?25l[18;1H[?12l[?25h[?25l[1;23r[1;1H[5M[1;24r[19;17Hsome text[20;17Htest text
test text
Ox[34m^[[mjAy[34m^[[mkdd[24;1H[K[23;1H[?12l[?25h[22;1H[?25lx[23;1H[K[22;1H[?12l[?25h
[?25ly[?12l[?25h[22;1H[?25ly
Ox[34m^[[mjAy[34m^[[mkdd[22;1H[?12l[?25h[?25l
2 changes; before #1 0 seconds ago[22;1H[K[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1H123456
234567
345678[16;1H[K[17;1Htest text test tex start here
some text[18;26H[K[19;17Htest
test text[20;17H[K[21;1H[K[22;1HOx[34m^[[mjAy[34m^[[mkdd
[7mtest20.in [1;1H[?12l[?25h[?25l[1;11r[m[1;1H[L[1;24r[1;1Hx[12;11H[1m[7m[+][m[24;1H[K[1;1H[?12l[?25h
[?25ly[?12l[?25h[1;1H[?25l[1;11r[11;1H
[1;24r[11;1H[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H1 line less; before #1 0 seconds ago[1;1H[K[12;11H[1m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hquit!
[?25l[1;1H:so tiny.vim
G0"ay$k@au[2;11H[K[3;1H:new[3;5H[K[4;1H@auY:quit![4;11H[K[5;1HGP[5;3H[K[6;1H/start here$[6;13H[K[7;1H"by$[34m^V[mjjlld[7;12H[K[8;1H/456$[8;6H[K[9;1H[34m^V[mjj"bP[9;8H[K[10;1H:/56$/,$-1w! test.out[10;22H[K[11;1H:qa![11;5H[K[12;1HENDTEST[12;8H[K[13;1H[K[14;1H123456
234567
345678[17;1H[K[18;1Htest text test tex start here[19;17Hsome
[7Ctest text
test text[22;1H[K[23;1HOx[34m^[[mjAy[34m^[[mkdd[23;13H[K[23;1H[?12l[?25h[?25l[23;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HOx[34m^[[mjAy[34m^[[mkdd[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25hstart here$
[?25l[31msearch hit BOTTOM, continuing at TOP[17;20H[?12l[?25h[?25l[?12l[?25h[?25l[m[7ms[18;20H[?12l[?25h[?25le[19;20H[?12l[?25h[?25l[17;21Ht[18;21H [19;20Ht[?12l[?25h[?25l[17;22Ha[18;22Ht[19;21H [?12l[?25h[?25l[m[17;20Hrt here[17;27H[K[18;20Hext[18;23H[K[19;20Hex[19;23H[K[17;20H[?12l[?25h[18;20H[?25l[24;1H[K[24;1H/[?12l[?25h456$
[?25l[31msearch hit BOTTOM, continuing at TOP[13;4H[?12l[?25h[?25l[?12l[?25h[?25l[m[7m4
[m234[?12l[?25h[?25l[7m5
[m345[?12l[?25h[?25l[?12l[?25h[?25l[13;4Hstart here56
234start here67
345start here78[13;13H[?12l[?25h[14;13H[?25l[24;1H[K[24;1H:[?12l[?25h/56$/,$-1w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 10 lines, 106 characters written[14;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test22.in" 13 lines, 197 characters[1;1HTests for file with some lines ending in CTRL-M, some not[34m^M
^M[m
STARTTEST
:set ta tx
:e!
:$-3,$w! test.out
:qa!
ENDTEST
this lines ends in a[34m^M[m
this one doesn't
this one does[34m^M[m
and the last one doesn't
[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for file with some lines ending in CTRL-M, some not[34m^M[m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 4 lines, 38 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ta tx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he!
[?25l"test22.in" 13 lines, 197 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$-3,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 4 lines, 79 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test23.in" 15 lines, 282 characters[1;1HTests 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
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for complicated + argument to :edit command[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 7 lines, 125 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$-1w! Xfile1
[?25l"Xfile1" [24;10H[K[24;10H[New File] 1 line, 8 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! Xfile2
[?25l"Xfile2" [24;10H[K[24;10H[New File] 1 line, 8 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w
[?25l"Xfile1" [24;10H[K[24;10H1 line, 8 characters
foo|bar
"Xfile1" 1 line, 11 characters written
"Xfile2" 1 line, 8 characters
foo/bar
"Xfile2" 1 line, 12 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 12 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfile1
[?25l"Xfile1" 1 line, 11 characters[1;1H[7L[1;1HfooPIPEbar
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[24;1H[K[24;1H"Xfile1" 1 line, 11 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >> test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test24.in" 89 lines, 1301 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with backslash and other special characters inside [][24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 51 lines, 519 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[2;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\x]
[?25l[15;6H[?12l[?25h[?25ltext test text[15;20H[K[15;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\t\]]
[?25l[16;8H[?12l[?25h[?25ltext test tex[16;20H[K[16;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[]y]
[?25l[17;11H[?12l[?25h[?25ltest text[17;20H[K[17;11H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\]]
[?25l[18;6H[?12l[?25h[?25ltext test text[18;20H[K[18;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[y^]
[?25l[19;13H[?12l[?25h[?25lst text[19;20H[K[19;13H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[$y]
[?25l[20;8H[?12l[?25h[?25lxt test text[20;20H[K[20;8H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\x61]
[?25l[21;7H[?12l[?25h[?25lext test text x61[21;25H[K[21;7H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\x60-\x64]
[?25l[22;7H[?12l[?25h[?25lext test text x60-x64[22;29H[K[22;7H[?12l[?25h[23;7H
[?25l[24;1H[K[24;1H/[?12l[?25h[\x785]
[?25l[23;6H[?12l[?25h[?25ltext test text x78 5[23;27H[K[23;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\o143]
[?25l[1;23r[23;1H
[1;24r[23;1Htestc text test text o143[24;1H[K[23;5H[?12l[?25h[?25l text test text o143[23;26H[K[23;5H[?12l[?25h[?25l
/[?12l[?25h[\o140-\o144]
[?25l[1;23r[23;1H
[1;24r[23;1Htesdt text test text o140-o144[24;1H[K[23;4H[?12l[?25h[?25lt text test text o140-o14[23;31H[K[23;4H[?12l[?25h[?25l
/[?12l[?25h[\o417]
[?25l[1;23r[23;1H
[1;24r[23;1Htest7 text test text o41 7[24;1H[K[23;5H[?12l[?25h[?25l text test text o41 7[23;27H[K[23;5H[?12l[?25h[?25l
/[?12l[?25h\%x42
[?25l[1;23r[23;1H
[1;24r[23;1Htest text tBest text \%x42[24;1H[K[23;12H[?12l[?25h[?25lest text \%x42[23;27H[K[23;12H[?12l[?25h[?25l
/[?12l[?25h\%o103
[?25l[1;23r[23;1H
[1;24r[23;1Htest text teCst text \%o103[24;1H[K[23;13H[?12l[?25h[?25lst text \%o103[23;28H[K[23;13H[?12l[?25h[?25l
/[?12l[?25h[\x00]
[?25l[1;23r[23;1H
[1;24r[23;1Htest text [34m^@[mtest text [\x00][24;1H[K[23;11H[?12l[?25h[?25ltest text [\x00][23;28H[K[23;11H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest te[34m^@[mxt t[34m^D[mest t[34m^P[mext [\x00-\x10][23;11H[?12l[?25h[?25l
:[?12l[?25hs/[\x00-\x10]//g
[?25l3 substitutions on 1 line[23;8Hxt test text [\x00-\x10][23;33H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest \xyztext test text [\x-z][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/[\x-z]\+//
[?25l[23;6Htext test text [\x-z][23;28H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Htest text tev\uyst text [\u-z][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/[\u-z]\{2,}//
[?25l[23;13Hst text [\u-z][23;28H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)\+//
[?25l[23;4H xx [23;10H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a*\)\+//
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a*\)*//
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)\{2,3}/A/
[?25l[23;4HAaa xx[23;10H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaaaa xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)\{-2,3}/A/
[?25l[23;4HAaaa x[23;11H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx aaa12aa xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(a\)*\(12\)\@>/A/
[?25l[23;4HAaa xx[23;10H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx foobar xbar xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(foo\)\@<!bar/A/
[?25l[23;12HA xx[23;16H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxx an file xx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(an\_s\+\)\@<=file/A/
[?25l[23;7HA xx[23;12H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hx= 9;[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/XX/
[?25l[23;1HXX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hhh= 77;[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/
[?25l[23;1HYY 77;[23;7H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/aaa/xyz/
[?25l[23;2Hxyz
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Hxyz[24;1H[K[23;2H[?12l[?25h[?25l
:[?12l[?25hs/~/bcd/
[?25l[23;2Hbcd
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Hbcdbcdbcd[24;1H[K[23;2H[?12l[?25h[?25l
:[?12l[?25hs/~\+/BB/
[?25l[23;2HBB[23;4H[K[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?start?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 32L, 586C written[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test26.in" 44 lines, 750 characters[1;1HTest 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[34m^V^[[m
: if i == 9
: break
: endif
: if i == 5
: continue
: else
: let j = 9
: while j > 0
:[8Cif has("ebcdic")[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for :execute, :while and :if[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 39 lines, 696 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: let j = 9
: while j > 0
:[8Cif has("ebcdic")
:[10Cexecute "normal" j . "a" . j . "\x27"
:[8Celse
:[10Cexecute "normal" j . "a" . j . "\x1b"
:[8Cendif
:[8Clet 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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet i = 0
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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^[34m^[
[m
[?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:[8C[?12l[?25h: if has("ebcdic")
[?25l:[10C[?12l[?25h: execute "normal" j . "a" . j . "\x27"
[?25l:[10C[?12l[?25h: else
[?25l:[10C[?12l[?25h: execute "normal" j . "a" . j . "\x1b"
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: let j = j - 1
[?25l:[8C[?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
[27m[23m[m[H[2J[?25l[1;1H: 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[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h't,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 10 lines, 159 characters written[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test28.in" 23 lines, 364 characters[1;1HTest for sourcing a file with CTRL-V's at the end of the line
STARTTEST
:/firstline/+1,/lastline/-1w! Xtestfile
:so Xtestfile
Gmm__1[34m^[^[[m__2[34m^[[m__3[34m^[^[[m__4[34m^[[m__5[34m^[[m:'m,$s/[34m^@[m/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[34m^V[m
map __2 asd[34m^V^V[m
map __3 asd[34m^V^V[m
map __4 asd[34m^V^V^V[m
map __5 asd[34m^V^V^V[m
lastline[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for sourcing a file with CTRL-V's at the end of the line[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 114 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/firstline/+1,/lastline/-1w! Xtestfile
[?25l"Xtestfile" [24;13H[K[24;13H[New File] 10 lines, 148 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso Xtestfile
[?25l[10;1H[?12l[?25h[23;1H[11C[?25l[1;23r[23;1H
[1;24r[22;1Hsd
map __2 asd[34m^[[m[24;1H[K[23;12H[?12l[?25h[?25l[2Csecond[?12l[?25hd [?25lsd[34m^[[?12l[?25h^[[m [13C[?25l[23;24Hsd[34m^@[mmap __5 asd[34m^@[?12l[?25h[?25l[m[2Cfifth[?12l[?25h[?25l
:[?12l[?25h'm,$s/[34m^@[m/0/g
[?25l[23;26H0map __5 asd0fifth[23;44H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h'm,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 2 lines, 45 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test29.in" 230 lines, 4261 characters[1;1HTest 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+=j[14;1Hj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j joinspaces
j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptionss[16;1H+=j
j05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j nojoinspaces compatible
j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj4Jy3l$pjd/STARTTEST/-2
ENDTEST
firstline
asdfasdf.
asdf[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for joining lines and marks in them[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 11 lines, 478 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nojoinspaces
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpoptions-=j
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hfirstline/
[?25l[24;11H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H/[?12l[?25h^STARTTEST/-1
[?25l[12C+-1
37 fewer lines[24;15H[K[22;1HSTARTTEST
/^{/+1[22;1H[?12l[?25h[?25l[24;4Hmore lines[24;14H[K[22;1Hasdfasdf.
asdf[23;5H[K[22;1H[?12l[?25h[?25l[10Casdf
asdfasdf.[22;10H[?12l[?25h[23;10H[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[24;1H[K[23;11H[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[14C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[8C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[15C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hzx cvn.[?12l[?25h
zx cv[?25l[1;23r[1;1H[3M[1;24r[21;1Has dfg?
hjkl iop!
ert[22;6H[?12l[?25h
hjkl i[20;7H[?25l. as dfg? hjkl iop! ert
zx cvn.
as dfg?[22;8H[K[23;1Hhjkl iop![20;26H[?12l[?25h er[?25lt er[?12l[?25h
zx cv[26C[?25lrn[?12l[?25h[20;23H[10C[?25lnop[?12l[?25h[?25l[24;1H:[?12l[?25hset cpoptions+=j
[?25l[20;35H[?12l[?25h[21;7H
zx cv[23;6H
hjkl i[21;7H[?25l. as dfg? hjkl iop! ert[22;1H[K[23;1HSTARTTEST[21;26H[?12l[?25h er[?25lt er[?12l[?25h
zx cv[26C[?25lrn[?12l[?25h[21;23H[10C[?25lnop[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpoptions-=j joinspaces
[?25l[21;35H[?12l[?25h
[?25l
37 more lines[24;14H[K[23;1Hasdfasdf.
[?12l[?25h[?25l[11Casdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[24;1H[K[23;10H[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[14C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[8C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[15C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hzx cvn.[?12l[?25h
zx cv[?25l[1;23r[1;1H[2M[1;24r[22;1Has dfg?
hjkl iop![?12l[?25h
hjkl i[21;7H[?25l. as dfg? hjkl iop! ert
zx cvn.
as dfg?[23;8H[K[21;28H[?12l[?25h er[?25lt e[?12l[?25h
zx cv[29C[?25len[?12l[?25h[21;25H[11C[?25lnop[?12l[?25h[?25l
:[?12l[?25hset cpoptions+=j
[?25l[21;38H[?12l[?25h[22;7H
zx cv[?25l[1;23r[23;1H
[1;24r[23;1Hhjkl iop![24;1H[K[23;6H[?12l[?25h
hjkl i[21;7H[?25l. as dfg? hjkl iop! ert[22;1H[K[23;1HSTARTTEST[21;27H[?12l[?25h er[?25lt er[?12l[?25h
zx cv[27C[?25lrn[?12l[?25h[21;24H[10C[?25lnop[?12l[?25h[?25l
:[?12l[?25hset cpoptions-=j nojoinspaces compatible
[?25l[21;36H[?12l[?25h
[?25l
37 more lines[24;14H[K[23;1Hasdfasdf.
[?12l[?25h[?25l[11Casdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[24;1H[K[23;10H[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf. [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf.[14C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25lf asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf [?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[8C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[7C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hasdfasdf[15C[?12l[?25h[?25l asdf[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hzx cvn.[?12l[?25h[?25l. as dfg? hjkl iop! ert[23;8H[?12l[?25h[22C[?25lt a[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hzx cvn.[?12l[?25h[?25l
/[?12l[?25hSTARTTEST/-2
[?25l[11C+-2
4 fewer lines[24;14H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H12 lines, 147 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[12M[1;24r[12;1H:set comments=s1:/*,mb:*,ex:*/,://
:set nojoinspaces fo=j
:set backspace=eol,start
:.,+3join
j4J
:.,+2join
j3J
:.,+2join
j3J
:.,+2join
jj3J
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset comments=s1:/*,mb:*,ex:*/,://
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nojoinspaces fo=j
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset backspace=eol,start
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,+3join
[?25l[23;1H/* Make sure the previous comment leader is not removed. */
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l/* Make sure the previous comment leader is not removed. */
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+2join
[?25l[23;1H// Should the next comment leader be left alone? Yes.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l// Should the next comment leader be left alone? Yes.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+2join
[?25l[23;1H/* Here the comment leader should be left intact. */ // And so should this one.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l/* Here the comment leader should be left intact. */ // And so should this one.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+2join
[?25l[23;1Hif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haction();[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25lif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haction();
[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:" Test with backspace set to the non-compatible setting
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H17 lines, 347 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:inoremap <c-u> <left><c-u>
Avim3[34m^U^[[m
:iunmap <c-u>
Avim4[34m^U^U^[[m
:" Test with backspace set to the compatible setting
:set backspace= visualbell
A vim5[34m^[[mA[34m^U^U^[[m
A vim6[34m^[[mAzwei[34m^G[mu[34m^U^[[m
:inoremap <c-u> <left><c-u>
A vim7[34m^U^U^[[m
: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test with backspace set to the non-compatible setting
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^\d\+ this
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp bs=2
[?25l[14;1H[?12l[?25h[?25l[26C[?12l[?25h[15;27Hd [?25lvim2[?12l[?25h[?25l[15;28H[K[15;27H[?12l[?25h[16;24H[?25l[24;1H[K[24;1H:[?12l[?25hset cpo-=<
[?25l[16;24H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <c-u> <left><c-u>
[?25l[16;24H[?12l[?25h[?25ld3[?12l[?25h[17;24H[?25l[24;1H[K[24;1H:[?12l[?25hiunmap <c-u>
[?25l[17;24H[?12l[?25h[?25l[17;1H[K[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h" Test with backspace set to the compatible setting
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset backspace= visualbell
[?25l[18;1H[?12l[?25h[?25l[28Cvim5[?12l[?25h[?5h[?5l[?5h[?5l[19;27H[?25ld vim6[?12l[?25h6 [?25lzwei[?12l[?25h[?25l[19;33H[K[19;32H[?12l[?25h[20;32H[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <c-u> <left><c-u>
[?25l[20;32H[?12l[?25h[?5h[?5l[?5h[?5l[?25l[15Cvim7[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hset compatible novisualbell
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H21 lines, 356 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj3J
:.,+2join
j3J
:.,+2join
jj3J
j:.,+2join
jj3J
j:.,+5join
j6J
oSome code![34m^M[m// Make sure backspacing does not remove this comment leader.[34m^[[m0i[34m^HH[11;1H^[[m
ENDTEST
{
/*
* Make sure the previous comment leader is not removed.
*/
/*
* Make sure the previous comment leader is not removed.
*/[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments=sO:*\ -,mO:*\ \ ,exO:*/
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments+=s1:/*,mb:*,ex:*/,://
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset comments+=s1:>#,mb:#,ex:#<,:<
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpoptions-=j joinspaces fo=j
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset backspace=eol,start
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,+3join
[?25l[15;23r[15;1H[3M[1;24r[15;1H/* Make sure the previous comment leader is not removed. */[21;1H/* List:
* - item1
* foo bar baz[24;1H[K[15;1H[?12l[?25h
[?25l[16;23r[16;1H[3M[1;24r[16;1H/* Make sure the previous comment leader is not removed. */[21;2H* foo bar baz
* - item2
* foo bar baz[16;1H[?12l[?25h
[?25l[24;1H:[?12l[?25h.,+8join
[?25l[17;1H/* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz */[18;1H[K[19;1H/* List:[19;9H[K[20;4H- item1[20;11H[K[22;4H foo bar baz
* - item2[23;11H[K[17;1H[?12l[?25h
[?25l/* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz */[19;1H[K[20;1H// Should the next comment leader be left alone?
// Yes.[21;8H[K[22;2H[K[23;1H// Should the next comment leader be left alone?[18;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h.,+2join
[?25l[19;23r[19;1H[2M[1;24r[19;4HShould the next comment leader be left alone? Yes.
// Yes.[24;1H[K[19;1H[?12l[?25h
[?25l// Should the next comment leader be left alone? Yes.[21;1H[K[22;2H* Here the comment leader should be left intact. */
// And so should this one.[20;1H[?12l[?25h
[?25l
:[?12l[?25h.,+2join
[?25l[21;1H/* Here the comment leader should be left intact. */ // And so should this one.[22;1H[K[23;2H* Here the comment leader should be left intact. */[21;1H[?12l[?25h
[?25l/* Here the comment leader should be left intact. */ // And so should this one.[23;1H[K[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h.,+2join
[?25l[23;1Hif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haction();[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25lif (condition) // Remove the next comment leader! OK, I will.
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Haction();
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+2join
[?25l[23;1Hint i = 7 /* foo *// 3 // comment
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H;[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25lint i = 7 /* foo *// 3 // comment
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H;
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h.,+5join
[?25l[23;1H># Note that the last character of the ending comment leader (left angle bracket[23;1H[1m[34m@ [1;23r[m[1;1H[3M[1;24r[20;1H># Note that the last character of the ending comment leader (left angle brackett[21;1H) is a comment leader itself. Make sure that this comment leader is not removed [22;1Hfrom the next line #< < On this line a new comment is opened which spans 2 liness[23;1H. This comment should retain its comment leader.[24;1H[K[20;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l># Note that the last character of the ending comment leader (left angle bracket[23;1H[1m[34m@ [1;23r[m[1;1H[3M[1;24r[20;1H># Note that the last character of the ending comment leader (left angle brackett[21;1H) is a comment leader itself. Make sure that this comment leader is not removed [22;1Hfrom the next line #< < On this line a new comment is opened which spans 2 liness[23;1H. This comment should retain its comment leader.[20;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HSome code!
// Make sure backspacing does not remove this comment leader.[?12l[?25h
[?25l[22;11H// Make sure backspacing does not remove this comment leader.
}[23;2H[K[22;10H[?12l[?25h
[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 61 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[23;19H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:?firstline?+1,$w! test.out[24;1H[K[23;19H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l74 fewer lines[24;15H[K[1;1H// Should the next comment leader be left alone? Yes.[1;56H[K[2;1H/* 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();[5;14H[K[6;1Hif (condition) // Remove the next comment leader! OK, I will.
action();[7;14H[K[8;1Hint i = 7 /* foo *// 3 // comment
;[9;4H[K[10;1Hint i = 7 /* foo *// 3 // comment[10;34H[K[11;1H ;[11;3H[K[12;1H># Note that the last character of the ending comment leader (left angle brackett[13;1H) is a comment leader itself. Make sure that this comment leader is not removed [14;1Hfrom the next line #< < On this line a new comment is opened which spans 2 liness[15;1H. This comment should retain its comment leader.[15;49H[K[16;1H># Note that the last character of the ending comment leader (left angle brackett[17;1H) is a comment leader itself. Make sure that this comment leader is not removed [18;1Hfrom the next line #< < On this line a new comment is opened which spans 2 liness[19;1H. This comment should retain its comment leader.
Some code!// Make sure backspacing does not remove this comment leader.
}[22;2H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?firstline?+1,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 97 lines, 3018 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test31.in" 95 lines, 1832 characters[1;1HTest for commands that close windows and/or buffers:
:quit
:close
:hide
:only
:sall
:all
:ball
:buf
:edit
STARTTEST
:so small.vim
GA 1[34m^[[m:$w! Xtest1
$r2:$w! Xtest2
$r3:$w! Xtest3
:n! Xtest1 Xtest2
A 1[34m^[[m: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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for commands that close windows and/or buffers:[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[12;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 80 lines, 1697 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:" 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[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h
[?25l[9C1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! Xtest1
[?25l"Xtest1" [24;10H[K[24;10H[New File] 1 line, 11 characters written[23;10H[?12l[?25h[?25l2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! Xtest2
[?25l"Xtest2" [24;10H[K[24;10H[New File] 1 line, 11 characters written[23;10H[?12l[?25h[?25l3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w! Xtest3
[?25l"Xtest3" [24;10H[K[24;10H[New File] 1 line, 11 characters written[23;10H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hn! Xtest1 Xtest2
[?25l"Xtest1" [24;10H[K[24;10H1 line, 11 characters[1;1Htesttext 1[1;11H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[11C1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for working :n when hidden set; write "testtext 2"
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hn
[?25l"Xtest2" 1 line, 11 characters[1;10H2[1;12H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 11 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for failing :rew when hidden not set; write "testtext 2 2"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[11C2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hrew
[?25l[1m[37m[41mE37: No write since last change (add ! to override)[1;12H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for working :rew when hidden set; write "testtext 1 1"
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hrew
[?25l"Xtest1" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)[1;10H1 1
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for :all keeping a buffer when it's modified; write "testtext 1 1 1"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[13C1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp
[?25l[12;1H[1m[7mXtest1 [+] [m[13;1Htesttext 1 1 1[13;15H[K[23;1H[7mXtest1 [+] [1;14H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hn Xtest2 Xtest3
[?25l"Xtest2" [Modified] line 1 of 1 --100%-- col 1 (file 1 of 2)[1;10H2 2[1;14H[K[12;6H[1m[7m2 [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hall
[?25l"Xtest3" 1 line, 11 characters[27m[23m[m[H[2J[1;1Htesttext 1 1 1
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7mXtest1 [+] [m[9;1Htesttext 2 2
[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[1m[7mXtest2 [+] [m[16;1Htesttext 3
[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mXtest3 [9;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h1wincmd w
[?25l[8;1H[1m[7mXtest1 [+] [m[15;1H[7mXtest2 [+][m[1m[7m [m[7m [1;14H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 15 characters appended[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test abandoning changed buffer, should be unloaded even when 'hidden' set
[?25l[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" write "testtext 2 2" twice
[?25l[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[1;14H[?12l[?25h[?25l1 1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[27m[23m[m[H[2J[1;1Htesttext 2 2
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXtest2 [+] [m[13;1Htesttext 3
[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mXtest3 [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hunhide
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":hide" hides anyway when 'hidden' not set; write "testtext 3"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[13C2[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhide
[?25l[1;10H3[1;12H[K[12;1H[1m[34m~ [13;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":edit" failing in modified buffer when 'hidden' not set
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" write "testtext 3 3"
[?25l[1;1H[?12l[?25h[?25l[11C3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtest1
[?25l[1m[37m[41mE37: No write since last change (add ! to override)[1;12H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 13 characters appended[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":edit" working in modified buffer when 'hidden' set; write "testtext 1
[23;80H"[24;1H[?25l[1;1H[L[1;1Htesttext 3 3[24;1H[K[1;12H[?12l[?25h[?25l[24;1H:[?12l[?25hset hidden
[?25l[1;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he Xtest1
[?25l"Xtest1" 1 line, 11 characters[1;10H1[1;12H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":close" not hiding when 'hidden' not set in modified buffer;
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" write "testtext 3 3 3"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xtest3
[?25l"Xtest3" [Modified] line 1 of 1 --100%-- col 1 (file 2 of 2)[1;10H3 3[12;1H[1m[7mXtest3 [+] [m[13;1Htesttext 1[13;11H[K[23;1H[7mXtest1 [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[13C3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1m[37m[41mE37: No write since last change (add ! to override)[1;14H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 15 characters appended[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":close!" does hide when 'hidden' not set in modified buffer;
[?25l[1;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" write "testtext 1"
[?25l[1;14H[?12l[?25h[?25l3 3[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose!
[?25l[1;10H1[1;12H[K[12;1H[1m[34m~ [13;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nohidden
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":all!" hides changed buffer; write "testtext 2 2 2"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp Xtest4
[?25l"Xtest4" [New File][1;1H[K[12;1H[1m[7mXtest4 [m[13;1Htesttext 1[13;11H[K[23;1H[7mXtest1 [1;1H[?12l[?25h[?25l[m 4[12;8H[1m[7m[+][1;2H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?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)
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[1;1H[2L[1;1Htesttext 2 2 2
[1m[34m~ [m[11;1H[1m[7mXtest2 [+] [m[12;1Htesttext 3 3 3 3[12;17H[K[13;1H[1m[34m~ [m[23;6H[7m3 [+][m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 15 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test ":q!" and hidden buffer.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbw! Xtest1 Xtest2 Xtest3 Xtest4
[?25l"test31.in"[24;13H[K[24;13H95 lines, 1832 characters
4 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsp Xtest1
[?25l"Xtest1" [24;10H[K[24;10H1 line, 11 characters[1;1H[2L[1;1Htesttext 1
[1m[34m~ [11;1H~ [m[12;1H[1m[7mXtest1 [m[13;1H:w >>test.out[13;14H[K[14;1H:q![14;4H[K[15;1H:w >>test.out[15;14H[K[16;1H:q![16;4H[K[17;1H:call append(line('$'), "Oh, Not finished yet.")[17;49H[K[18;1H:w >>test.out[18;14H[K[19;1H:qa![19;5H[K[20;1HENDTEST[20;8H[K[21;1H[K[22;1Htesttext[22;9H[K[23;1H[7mtest31.in [m[24;1H[K[24;1H"Xtest1" 1 line, 11 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd w
[?25l[12;1H[7mXtest1[m[1m[7m [m[7m [m[23;1H[1m[7mtest31.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbw!
[?25l[12;1H[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset modified
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbot sp Xtest2
[?25l"Xtest2" [24;10H[K[24;10H1 line, 11 characters[11;1H[7mXtest1 [+] [m[12;1Htesttext 2[12;11H[K[23;1H[1m[7mXtest2 [12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset modified
[?25l[23;8H[1m[7m[+][12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbot sp Xtest3
[?25l"Xtest3" [24;10H[K[24;10H1 line, 11 characters[27m[23m[m[H[2J[1;1Htesttext 1
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7mXtest1 [+] [m[9;1Htesttext 2
[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7mXtest2 [+] [m[16;1Htesttext 3
[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7mXtest3 [16;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hset modified
[?25l[23;8H[1m[7m[+][16;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd t
[?25l[8;1H[1m[7mXtest1 [+] [m[23;1H[7mXtest3 [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhide
[?25l[27m[23m[m[H[2J[1;1Htesttext 2
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7mXtest2 [+] [m[13;1Htesttext 3
[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mXtest3 [+] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hq!
[?25l[1;10H3[12;1H[1m[34m~ [13;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[1m[37m[41mE37: No write since last change[m
[1m[37m[41mE162: No write since last change for buffer "Xtest1"[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test33.in" 34 lines, 616 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for 'lisp'[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 5 lines, 63 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset lisp
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^(defun
[?25l[12;1H[?12l[?25h[?25l[24;1H22 lines to indent...
23[7Cindented [24;19H[K[13;1H (format nil "~(~A~).html" base))
(let ((ti (gensym)))
`(with-open-file (*standard-output*
[8C(html-file ,name)
[7C:direction :output
:if-exists :supersede)
(let ((,ti ,title))
[15C(as title ,ti)
[17C(with center[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^(defun/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 23 lines, 544 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test34.in" 87 lines, 1833 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for user functions.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 78 lines, 1621 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[8L[?25l[1;1H: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[24;1H[K[22;1H[?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
[1;1H[6L[?25l[1;1H: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))[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc Expr1()
[?25l
: [?12l[?25h: normal! v
[?25l: [?12l[?25h: return "111"
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc Expr2()
[?25l
: [?12l[?25h: call search('XX', 'b')
[?25l: [?12l[?25h: return "222"
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc ListItem()
[?25l
: [?12l[?25h: let g:counter += 1
[?25l: [?12l[?25h: return g:counter . '. '
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc ListReset()
[?25l
: [?12l[?25h: let g:counter = 0
[?25l: [?12l[?25h: return ''
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hfunc FuncWithRef(a)
[?25l
: [?12l[?25h: unlet g:FuncRef
[?25l: [?12l[?25h: return a:a
[?25l: [?12l[?25h:endfunc
[1;1H[3L[?25l[1;1H:call append(line('$'), max([1, 2, 3]))
:try
: " Regression: the first line below used to throw ?E110: Missing ')'?[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hlet g:FuncRef=function("FuncWithRef")
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet counter = 0
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <expr> ( ListItem()
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <expr> [ ListReset()
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25himap <expr> + Expr1()
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25himap <expr> * Expr2()
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet retval = "nop"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^here
[?25l[23;1H[?12l[?25h[?25lher$[24;1H[K[24;1H=[?12l[?25hTable("xxx", 4, "asdf")
[?25l[24;1H[K[24;1H=[?12l[?25hCompute(45, 0, "retval")
[?25l[24;1H[K[24;1H=[?12l[?25hretval
[?25l[24;1H[K[24;1H=[?12l[?25hCompute(45, 5, "retval")
[?25l[24;1H[K[24;1H=[?12l[?25hretval
[?25l[24;1H[K[24;1H=[?12l[?25hg:FuncRef(333)
[?25l[1m[37m[41mError detected while processing function Expr1:[m
[33mline 1:[m
[1m[37m[41mE523: Not allowed here[m
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[4L[?25l[1;1H: $put =(0&&(function('tr'))(1, 2, 3))
: $put =(1&&(function('tr'))(1, 2, 3))
:catch
: $put ='!!! Unexpected exception:'[5;6H$put =v:exception
:endtry[6;8H[K[7;2H$-9,$w! test.out[7;18H[K[8;2Hdelfunc Table
:delfunc Compute[9;17H[K[10;2Hdelfunc Expr1[10;15H[K[11;2Hdelfunc Expr2
:delfunc ListItem[13;10HListReset
:unlet retval counter
:q![15;4H[K[16;1HENDTEST[16;8H[K[17;1H[K[18;1Hxxx4asdf fail nop ok 9 333
XX111-XX[19;9H[K[20;1H---222---
1. one[21;7H[K[22;1H2. two[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l1. one again[?12l[?25h[?25l
:[?12l[?25hcall append(line('$'), max([1, 2, 3]))
[?25l[23;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall extend(g:, {'max': function('min')})
[?25l[1m[37m[41mE704: Funcref variable name must start with a capital: max[23;12H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), max([1, 2, 3]))
[?25l[23;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[23;80Hi[24;1Hng
[?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
[1;1H[10L[?25l[1;1H: $put =v:exception
:endtry
:$-9,$w! test.out
:delfunc Table
:delfunc Compute
:delfunc Expr1
:delfunc Expr2
:delfunc ListItem
:delfunc ListReset
:unlet retval counter
:q![11;4H[K[12;1HENDTEST[12;8H[K[13;1H[K[14;1Hxxx4asdf fail nop ok 9 333
XX111-XX
---222---
1. one
2. two[18;7H[K[19;1H1. one again
3[20;2H[K[21;1H3[21;2H[K[22;1H0[22;2H[K[23;2H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$-9,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 10 lines, 81 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc Table
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc Compute
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc Expr1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc Expr2
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc ListItem
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc ListReset
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hunlet retval counter
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test36.in" 108 lines, 2025 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest character classes in regexp using regexpengine 0, 1, 2.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 101 lines, 1850 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hp: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
:[?12l[?25hs/\%#=0\D//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\D//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\D//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^0-9]//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^0-9]//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^0-9]//g
[?25l72 substitutions on 1 line[22;1H0123456789[22;11H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\O//g
[?25l74 substitutions on 1 line[21;1H01234567[21;9H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=2\O//g
[?25l74 substitutions on 1 line[21;1H01234567[21;9H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
:[?12l[?25hs/\%#=1[^0-7]//g
[?25l74 substitutions on 1 line[22;1H01234567[22;9H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^0-7]//g
[?25l74 substitutions on 1 line[22;1H01234567[22;9H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\X//g
[?25l60 substitutions on 1 line[21;1H0123456789ABCDEFabcdef[21;23H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=2\X//g
[?25l60 substitutions on 1 line[21;1H0123456789ABCDEFabcdef[21;23H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=1[^0-9A-Fa-f]//g
[?25l60 substitutions on 1 line[21;1H0123456789ABCDEFabcdef[21;23H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\W//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\W//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\W//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^0-9A-Za-z_]//g
[?25l46 substitutions on 1 line[22;1H0123456789ABCDEFGHIXYZ_abcdefghiwxyz[22;37H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0\H//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\H//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\H//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^A-Za-z_]//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^A-Za-z_]//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^A-Za-z_]//g
[?25l56 substitutions on 1 line[22;1HABCDEFGHIXYZ_abcdefghiwxyz[22;27H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0\A//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\A//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\A//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^A-Za-z]//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^A-Za-z]//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^A-Za-z]//g
[?25l57 substitutions on 1 line[22;1HABCDEFGHIXYZabcdefghiwxyz[22;26H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0\L//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1\L//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2\L//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=0[^a-z]//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=1[^a-z]//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^a-z]//g
[?25l69 substitutions on 1 line[22;1Habcdefghiwxyz[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=0\U//g
[?25l70 substitutions on 1 line[21;1HABCDEFGHIXYZ[21;14H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
:[?12l[?25hs/\%#=2\U//g
[?25l70 substitutions on 1 line[21;1HABCDEFGHIXYZ[21;14H[K[22;1H[1m[34m~ [21;1H[?12l[?25h[?25l[m
:[?12l[?25hs/\%#=1[^A-Z]//g
[?25l70 substitutions on 1 line[22;1HABCDEFGHIXYZ[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
:[?12l[?25hs/\%#=2[^A-Z]//g
[?25l70 substitutions on 1 line[22;1HABCDEFGHIXYZ[22;14H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[1;23r[m[23;1H
[1m[34m~ [m[24;1H[K[21;9H[?12l[?25h[?25l
[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test37.in" 116 lines, 3262 characters[1;1HTest 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
[34m^W[mt:
:resize 8
/^start of window 1$/
zt:
:set scrollbind
[34m^W[mj:
:resize 7
/^start of window 2$/
zt:
:set scrollbind
:" -- start of tests --[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for 'scrollbind'. <eralston@computer.org> Do not add a line below![24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 72 lines, 1498 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[3;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1HHk[34m^W[mtH[34m^W[mjHyy[34m^W[mbp[34m^W[mtyy[34m^W[mbp:
[34m^W[mt:set noscb
ggL[34m^W[mj:set noscb
ggL:set scb
[34m^W[mt:set scb
[34m^W[mtG[34m^W[mjG[34m^W[mt:syncbind
Hk[34m^W[mjH[34m^W[mtHyy[34m^W[mbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
[34m^W[mtH3k[34m^W[mjH[34m^W[mtHyy[34m^W[mbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
:" ***** done with tests *****
:w! test.out[13C" 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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noscrollbind
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt=ver,jump
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrolloff=2
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nowrap
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noequalalways
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset splitbelow
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST using two windows open to one buffer, one extra empty window
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsplit
[?25l[1;1H[34m^W[mtH3k[4C[34m^W[mtHyy[2Cbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
:" ***** done with tests *****
:w! test.out [9C" Write contents of this file
:qa![4;5H[K[5;1HENDTEST[5;9H[K[6;1H[K[7;1H[K[8;1Hstart of window 1[8;18H[K[9;1H. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[10;51H[K[11;1H[7mtest37.in [m[12;1HHk[34m^W[mjH[34m^W[mtHyy[34m^W[mbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
[34m^W[mtH3k[34m^W[mjH[34m^W[mtHyy[34m^W[mbp[34m^W[mt[34m^W[mjyy[34m^W[mbp:
:" ***** done with tests *****
:w! test.out [8C" Write contents of this file
:qa![16;5H[K[17;1HENDTEST[17;8H[K[18;1H[K[19;1H[K[20;1Hstart of window 1[20;18H[K[21;9H1[39C1[22;9H2[39C2
[1m[7mtest37.in [18;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnew
[?25l[12;1H:w! test.out " Write contents of this file
:qa![13;5H[K[14;1HENDTEST[14;8H[K[15;1H[K[16;1H[K[17;1H[7mtest37.in [m[19;1H[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [18;1H[?12l[?25h[11;1Htest37.in [m[23;1H[7m[No Name][m[1m[7m [m[7m [6;1H[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hresize 8
[?25l[1;1H:" ***** done with tests *****[1;31H[K[2;2Hw! test.out " Write contents of this file
:qa![3;5H[K[4;1HENDTEST[5;1H[K[7;1Hstart of window 1
. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
[1m[7mtest37.in [m[10;1H:" ***** done with tests *****[10;31H[K[11;1H:w! test.out " Write contents of this file[11;55H[K[12;2Hqa![12;5H[K[13;1HENDTEST[14;1H[K[16;1Hstart of window 1[5;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of window 1$/
[?25l[24;21H[K[24;1H[1;8r[8;1H
[1;24r[8;1H. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[24;1H[K[6;1H[?12l[?25h[?25l[1;8r[1;1H[3M[1;24r[6;1H. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03
. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04
. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollbind
[?25l[3;1H[?12l[?25h[9;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7mtest37.in [14;1H[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hresize 7
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of window 2$/
[?25l[24;21H[K[24;1H[10;1Hend of window 1[10;16H[K[11;1H[K[12;1H[K[13;1Hstart of window 2
. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01
. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03[13;1H[?12l[?25h[?25l[10;16r[16;1H
[1;24r[16;1H. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04[24;1H[K[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollbind
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" -- start of tests --
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST scrolling down
[?25l[12;1H[?12l[?25h
[?25l[1;8r[1;1H[5M[1;24r[4;1H. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07
. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08
. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09
. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10[10;16r[10;1H[5M[1;24r[12;1H. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07
. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08
. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09[24;1H[K[14;1H[?12l[?25h[12;1H[17;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [18;1H[?25l[m
. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[19;50H[K[23;11H[1m[7m[+][19;1H[?12l[?25h[?25l[m0[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [19;1H[?25l[m
. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[20;50H[K[20;1H[?12l[?25h[?25l1[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H
[?25l[1;8r[m[1;1H[6M[1;24r[3;1H. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12
. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13
. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14
. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15
end of window 1[10;16r[10;1H[6M[1;24r[11;1H. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10
. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13
. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15[6;1H[?12l[?25h[3;1H[9;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [20;1H[?25l[m
. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[21;50H[K[21;1H[?12l[?25h[?25l2[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[17;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [21;1H[?25l[m
. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[22;50H[K[22;1H[?12l[?25h[?25l3[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST scrolling up
[?25l[22;1H[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[1;8r[m[1;1H[5L[1;24r[1;1H. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04
. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07
. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08[10;9H4[39C4[11;8H05[38C05[12;8H06[38C06[13;8H07[38C07[14;8H08[38C08[15;8H09[38C09[16;9H0[39C0[24;1H[K[4;1H[?12l[?25h[9;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7mtest37.in [14;1H[12;1H[9;1Htest37.in [m[17;1H[7mtest37.in[m[1m[7m [m[7m [4;1H[3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
[?12l[?25h[?25l4[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[17;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
[?12l[?25h[?25l5[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[?25l[1;8r[m[1;1H[4L[1;24r[1;1Hstart of window 1
. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[10;16r[10;1H[4L[1;24r[10;1Hstart of window 2
. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01
. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
[?12l[?25h[9;1H[1m[7mtest37.in [m[17;1H[7mtest37.in[m[1m[7m [m[7m [6;1H[3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7mtest37.in [13;1H[12;1H[m[17;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
[?12l[?25h[?25l6[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l7[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST horizontal scrolling
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt+=hor
[?25l[22;1H[?12l[?25h[?25l[18;1H[K[19;1H0[7C5 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
1[7C5 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[18;1H[?12l[?25h[?25l[18;22r[18;1H[4M[1;24r[19;1H4 line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
5 line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[24;1H[K[22;1H[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[1;1H 1[1;3H[K[2;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01[2;35H[K[3;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[3;35H[K[4;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[4;35H[K[5;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[5;35H[K[6;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[6;35H[K[7;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06[7;35H[K[8;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07[8;35H[K[10;1H 2[10;3H[K[11;1HUTSRQPONMLKJIHGREDCBA9876543210 01[11;35H[K[12;1HUTSRQPONMLKJIHGREDCBA9876543210 02[12;35H[K[13;1HUTSRQPONMLKJIHGREDCBA9876543210 03[13;35H[K[14;1HUTSRQPONMLKJIHGREDCBA9876543210 04[14;35H[K[15;1HUTSRQPONMLKJIHGREDCBA9876543210 05[15;35H[K[16;1HUTSRQPONMLKJIHGREDCBA9876543210 06[16;35H[K[3;1H[?12l[?25h[9;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[17;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[mUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[17;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [12;1H[?25l[m[1;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09[2;33H10[3;33H11[4;33H12[5;33H13[6;33H14[7;33H15[8;1H[K[10;1HUTSRQPONMLKJIHGREDCBA9876543210 09[11;33H10[12;33H11[13;33H12[14;33H13[15;33H14[16;33H15[13;1H[?12l[?25h[?25l[1;1H. 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[12;1H[?12l[?25h[?25l[?12l[?25h[17;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l[18;22r[22;1H
[1;24r[24;1H[K[22;1H[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;16H
[9;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt-=hor
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" ****** tests using two different buffers *****
[?25l[22;1H[?12l[?25h[9;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[9;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7mtest37.in [12;1H[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[9;1H[K[10;1H[K[11;1Hstart of window 2[11;18H[K[12;8H0[39C0[13;8H0[39C0[14;8H0[39C0[15;8H0[39C0[16;8H0[39C0[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noscrollbind
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start of window 2$/,/^end of window 2$/y
[?25l18 lines yanked[24;16H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[8;1H[7mtest37.in [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [m[17;1H[1m[7m[No Name] [9;1H[?12l[?25h[8;1Htest37.in [m[17;1H[7m[No Name][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [9;1H[?25l[m[24;1H4 more lines[10;1H[K[11;1H[K[12;1H[K[13;1H[K[17;11H[1m[7m[+][10;1H[?12l[?25h
[?25l[m[24;1H18 more lines[14;1Hstart of window 2[14;18H[K[15;1H. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01[15;50H[K[16;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[16;50H[K[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[14;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[24;1H[K[24;1H/[?12l[?25h^start of window 1$/
[?25l[24;21H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[m[1;1HENDTEST[1;8H[K[2;1H[K[3;1H[K[4;1Hstart of window 1[4;18H[K[5;8H01[38C01[6;8H02[38C02[7;8H03[38C03[4;1H[?12l[?25h[?25l[1;7r[7;1H
[1;24r[7;1H. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollbind
[?25l[3;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [14;1H[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start of window 2$/
[?25l[24;21H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[14;1H[?12l[?25h[?25l[9;16r[m[9;1H[3M[1;24r[14;1H. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04
. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05[24;1H[K[11;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollbind
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" -- start of tests --
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST scrolling down
[?25l[11;1H[?12l[?25h
[?25l[1;7r[1;1H[5M[1;24r[3;1H. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07
. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08
. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09[9;16r[9;1H[5M[1;24r[12;1H. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07
. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08
. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09
. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10[24;1H[K[14;1H[?12l[?25h[11;1H[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
[?12l[?25h[?25l0[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
[?12l[?25h[?25l1[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H
[?25l[1;7r[m[1;1H[6M[1;24r[2;1H. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10
. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12
. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13
. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14
. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15[9;16r[9;1H[6M[1;24r[11;1H. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13
. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[5;1H[?12l[?25h[3;1H[8;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
[?12l[?25h[?25l2[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[17;1H[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
[?12l[?25h[?25l3[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST scrolling up
[?25l[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[1;9H4[39C4[2;8H05[38C05[3;8H06[38C06[4;8H07[38C07[5;8H08[38C08[6;8H09[38C09[7;9H0[39C0[9;16r[9;1H[5L[1;24r[9;1H. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04
. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07
. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08[24;1H[K[4;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [14;1H[11;1H[8;1Htest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [4;1H[3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
[?12l[?25h[?25l4[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[17;1H[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
[?12l[?25h[?25l5[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[?25l[1;7r[m[1;1H[4L[1;24r[1;1Hstart of window 1
. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[9;16r[9;1H[4L[1;24r[9;1Hstart of window 2
. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01
. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [12;1H[11;1H[m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
[?12l[?25h[?25l6[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l7[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST horizontal scrolling
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt+=hor
[?25l[22;1H[?12l[?25h[?25l[18;1H[K[19;1H0[7C5 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
1[7C5 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[18;1H[?12l[?25h[?25l3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
4[7C6 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
5[7C6 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
[?12l[?25h[?25l[18;22r[22;1H
[1;24r[24;1H[K[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[1;1H 1[1;3H[K[2;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01[2;35H[K[3;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[3;35H[K[4;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03[4;35H[K[5;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04[5;35H[K[6;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05[6;35H[K[7;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06[7;35H[K[9;1H 2[9;3H[K[10;1HUTSRQPONMLKJIHGREDCBA9876543210 01[10;35H[K[11;1HUTSRQPONMLKJIHGREDCBA9876543210 02[11;35H[K[12;1HUTSRQPONMLKJIHGREDCBA9876543210 03[12;35H[K[13;1HUTSRQPONMLKJIHGREDCBA9876543210 04[13;35H[K[14;1HUTSRQPONMLKJIHGREDCBA9876543210 05[14;35H[K[15;1HUTSRQPONMLKJIHGREDCBA9876543210 06[15;35H[K[16;1HUTSRQPONMLKJIHGREDCBA9876543210 07[16;35H[K[3;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[17;1H[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[mUTSRQPONMLKJIHGREDCBA9876543210 02[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[17;1H[1m[7m[No Name] [+] [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [11;1H[?25l[m[1;1H56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09[2;33H10[3;33H11[4;33H12[5;33H13[6;33H14[7;33H15
UTSRQPONMLKJIHGREDCBA9876543210 09[10;33H10[11;33H11[12;33H12[13;33H13[14;33H14[15;33H15[16;33H16[12;1H[?12l[?25h[?25l[1;1H. 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[11;1H[?12l[?25h[?25l[?12l[?25h[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11[?12l[?25h[?25l[18;22r[22;1H
[1;24r[24;1H[K[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;16H
[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[m. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11[?12l[?25h[?25l[18;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset scrollopt-=hor
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TEST syncbind
[?25l[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset noscb
[?25l[3;1H[?12l[?25h[?25l[1;1HTest for 'scrollbind'. <eralston@computer.org> Do not add a line below!
STARTTEST[2;11H[K[3;1H:so small.vim[3;14H[K[4;1H:set noscrollbind[4;18H[K[5;1H:set scrollopt=ver,jump[5;24H[K[6;1H:set scrolloff=2[6;17H[K[7;1H:set nowrap[7;12H[K[1;1H[?12l[?25h[5;1H
[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset noscb
[?25l[11;1H[?12l[?25h[?25l[9;1H[K[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1Hstart of window 2[14;18H[K[15;8H01[38C01[16;8H02[38C02[9;1H[?12l[?25h[14;1H[?25l[24;1H[K[24;1H:[?12l[?25hset scb
[?25l[14;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset scb
[?25l[5;1H[?12l[?25h[?25l[1;1H. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13[1;50H[K[2;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
end of window 2[5;16H[K[6;1H[K[7;1Hend of test37.in (please don't delete this line)
end of window 2
[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [7;1H[?12l[?25h[?25l[m[1;1Hzt:[1;4H[K[2;1H:set scrollbind[2;16H[K[3;1H:" -- start of tests --[3;24H[K[4;1H:" TEST scrolling down[4;23H[K[5;1HL5jHyy[34m^W[mbpr0[34m^W[mtHyy[34m^W[mbpr1[34m^W[mtL6jHyy[34m^W[mbpr2[34m^W[mkHyy[34m^W[mbpr3:
:" TEST scrolling up
[34m^W[mtH4k[34m^W[mjH[34m^W[mtHyy[34m^W[mbpr4[34m^W[mkHyy[34m^W[mbpr5[34m^W[mk3k[34m^W[mtH[34m^W[mjHyy[34m^W[mbpr6[34m^W[mtHyy[34m^W[mbpr7:
[7mtest37.in[m[1m[7m [m[7m [9;16r[m[9;1H[2L[1;24r[9;1H. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[17;1H[1m[7m[No Name] [+] [m[24;1H[K[11;1H[?12l[?25h[?25l[24;1H:[?12l[?25hsyncbind
[?25l[11;1H[?12l[?25h[?25l[1;7r[1;1H[L[1;24r[1;1H/^start of window 2$/[9;16r[9;1H[L[1;24r[9;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[24;1H[K[11;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H:set scrollbind
[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset noscb
[?25l[3;1H[?12l[?25h[?25l[1;1HTest for 'scrollbind'. <eralston@computer.org> Do not add a line below!
STARTTEST
:so small.vim[3;14H[K[4;2Hset noscrollbind[4;18H[K[5;2Hset scrollopt=ver,jump
:set scrolloff=2[6;17H[K[7;2Hset nowrap[7;12H[K[1;1H[?12l[?25h[5;1H
[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset noscb
[?25l[11;1H[?12l[?25h[?25l[9;1H[K[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1Hstart of window 2[14;18H[K[15;1H. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01[15;50H[K[16;1H. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02[16;50H[K[9;1H[?12l[?25h[14;1H[?25l[24;1H[K[24;1H:[?12l[?25hset scb
[?25l[14;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset scb
[?25l[5;1H[?12l[?25h[?25l[1;1H. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13[1;50H[K[2;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
end of window 2[5;16H[K[6;1H[K[7;1Hend of test37.in (please don't delete this line)
end of window 2
[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [7;1H[?12l[?25h[?25l[m[1;1Hzt:[1;4H[K[2;1H:set scrollbind[2;16H[K[3;1H:" -- start of tests --[3;24H[K[4;1H:" TEST scrolling down[4;23H[K[5;1HL5jHyy[34m^W[mbpr0[34m^W[mtHyy[34m^W[mbpr1[34m^W[mtL6jHyy[34m^W[mbpr2[34m^W[mkHyy[34m^W[mbpr3:
:" TEST scrolling up
[34m^W[mtH4k[34m^W[mjH[34m^W[mtHyy[34m^W[mbpr4[34m^W[mkHyy[34m^W[mbpr5[34m^W[mk3k[34m^W[mtH[34m^W[mjHyy[34m^W[mbpr6[34m^W[mtHyy[34m^W[mbpr7:
[7mtest37.in[m[1m[7m [m[7m [9;16r[m[9;1H[2L[1;24r[9;1H. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16[17;1H[1m[7m[No Name] [+] [m[24;1H[K[11;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [5;1H[?25l[24;1H[m:[?12l[?25hsyncbind
[?25l[5;1H[?12l[?25h[3;1H[?25l[1;7r[1;1H[L[1;24r[1;1H/^start of window 2$/[9;16r[9;1H[L[1;24r[9;1H. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14[24;1H[K[3;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [12;1H[11;1H[8;1Htest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H:set scrollbind
[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[?25l[1;7r[m[1;1H[4L[1;24r[1;1Hzt:
:set scrollbind
[34m^W[mj:
:resize 7[9;16r[9;1H[4L[1;24r[9;1H. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10
. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13[24;1H[K[4;1H[?12l[?25h[8;1H[7mtest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [15;1H[11;1H[8;1Htest37.in [m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [4;1H[3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H[34m^W[mj:
[?12l[?25h[8;1H[1m[7mtest37.in [m[23;1H[7m[No Name] [+][m[1m[7m [m[7m [3;1H[8;1Htest37.in[m[1m[7m [m[7m [m[17;1H[1m[7m[No Name] [+] [11;1H[m[17;1H[7m[No Name] [+][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [+] [22;1H[?25l[18;22r[m[22;1H
[1;24r[22;1H. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
[?12l[?25h[?25l
:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" ***** done with tests *****
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 33 lines, 1329 characters written[23;1H[1m[7mtest.out] [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test38.in" 35 lines, 455 characters[2;1HTest Virtual replace mode.
STARTTEST
:so small.vim
:" make sure that backspace works, no matter what termcap is used
:set t_kD=[34m^V[mx7f t_kb=[34m^V[mx08
ggdGa
abcdefghi
jk lmn
opq rst
[34m^D[muvwxyz
[34m^[[mgg:set ai
:set bs=2
gR0[34m^D[m 1
A
BCDEFGHIJ[18;9HKL
MNO
PQR[34m^[[mG:ka
o0[34m^D[m
abcdefghi
jk lmn[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 29 lines, 407 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[11M[1;24r[13;5Hopq rst
[34m^D[muvwxyz
[34m^[[m'ajgR0[34m^D[m 1
A
BCDEFGHIJ[18;9HKL
MNO
PQR[34m^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^[[m:$
iab cdefghi jkl[34m^[[m0gRAB......CDEFGHI.J[34m^[[mo[34m^[[m:
iabcdefghijklmnopqrst[34m^[[m0gRAB IJKLMNO QR[34m^[[m:wq! test.out
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make sure that backspace works, no matter what termcap is used
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset t_kD=^[34m^?[m t_kb=^[34m^H
[?25l[27m[23m[m[H[2J[1;1H[34m^[[mgg:set ai
:set bs=2
gR0[34m^D[m 1
A
BCDEFGHIJ[6;9HKL
MNO
PQR[34m^[[mG:ka
o0[34m^D[m
abcdefghi
jk lmn
opq rst
[34m^D[muvwxyz
[34m^[[m'ajgR0[34m^D[m 1
A
BCDEFGHIJ[17;9HKL
MNO
PQR[34m^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^[[m:$
iab cdefghi jkl[34m^[[m0gRAB......CDEFGHI.J[34m^[[mo[34m^[[m:
iabcdefghijklmnopqrst[34m^[[m0gRAB IJKLMNO QR[34m^[[m:wq! test.out
ENDTEST
[?12l[?25h[?25l[1;23r[1;1H[12L[1;24r[2;1HTest Virtual replace mode.
STARTTEST
:so small.vim
:" make sure that backspace works, no matter what termcap is used
:set t_kD=[34m^V[mx7f t_kb=[34m^V[mx08
ggdGa
abcdefghi
jk lmn
opq rst
[34m^D[muvwxyz[1;1H[?12l[?25h[?25l
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l
abcdefghi[2;10H[K[3;1Hjk lmn[3;12H[K[4;1H opq rst[4;12H[K[5;1Huvwxyz[5;7H[K[6;1H[K[6;1H[?12l[?25h[1;1H[?25l[24;1H[K[24;1H:[?12l[?25hset ai
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bs=2
[?25l[1;1H[?12l[?25h[?25l 1
A[2;3H[K[3;1H BCDEFGHIJ[3;11H[K[4;5H KL[4;11H[K[5;1H MNO[6;9HPQR[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hka
[?25l[6;9H[?12l[?25h[?25l[7;1H[K[8;1Habcdefghi[8;10H[K[9;1Hjk lmn[9;12H[K[10;1H opq rst[10;12H[K[11;1Huvwxyz[11;7H[K[12;1H[K[12;1H[?12l[?25h[6;9H
[?25l 1[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$
[?25l[12;1H[?12l[?25h[?25lab cdefghi jkl[?12l[?25h
[?25lAB......CDEFGHI.J[?12l[?25h[?25l[13;1H[K[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25labcdefghijklmnopqrst[?12l[?25h
[?25lAB IJKLMNO QR[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test39.in" 118 lines, 2435 characters[2;1HTest Visual block mode commands
And test "U" in Visual mode, also on German sharp S.
#define BO_ALL 0x0001
#define BO_BS[7C0x0002
#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[34m^V[mjj>wll[34m^V[mjlll>
:" Test shift-left of a block
G$hhhh[34m^V[mkk<
:" Test block-insert
Gkl[34m^V[mkkkIxyz[34m^[[m
:" Test block-replace
Gllll[34m^V[mkkklllrq
:" Test block-change[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 75 lines, 2061 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[10;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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!
ENDTEST[14;17Hline1[15;17Hline2[16;17Hline3
aaaaaa
bbbbbb
cccccc
dddddd
xaaa[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" This only works when 'encoding' is "latin1", don't depend on the environment
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=latin1
[?25l[27m[23m[m[H[2J[1;1H: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!
ENDTEST[14;17Hline1[15;17Hline2[16;17Hline3
aaaaaa
bbbbbb
cccccc
dddddd
xaaa[13;1H[?12l[?25h[?25l[24;1H/[?12l[?25h^abcde
[?25l[1;23r[1;1H[18M[1;24r[6;1Hbbbb
cccc
dddd
yaaa
bbb
A23
4567
B23
4567
C23
4567
abcdefghijklm[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" Test shift-right of a block
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Habcdefghijklm[24;1H[K[23;1H[?12l[?25habcd[?25l[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5H[7me[m
abcdefghijklm
abcd[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5H[7me[m
abcdefghijklm
abcd[?12l[?25h[?25l
3 lines >ed 1 time[21;5H efghijklm
abcd efghijklm
abcd efghijklm[21;8H[?12l[?25h ef[?25l[?12l[?25h[?25l[7mg[22;15H[?12l[?25h[?25l[21;16Hh[22;15Hg[?12l[?25h[?25l[21;17Hi[22;16Hh[?12l[?25h[?25l[21;18Hj[22;17Hi[?12l[?25h[?25l[m[21;15H ghijklm[22;15H ghijklm[21;16H[?12l[?25h[22;16H[?25l[24;1H[K[24;1H:[?12l[?25h" Test shift-left of a block
[?25l[22;16H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Habcdefghijklm[24;1H[K[23;1H[?12l[?25h[12C[?25l[?12l[?25h[?25l[7mi[22;9H[?12l[?25h[?25l [21;9H[?12l[?25h[?25l[m
3 lines <ed 1 time[21;9Hef [22;9Hefghijklm[22;18H[K[23;9Hi[21;9H[?12l[?25h[22;9H[?25l[24;1H[K[24;1H:[?12l[?25h" Test block-insert
[?25l[22;9H[?12l[?25h
[22;1Ha[?25l[?12l[?25h[?25l[7mb[21;2H[?12l[?25h[?25lb[20;2H[?12l[?25h[?25lb[19;2H[?12l[?25h[?25l[m
ab
ab
ab[19;2Hxyzbcdefghijklm
axyzbcd
axyzbcd
axyzbcd[19;2H[?12l[?25h
a[?25l[24;1H[K[24;1H:[?12l[?25h" Test block-replace
[?25l[20;2H[?12l[?25h
abcd[?25l[?12l[?25h[?25l[7me[22;5H[?12l[?25h[?25lb[21;5H[?12l[?25h[?25lb[20;5H[?12l[?25h[?25lb[21;6Hc[22;6Hc[23;6Hf[20;6H[?12l[?25h[?25lc[21;7Hd[22;7Hd[23;7Hg[20;7H[?12l[?25h[?25ld[21;8H [22;8H [23;8Hh[20;8H[?12l[?25h[?25l[mqqqq
axyzqqqq
axyzqqqq
abcdqqqq[20;5H[?12l[?25h
axyz[?25l[24;1H[K[24;1H:[?12l[?25h" Test block-change
[?25l[21;5H[?12l[?25h
[12C[22;17H[?25l[?12l[?25h[?25l[7mj[?12l[?25h[?25li[?12l[?25h[?25l[21;12H [22;11Hghijkl[21;11H[?12l[?25h[?25l[20;13Hef[m[21;15H [22;11Hg[3Ckl[20;12H[?12l[?25h[?25lmno[21;12Hmno[22;12Hmno[20;14H[?12l[?25h[21;14H[?25l[24;1H[K[24;1H:[?12l[?25h$-4,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 5 lines, 108 characters written[21;14H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test block-insert using cursor keys for movement
[?25l[21;14H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^aaaa/
[?25l[24;7H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[1;23r[m[1;1H[5L[1;24r[1;1Haaaaaa
bbbbbb
cccccc
dddddd[24;1H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexe ":norm! l\<C-V>jjjlllI\<Right>\<Right> \<Esc>"
[?25l[1;4H aaa
bbb bbb
ccc ccc
ddd ddd[1;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^aa/,/^$/w >> test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H5 lines, 37 characters appended[1;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hxaaa$/
[?25l[24;7H[K[24;1H[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! \<C-V>jjjI<>\<Left>p\<Esc>"
[?25l[6;1H<p>xaaa
<p>bbbb
<p>cccc
<p>dddd[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/xaaa$/,/^$/w >> test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H5 lines, 33 characters appended[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block was created with the last <C-v>$
[?25l[6;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^A23$/
[?25l[24;7H[K[24;1H[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! l\<C-V>j$Aab\<Esc>"
[?25l[15;4Hab
4567ab[15;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" [24;13H[K[24;12H3 lines, 14 characters appended[15;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block was created with the middle <C-v>$ (1)
[?25l[15;2H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^B23$/
[?25l[24;7H[K[24;1H[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! l\<C-V>j$hAab\<Esc>"
[?25l[18;5Hab
4567ab[18;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" [24;13H[K[24;12H3 lines, 15 characters appended[18;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block was created with the middle <C-v>$ (2)
[?25l[18;2H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^C23$/
[?25l[24;7H[K[24;1H[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! l\<C-V>j$hhAab\<Esc>"
[?25l[21;4Hab
456ab7[21;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" [24;13H[K[24;12H3 lines, 14 characters appended[21;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block insert when virtualedit=all and utf-8 encoding
[?25l[21;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=all enc=utf-8
[?25l[27m[23m[m[H[2J[1;1Haaa aaa
bbb bbb
ccc ccc
ddd ddd
<p>xaaa
<p>bbbb
<p>cccc
<p>dddd
yaaa
[34m<bf><bf><bf>[m
bbb
A23ab
4567ab
B23 ab
4567ab
C23ab
456ab7[21;2H[?12l[?25h[?25l
:[?12l[?25h/\t\tline
[?25l[31msearch hit BOTTOM, continuing at TOP[1;23r[m[1;1H[4L[1;24r[1;17Hline1[2;17Hline2[3;17Hline3[24;1H[K[24;1H[31msearch hit BOTTOM, continuing at TOP[1;17H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexe ":norm! 07l\<C-V>jjIx\<Esc>"
[?25l[1;8Hx[2;8Hx[3;8Hx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.,/^$/w >> test.out
[?25l"test.out" [24;13H[K[24;12H4 lines, 49 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for Visual block append when virtualedit=all
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! 012l\<C-v>jjAx\<Esc>"
[?25l[1;14Hx line1[2;14Hx line2[3;14Hx line3[1;10H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve= enc=latin1
[?25l[27m[23m[m[H[2J[1;8Hx x line1[2;8Hx x line2[3;8Hx x line3
aaa aaa
bbb bbb
ccc ccc
ddd ddd
<p>xaaa
<p>bbbb
<p>cccc
<p>dddd
yaaa
bbb
A23ab
4567ab
B23 ab
456ab7
axyzbcdefghijklm
axyzqqqq mno[8Cghijklm
axyzqqqqef mno[8Cghijklm
axyzqqqqefgmnoklm
abcdqqqqijklm[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
the [?25l
:[?12l[?25h" VU must uppercase a whole line
[?25l[23;4H[?12l[?25h[?25l[1;23r[23;1H
[?25l
:[?12l[?25h" same, when it's the last line in the buffer
[?25l[23;1H[?12l[?25h[?25l[?12l[?25h[?25l[1;23r[23;1H
[?25l
:[?12l[?25h" Uppercase two lines
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1Hblah di[22;8H[K[23;1Hdoh dut[24;1H[K[23;7H[?12l[?25h[?25l
[7mdoh du[mt[7m [?12l[?25h[?25l[22;1Hblah d[mi[7m [23;7Ht[22;7H[?12l[?25h[?25l[m
BLAH DI[22;8H[K[23;1HDOH DUT[23;8H[K[22;7H[?12l[?25h[23;7H[?25l[1;23r[23;1H
:[?12l[?25h" Uppercase part of two lines
[?25l[23;7H[?12l[?25h[?25l
[1m[34m~ [22;1H[?12l[?25h[?25l[m
333the yo[?12l[?25h[?25lut[?12l[?25h[?25l[m[22;10HUTUSSEUU END
333THE YOUTU[22;10H[?12l[?25h[21;7H[22;10H[?25l
:[?12l[?25h" visual replace using Enter or NL
[?25l[22;10H[?12l[?25h
[?25l[1;23r[1;1H[3M[1;24r[21;1H123456789
123456789
123456789[24;1H[K[23;9H[?12l[?25h[21;9H
12345[?25l[?12l[?25h[?25l[7m6[22;6H6[23;6H[?12l[?25h[?25l[m[21;6H[K[22;1H789[22;4H[K[23;6H[K[21;5H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1H789
12345
789
[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1H98765
98765
98765[?12l[?25h[21;5H
98[?25l[?12l[?25h[?25l[7m7
[m98[7m7
[m98[?12l[?25h[?25l[21;3H[34m^M[m65
98[34m^M[m65
98[34m^M[m65[21;3H[?12l[?25h
98
[?25l[1;23r[1;1H[3M[1;24r[21;1H123456789
123456789
123456789[?12l[?25h[21;9H
12345[?25l[?12l[?25h[?25l[7m6[22;6H6[23;6H[?12l[?25h[?25l[m[21;6H[K[22;1H789[22;4H[K[23;6H[K[21;5H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1H789
12345
789
[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1H98765
98765
98765[?12l[?25h[21;5H
98[?25l[?12l[?25h[?25l[7m7
[m98[7m7
[m98[?12l[?25h[?25l[21;3H[34m^@[m65
98[34m^@[m65
98[34m^@[m65[21;3H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test cursor position. When ve=block and Visual block mode and $gj
[?25l[21;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=block
[?25l[21;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! 2k\<C-V>$gj\<Esc>"
[?25l[20;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet cpos=getpos("'>")
[?25l[20;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='col:'.cpos[2].' off:'.cpos[3]
[?25l[1;23r[23;1H
[1;24r[23;1Hcol:4 off:0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" block_insert when replacing spaces in front of the block with tabs
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ts=8 sts=4 sw=4
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h4,7y
[?25l4 lines yanked[23;1H[?12l[?25h[?25l
4 more lines[24;13H[K[1;23r[23;1H
[1;24r[24;1H[K[24;1H4 more lines[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H#define BO_ALL 0x0001[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hexe ":norm! f0\<C-V>2jI\<tab>\<esc>"
[?25l[1;23r[1;1H[2M[1;24r[21;21H 0x0001
#define BO_BS[11C0x0002
#define BO_CRSR[9C0x0004[24;1H[K[21;24H[?12l[?25h[?25l
:[?12l[?25h/^the/,$w >> test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H31 lines, 322 characters appended[21;24H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test40.in" 63 lines, 1536 characters[1;1HTest for "*Cmd" autocommands
STARTTEST
:so small.vim
:/^start/,$w! Xxx[15C" write lines below to Xxx
:au BufReadCmd XtestA 0r Xxx|$del
:e XtestA[23C" will read text of Xxd instead
:au BufWriteCmd XtestA call append(line("$"), "write")
:w[30C" will append a line to the file
:r XtestA[23C" should not read anything
:[31C" now we have:
:[31C" 1 start of Xxx
:[31C" 2[13Ctest40
:[31C" 3 end of Xxx
:[31C" 4 write
:au FileReadCmd XtestB '[r Xxx
:2r XtestB[22C" will read Xxx below line 2 instead
:[31C" 1 start of Xxx
:[31C" 2[13Ctest40
:[31C" 3 start of Xxx
:[31C" 4[13Ctest40
:[31C" 5 end of Xxx
:[31C" 6 end of Xxx[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for "*Cmd" autocommands[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 55 lines, 1455 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$w >>test.out[18C" append "end of Xxx" to test.out
:au BufReadCmd XtestE 0r test.out|$del
:sp XtestE[22C" split window with test.out
5Goasdf[34m^[^W^W[m:"
:au BufWriteCmd XtestE w! test.out
:wall[27C" will write other window to test.out
:[31C" 1 start of Xxx
:[31C" 2[13Ctest40
:[31C" 3 start of Xxx
:[31C" 4[13Ctest401
:[31C" 5 end of Xxx
:[31C" 6 asdf
:[31C" 7 end of Xxx
:[31C" 8 write
:[31C" 9[13Ctest401
:[31C" 10 end of Xxx
:[31C" 11 end of Xxx
:qa!
ENDTEST
start of Xxx[22;9Htest40
end of Xxx[19;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start/,$w! Xxx[34m^I^I[m" write lines below to Xxx
[?25l"Xxx" [24;7H[K[24;7H[New File] 3 lines, 32 characters written[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadCmd XtestA 0r Xxx|$del
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he XtestA[34m^I^I^I[m" will read text of Xxd instead
[?25l"Xxx" [24;7H[K[24;7H3 lines, 32 characters[1;1Hstart of Xxx[1;13H[K[2;1H test40[2;16H[K[3;1Hend of Xxx[3;33H[K[4;1H[1m[34m~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau BufWriteCmd XtestA call append(line("$"), "write")
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw[34m^I^I^I^I[m" will append a line to the file
[?25l[4;1Hwrite[4;6H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hr XtestA[34m^I^I^I[m" should not read anything
[?25l[1m[37m[41mE484: Can't open file XtestA[m[24;29H[K[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" now we have:
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 1[34m^I[mstart of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 2[34m^I^I[mtest40
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 3[34m^I[mend of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 4[34m^I[mwrite
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileReadCmd XtestB '[r Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h2r XtestB[34m^I^I^I[m" will read Xxx below line 2 instead
[?25l"Xxx" [24;7H[K[24;7H3 lines, 32 characters[3;23r[3;1H[3L[1;24r[3;1Hstart of Xxx[4;9Htest40
end of Xxx[24;1H[K[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[34m^I^I^I^I[m" 1[34m^I[mstart of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 2[34m^I^I[mtest40
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 3[34m^I[mstart of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 4[34m^I^I[mtest40
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 5[34m^I[mend of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 6[34m^I[mend of Xxx
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 7[34m^I[mwrite
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileWriteCmd XtestC '[,']copy $
[?25l[3;1H[?12l[?25h[4;9H[?25ltest401[?12l[?25h[5;10H[?25l[24;1H[K[24;1H:[?12l[?25h4,5w XtestC[34m^I^I^I[m" will copy lines 4 and 5 to the end
[?25l[8;1H test401[8;16H[K[9;1Hend of Xxx[9;11H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hr XtestC[34m^I^I^I[m" should not read anything
[?25l[1m[37m[41mE484: Can't open file XtestC[m[24;29H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 1[34m^I[mstart of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 2[34m^I^I[mtest40
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 3[34m^I[mstart of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 4[34m^I^I[mtest401
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 5[34m^I[mend of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 6[34m^I[mend of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 7[34m^I[mwrite
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 8[34m^I^I[mtest401
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 9[34m^I[mend of Xxx
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FILEAppendCmd XtestD '[,']w! test.out
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XtestD[34m^I^I^I[m" will write all lines to test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 9 lines, 91 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XtestD[34m^I^I^I[m" should not read anything
[?25l[1m[37m[41mE484: Can't open file XtestD[m[24;30H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$w >>test.out[34m^I^I^I[m" append "end of Xxx" to test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 11 characters appended[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadCmd XtestE 0r test.out|$del
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsp XtestE[34m^I^I^I[m" split window with test.out
[?25l"test.out" [24;12H[K[24;12H10 lines, 102 characters[10;1Hend of Xxx[10;11H[K[12;1H[1m[7mXtestE [m[13;1Hend of Xxx[13;11H[K[14;1Hwrite[14;6H[K[15;1H test401[15;16H[K[16;1Hend of Xxx[16;11H[K[23;1H[7mXtestA [10;1H[?12l[?25h[5;1H[?25l[6;11r[m[6;1H[L[1;24r[6;1Hasdf[12;8H[1m[7m[+][m[24;1H[K[6;4H[?12l[?25h[12;1H[7mXtestE [+][m[1m[7m [m[7m [m[23;1H[1m[7mXtestA [16;1H[?25l[24;1H[m:[?12l[?25h"
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufWriteCmd XtestE w! test.out
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwall[34m^I^I^I^I[m" will write other window to test.out
[?25l"test.out" [24;12H[K[24;12H11 lines, 107 characters written[12;8H[7m [16;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 1[34m^I[mstart of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 2[34m^I^I[mtest40
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 3[34m^I[mstart of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 4[34m^I^I[mtest401
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 5[34m^I[mend of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 6[34m^I[masdf
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 7[34m^I[mend of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 8[34m^I[mwrite
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 9[34m^I^I[mtest401
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 10[34m^I[mend of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[34m^I^I^I^I[m" 11[34m^I[mend of Xxx
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test41.in" 24 lines, 421 characters[1;1HTest 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[34m^[[mkY3000p2GY3000p
:w! Xtest
:%d
:e! Xtest
:.w! test.out
3003G:.w >>test.out
6005G:.w >>test.out
:qa!
ENDTEST[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for writing and reading a file of over 100 Kbyte[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 13 lines, 196 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[10;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%d
[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25lThis is the start
This is the leader[2;19H[K[3;1HThis is the middle[3;19H[K[4;1HThis is the trailer[4;20H[K[5;1HThis is the end[5;16H[K[5;15H[?12l[?25h[4;15H[?25l[24;1H3000 more lines[24;16H[K[5;13Htrailer
This is the trailer[6;20H[K[7;1HThis is the trailer[7;20H[K[8;1HThis is the trailer[8;20H[K[9;1HThis is the trailer[9;20H[K[10;1HThis is the trailer[10;20H[K[11;1HThis is the trailer[11;20H[K[12;1HThis is the trailer[12;20H[K[13;1HThis is the trailer[13;20H[K[14;1HThis is the trailer[14;20H[K[15;1HThis is the trailer[15;20H[K[16;1HThis is the trailer[16;20H[K[17;1HThis is the trailer[17;20H[K[18;1HThis is the trailer[18;20H[K[19;1HThis is the trailer[19;20H[K[20;1HThis is the trailer[20;20H[K[21;1HThis is the trailer[21;20H[K[22;1HThis is the trailer[22;20H[K[23;1HThis is the trailer[23;20H[K[5;1H[?12l[?25h[2;1H[?25l[3;13Hleader[4;13Hleader[4;19H[K[5;13Hleader[5;19H[K[6;13Hleader[6;19H[K[7;13Hleader[7;19H[K[8;13Hleader[8;19H[K[9;13Hleader[9;19H[K[10;13Hleader[10;19H[K[11;13Hleader[11;19H[K[12;13Hleader[12;19H[K[13;13Hleader[13;19H[K[14;13Hleader[14;19H[K[15;13Hleader[15;19H[K[16;13Hleader[16;19H[K[17;13Hleader[17;19H[K[18;13Hleader[18;19H[K[19;13Hleader[19;19H[K[20;13Hleader[20;19H[K[21;13Hleader[21;19H[K[22;13Hleader[22;19H[K[23;13Hleader[23;19H[K[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest
[?25l"Xtest" [24;9H[K[24;9H[New File] 6005 lines, 117092 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%d
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest
[?25l"Xtest" [24;9H[K[24;9H6005 lines, 117092 characters[1;1HThis is the start
This is the leader[2;19H[K[3;1HThis is the leader[3;19H[K[4;1HThis is the leader[4;19H[K[5;1HThis is the leader[5;19H[K[6;1HThis is the leader[6;19H[K[7;1HThis is the leader[7;19H[K[8;1HThis is the leader[8;19H[K[9;1HThis is the leader[9;19H[K[10;1HThis is the leader[10;19H[K[11;1HThis is the leader[11;19H[K[12;1HThis is the leader[12;19H[K[13;1HThis is the leader[13;19H[K[14;1HThis is the leader[14;19H[K[15;1HThis is the leader[15;19H[K[16;1HThis is the leader[16;19H[K[17;1HThis is the leader[17;19H[K[18;1HThis is the leader[18;19H[K[19;1HThis is the leader[19;19H[K[20;1HThis is the leader[20;19H[K[21;1HThis is the leader[21;19H[K[22;1HThis is the leader[22;19H[K[23;1HThis is the leader[23;19H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 18 characters written[1;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HThis 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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h.w >>test.out
[?25l"test.out" [24;12H[K[24;12H1 line, 19 characters appended[12;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HThis 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" [24;12H[K[24;12H1 line, 16 characters appended[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test42.in" 130 lines, 2368 characters[1;1HTest 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[11C" 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[22C" Ignore change from setting 'ff'
o[34m^V^@^[[m:set noeol
:w
:set ffs& nobinary[14C" Allow default test42.in format
:e #
:set ff=unix[20C" Format for files to write
:/^ucs-4$/+1w! Xtest5
:/^ucs-4le$/+1w! Xtest6[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for writing and reading a file starting with a BOM[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 111 lines, 2116 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:e! test.out
:$r Xtest0x
:$r Xtest1x
:$r Xtest2x
:$r Xtest3x
:$r Xtest4x
:$r Xtest5x
:$r Xtest6x
:set nobin ff&[15C" Write the file in default format
:w! test.out
:qa!
ENDTEST
latin-1
utf-8
utf-8
utf-8-err
utf-8[34m~@[merr
ucs-2
ucs-2le
[?25l[24;1H[m:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1H:e! test.out
:$r Xtest0x
:$r Xtest1x
:$r Xtest2x
:$r Xtest3x
:$r Xtest4x
:$r Xtest5x
:$r Xtest6x
:set nobin ff&[15C" Write the file in default format
:w! test.out
:qa!
ENDTEST
latin-1
[34m<fe><fe>[mlatin-1
utf-8
[34m<feff>[mutf-8
utf-8-err
[34m<feff>[mutf-8[34m<80>[merr
ucs-2
[34m<fe><ff>^@[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[m
ucs-2le
[34m<ff><fe>[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[13;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hset fileencodings=ucs-bom,latin-1
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff=unix ffs=unix " This changes the file for DOS and MAC
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Write the test files
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^latin-1$/+1w! Xtest0
[?25l"Xtest0" [24;10H[K[24;10H[New File] 1 line, 10 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^utf-8$/+1w! Xtest1
[?25l"Xtest1" [24;10H[K[24;10H[New File] 1 line, 9 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^utf-8-err$/+1w! Xtest2
[?25l"Xtest2" [24;10H[K[24;10H[New File] 1 line, 13 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^ucs-2$/+1w! Xtest3
[?25l"Xtest3" [24;10H[K[24;10H[New File] 1 line, 14 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^ucs-2le$/+1w! Xtest4
[?25l"Xtest4" [24;10H[K[24;10H[New File] 1 line, 17 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Need to add a NUL byte after the NL byte
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest4 " Ignore change from setting 'ff'
[?25l"Xtest4" [24;10H[K[24;10H1 line, 17 characters[1;1H[34m<ff><fe>[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[m
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h
[?25l[m[34m^@[m[2;3H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noeol
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xtest4" [Incomplete last line] 2 lines, 18 characters written[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ffs& nobinary " Allow default test42.in format
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he #
[?25l"test42.in" [converted] 130 lines, 2385 characters[1;1H:$r Xtest0x[1;12H[K[2;1H:$r Xtest1x
:$r Xtest2x[3;12H[K[4;1H:$r Xtest3x[4;12H[K[5;1H:$r Xtest4x[5;12H[K[6;1H:$r Xtest5x[6;12H[K[7;1H:$r Xtest6x[7;12H[K[8;1H:set nobin ff& " Write the file in default format[8;64H[K[9;1H:w! test.out[9;13H[K[10;1H:qa![10;5H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1Hlatin-1[13;8H[K[14;1Hþ[14;2Hþ[14;3Hlatin-1[14;10H[K[15;1Hutf-8[15;6H[K[16;1H[16;4Hutf-8[16;9H[K[17;1Hutf-8-err[17;10H[K[18;1H[18;4Hutf-8[34m<80>[merr[18;16H[K[19;1Hucs-2[19;6H[K[20;1Hþ[20;2Hÿ[34m^@[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[m[20;20H[K[21;1Hucs-2le[21;8H[K[22;1Hÿþ[22;3Hu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[m[22;24H[K[23;1Hucs-4[23;6H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff=unix " Format for files to write
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^ucs-4$/+1w! Xtest5
[?25l"Xtest5" [24;10H[K[24;10H[converted][New File] 1 line, 30 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^ucs-4le$/+1w! Xtest6
[?25l"Xtest6" [24;10H[K[24;10H[converted][New File] 1 line, 35 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Need to add three NUL bytes after the NL byte
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest6 " ! for when setting 'ff' is a change
[?25l"Xtest6" [24;10H[K[24;10H1 line, 33 characters[1;1H[34m<ff><fe>^@^@[mu[34m^@^@^@[mc[34m^@^@^@[ms[34m^@^@^@[m-[34m^@^@^@[m4[34m^@^@^@[ml[34m^@^@^@[me[34m^@^@^@[m
[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h
~ [?25l[m
[34m^@^@^@[m[2;7H[K[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noeol
[?25l[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"Xtest6" [Incomplete last line] 2 lines, 36 characters written[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nobin
[?25l[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he #
[?25l"test42.in" [converted] 130 lines, 2385 characters[1;1H:$r Xtest0x[1;12H[K[2;1H:$r Xtest1x
:$r Xtest2x[3;12H[K[4;1H:$r Xtest3x[4;12H[K[5;1H:$r Xtest4x[5;12H[K[6;1H:$r Xtest5x[6;12H[K[7;1H:$r Xtest6x[7;12H[K[8;1H:set nobin ff& " Write the file in default format[8;64H[K[9;1H:w! test.out[9;13H[K[10;1H:qa![10;5H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1Hlatin-1[13;8H[K[14;1Hþ[14;2Hþ[14;3Hlatin-1[14;10H[K[15;1Hutf-8[15;6H[K[16;1H[16;4Hutf-8[16;9H[K[17;1Hutf-8-err[17;10H[K[18;1H[18;4Hutf-8[34m<80>[merr[18;16H[K[19;1Hucs-2[19;6H[K[20;1Hþ[20;2Hÿ[34m^@[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[m[20;20H[K[21;1Hucs-2le[21;8H[K[22;1Hÿþ[22;3Hu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[m[22;24H[K[23;1Hucs-4[23;6H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check that editing a latin-1 file doesn't see a BOM
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest0
[?25l"Xtest0" [24;10H[K[24;10H[converted] 1 line, 12 characters[1;1Hþ[1;2Hþ[1;3Hlatin-1[1;10H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir! >test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=latin1
nobomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hþ[1;2Hþ[1;3Hlatin-1
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 12 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bomb fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest0x
[?25l"Xtest0x" [24;11H[K[24;11H[converted][New File] 1 line, 12 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check utf-8
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest1
[?25l"Xtest1" [24;10H[K[24;10H1 line, 9 characters[1;1Hutf-8[1;6H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=utf-8
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hutf-8
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 6 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=utf-8
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest1x
[?25l"Xtest1x" [24;11H[K[24;11H[New File] 1 line, 9 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check utf-8 with an error (will fall back to latin-1)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest2
[?25l"Xtest2" [24;10H[K[24;10H[converted] 1 line, 17 characters[1;1H[1;4Hutf-8[34m<80>[merr
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=latin1
nobomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1H[1;4Hutf-8[34m<80>[merr
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 17 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=utf-8
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest2x
[?25l"Xtest2x" [24;11H[K[24;11H[New File] 1 line, 17 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check ucs-2
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest3
[?25l"Xtest3" [24;10H[K[24;10H[converted] 1 line, 8 characters[1;1Hucs-2[1;6H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=utf-16
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hucs-2
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 6 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=ucs-2
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest3x
[?25l"Xtest3x" [24;11H[K[24;11H[converted][New File] 1 line, 8 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check ucs-2le
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest4
[?25l"Xtest4" [24;10H[K[24;10H[converted] 1 line, 10 characters[1;6Hle
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=utf-16le
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hucs-2le
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 8 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=ucs-2le
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest4x
[?25l"Xtest4x" [24;11H[K[24;11H[converted][New File] 1 line, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check ucs-4
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest5
[?25l"Xtest5" [24;10H[K[24;10H[converted] 1 line, 10 characters[1;5H4[1;6H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=ucs-4
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hucs-4
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 6 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=ucs-4
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest5x
[?25l"Xtest5x" [24;11H[K[24;11H[converted][New File] 1 line, 10 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check ucs-4le
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtest6
[?25l"Xtest6" [24;10H[K[24;10H[converted] 1 line, 12 characters[1;6Hle
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir >>test.out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileencoding bomb?
[?25l[24;1H[K[24;1H fileencoding=ucs-4le
bomb
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[2L[1;1Hucs-4le
[1m[34m~ [m[24;3H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset fenc=latin-1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>test.out
[?25l"test.out" [24;12H[K[24;12H[converted] 1 line, 8 characters appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fenc=ucs-4le
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest6x
[?25l"Xtest6x" [24;11H[K[24;11H[converted][New File] 1 line, 12 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" --- Check the files written with BOM
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H35 lines, 275 characters[1;1H[K[2;1H[K[3;1H fileencoding=latin1[3;22H[K[4;1Hnobomb[4;7H[K[5;1H[34m<fe><fe>[mlatin-1[5;16H[K[6;1H[K[7;1H[K[8;1H fileencoding=utf-8[8;21H[K[9;1H bomb[9;7H[K[10;1Hutf-8[10;6H[K[11;1H[K[12;1H[K[13;1H fileencoding=latin1[13;22H[K[14;1Hnobomb[14;7H[K[15;1H[34m<feff>[mutf-8[34m<80>[merr[15;19H[K[16;1H[K[17;1H[K[18;1H fileencoding=utf-16[18;22H[K[19;1H bomb[19;7H[K[20;1Hucs-2[20;6H[K[21;1H[K[22;1H[K[23;1H fileencoding=utf-16le[23;24H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r Xtest0x
[?25l"Xtest0x" [24;11H[K[24;11H1 line, 10 characters[1;23r[1;1H[13M[1;24r[11;3Hbomb
ucs-2le[15;3Hfileencoding=ucs-4
bomb
ucs-4[20;3Hfileencoding=ucs-4le
bomb
ucs-4le
[34m<fe><fe>[mlatin-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest1x
[?25l"Xtest1x" [24;11H[K[24;11H1 line, 9 characters[1;23r[23;1H
[1;24r[23;1H[34m<feff>[mutf-8[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest2x
[?25l"Xtest2x" [24;11H[K[24;11H1 line, 17 characters[1;23r[23;1H
[1;24r[23;1H[23;4Hutf-8[34m<80>[merr[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest3x
[?25l"Xtest3x" [24;11H[K[24;11H1 line, 14 characters[1;23r[23;1H
[1;24r[23;1H[34m<fe><ff>^@[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest4x
[?25l"Xtest4x" [24;11H[K[24;11H[Incomplete last line] 2 lines, 18 characters[1;23r[23;1H
[1;24r[23;1H[34m<ff><fe>[mu[34m^@[mc[34m^@[ms[34m^@[m-[34m^@[m2[34m^@[ml[34m^@[me[34m^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest5x
[?25l"Xtest5x" [24;11H[K[24;11H1 line, 28 characters[1;23r[1;1H[2M[1;24r[22;1H[34m^@
^@^@<fe><ff>^@^@^@[mu[34m^@^@^@[mc[34m^@^@^@[ms[34m^@^@^@[m-[34m^@^@^@[m4[34m^@^@^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtest6x
[?25l"Xtest6x" [24;11H[K[24;11H[Incomplete last line] 2 lines, 36 characters[1;23r[23;1H
[1;24r[23;1H[34m<ff><fe>^@^@[mu[34m^@^@^@[mc[34m^@^@^@[ms[34m^@^@^@[m-[34m^@^@^@[m4[34m^@^@^@[ml[34m^@^@^@[me[34m^@^@^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset nobin ff& " Write the file in default format
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H44 lines, 409 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test43.in" 34 lines, 473 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with various magic settings.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 19 lines, 268 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^1
[?25l[1;23r[23;1H
[1;24r[23;1H1 a aa abb abbccc[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25ha*b\{2}c\+/e
[?25l[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\Md\*e\{2}f\+/e
[?25l[1;23r[23;1H
[1;24r[23;1H2 d dd dee deefff[24;1H[K[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l
:[?12l[?25hset nomagic
[?25l[23;16H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hg\*h\{2}i\+/e
[?25l[1;23r[23;1H
[1;24r[23;1H3 g gg ghh ghhiii[24;1H[K[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l
/[?12l[?25h\mj*k\{2}l\+/e
[?25l[1;23r[23;1H
[1;24r[23;1H4 j jj jkk jkklll[24;1H[K[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l
/[?12l[?25h\vm*n{2}o+/e
[?25l[1;23r[23;1H
[1;24r[23;1H5 m mm mnn mnnooo[24;1H[K[23;17H[?12l[?25h[?25l[23;17H[K[23;16H[?12l[?25h[?25l
/[?12l[?25h\V^aa$
[?25l[1;23r[23;1H
[1;24r[23;1H6 x ^aa$ x[24;1H[K[23;5H[?12l[?25h[?25laa$ x[23;10H[K[23;5H[?12l[?25h[?25l
:[?12l[?25hset magic
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\v(a)(b)\2\1\1/e
[?25l[1;23r[23;1H
[1;24r[23;1H7 (a)(b) abbaa[24;1H[K[23;14H[?12l[?25h[?25l[23;14H[K[23;13H[?12l[?25h[?25l
/[?12l[?25h\V[ab]\(\[xy]\)\1
[?25l[1;23r[23;1H
[1;24r[23;1H8 axx [ab]xx[24;1H[K[23;7H[?12l[?25h[?25lab]x[23;12H[K[23;7H[?12l[?25h[?25l
:[?12l[?25h$
[?25l[1;23r[1;1H[2M[1;24r[22;1H9 foobar[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset undolevels=100
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H?[?12l[?25hbar?
[?25l[24;5H[K[24;1H[22;6H[K[23;1H[1m[34m~ [22;5H[?12l[?25h[?25l[m
1 more line; before #2 0 seconds ago[22;6Hbar[23;1H[K[22;6H[?12l[?25h[?25l
9 foo
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h?^1?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 11L, 137C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test44.in" 81 lines, 1492 characters[1;1HTests 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
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with multi-byte encoding and various magic settings.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
: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
: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
:[?12l[?25h" Test \%u, [\u] and friends
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" c
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%u20ac
[?25l[1;23r[23;1H
:[?12l[?25h" d
[?25l[23;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\u4f7f\u5929]\+
[?25l[1;23r[23;1H
:[?12l[?25h" e
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%U12345678
[?25l[1;23r[23;1H
:[?12l[?25h" f
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h[\U1234abcd\u1234\uabcd]
[?25l[1;23r[23;1H
:[?12l[?25h" g
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%d21879b
[?25l[1;23r[23;1H
:[?12l[?25h" j Test backwards search from a multi-byte char
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hx
[?25l[1;23r[23;1H
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" l Test what 7.3.192 fixed
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^l
[?25l[1;23r[23;1H
2 d dd dee deeff
3 g gg ghh ghhii
4 j jj jkk jkkll
5 m mm mnn mnnoo
g abb
[7mtest.out [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =['dog(a', 'cat(']
[?25l[2;1Hdog(a[2;6H[K[3;1Hcat([3;5H[K[12;11H[1m[7m[+][3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25h(/e+
[?25l/(/e+1
[3;4H[?12l[?25h[?25l[24;1H[31msearch hit BOTTOM, continuing at TOP[2;5H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hbd!
[?25l[1;1H1 a aa abb abbcc
2 d dd dee deeff
3 g gg ghh ghhii
e y
[1;24r[24;1H[K[23;1H[?12l[?25h[?25la[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hcat(
[?12l[?25h[?25l
:[?12l[?25hw!
[?25l"test.out" 25L, 271C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test45.in" 90 lines, 1953 characters[1;1HTests 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{{ [34m^[[mr{jj:call append("$", foldlevel("."))
kYpj:call append("$", foldlevel("."))[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for folding. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 73 lines, 1820 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:new
iTest fdm=indent and :move bug END
line2[4;9HTest fdm=indent START[5;9Hline3[6;9Hline4[34m^[[m
: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" We also need the +syntax feature here.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has("syntax")
[?25l
: [?12l[?25h e! test.ok
[?25l: [?12l[?25h w! test.out
[?25l: [?12l[?25h qa!
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:new
iTest fdm=indent and :move bug END
line2[4;9HTest fdm=indent START[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" basic test if a fold can be created, opened, moving to the end and closed
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^1
[?25l[14;1H[?12l[?25h[?25l[34m[47m+-- 3 lines: 1 aa--------------------------------------------------------------[m[15;1H4 dd {{{
5 ee {{{ }}}
6 ff }}}
7 gg[18;6H[K[19;1H8 hh[19;6H[K[20;1H9 ii
a jj
b kk
last[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", "manual " . getline(foldclosed(".")))
[?25l[14;1H[?12l[?25h[?25l1 aa[14;5H[K[15;1H2 bb[15;6H[K[16;1H3 cc[16;6H[K[17;1H4 dd {{{
5 ee {{{ }}}
6 ff }}}
7 gg
8 hh
9 ii
a jj[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldclosed("."))
[?25l[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", getline("."))
[?25l[16;1H[?12l[?25h[?25l[14;1H[34m[47m+-- 3 lines: 1 aa--------------------------------------------------------------[m[15;1H4 dd {{{
5 ee {{{ }}}
6 ff }}}
7 gg[18;6H[K[19;1H8 hh[19;6H[K[20;1H9 ii
a jj
b kk
last[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", getline(foldclosed(".")))
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test folding with markers.
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fdm=marker fdl=1 fdc=3
[?25l[1;1H[34m[47m [m:new
[34m[47m [miTest fdm=indent and :move bug END
[34m[47m [mline2
[34m[47m [m Test fdm=indent START
[34m[47m [m line3
[34m[47m [m line4[34m^[[m
[34m[47m [m:set fdm=indent
[34m[47m [m:1m1
[34m[47m [m2jzc:m0
[34m[47m [m:%w >> test.out
[34m[47m [m:qa!
[34m[47m [mENDTEST
[34m[47m
[m1 aa[14;8H[K[15;1H[34m[47m [m2 bb[15;8H[K[16;1H[34m[47m [m3 cc[16;8H[K[17;1H[34m[47m- [m4 dd {{{
[34m[47m|- [m5 ee {{{ }}}
[34m[47m| [m6 ff }}}
[34m[47m [m7 gg
[34m[47m [m8 hh
[34m[47m [m9 ii
[34m[47m [ma jj[16;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^5
[?25l[18;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", "marker " . foldlevel("."))
[?25l[18;4H[?12l[?25h[17;4H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[17;4H[?12l[?25h[18;4H[?25l[20;23r[20;1H[L[1;24r[19;4H{{ [19;7H[K[20;1H[34m[47m| [m6 ff }}}[24;1H[K[19;6H[?12l[?25h[?25l[19;2H[34m[47m-[m[3C{[20;2H[34m[47m|
|
|
|[19;6H[?12l[?25h[20;6H[21;6H[?25l
[m:[?12l[?25hcall append("$", foldlevel("."))
[?25l[21;6H[?12l[?25h[20;6H[?25l[21;4H6 ff }}}
[34m[47m [m[2C7 gg
[34m[47m [m[2C8 hh[21;4H[?12l[?25h[22;4H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[22;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test folding with indent
[?25l[22;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fdm=indent sw=2
[?25l[4;1H[34m[47m-+[m[1C[34m[47m+--- 3 lines: Test fdm=indent START-----------------------------------------[m[5;4H:set fdm=indent[6;4H:1m1[6;12H[K[7;4H2jzc:m0[7;11H[K[8;5H%w >> test.out[9;4H:qa![9;8H[K[10;4HENDTEST[10;11H[K[11;4H[K[12;4H1 aa[12;8H[K[13;4H2 bb[14;4H3 cc[15;4H4 dd {{{[16;4H5 ee {{{ }}}
[34m[47m [m[2C{{{[17;7H[K[18;1H[34m[47m [m[1C6 ff }}}[18;13H[K[19;1H[34m[47m [m[1C6 ff }}}
[34m[47m [m[1C7 gg[20;9H[K[21;1H[34m[47m [m[2C8 hh[21;9H[K[22;4H9 ii[23;4Ha jj[20;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^2 b
[?25l[31msearch hit BOTTOM, continuing at TOP[13;4H[?12l[?25h[?25l[m
[34m[47m-[m[2C 2 bb[?12l[?25h[14;5H[?25l
[34m[47m|-[m[1C 3 cc[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", "indent " . foldlevel("."))
[?25l[14;7H[?12l[?25h[13;7H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[13;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test syntax folding
[?25l[13;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fdm=syntax fdl=0
[?25l[4;1H[34m[47m [m[1C Test fdm=indent START[4;33H[K[5;4H line3[5;17H[K[6;4H line4[34m^[[m[7;4H:set fdm=indent[8;5H1m1[8;8H[K[9;4H2jzc:m0[10;4H:%w >> test.out[11;4H:qa![12;4HENDTEST
[34m[47m [m[13;6H[K[14;1H[34m[47m [m[1C1 aa[14;8H[K[15;4H 2 bb[15;10H[K[16;4H 3 cc[16;13H[K[17;4H4 dd {{{[18;4H5 ee {{{ }}}[19;4H{{{[19;7H[K[20;4H6 ff }}}[21;4H6 ff }}}[22;4H7 gg[23;4H8 hh[15;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn region Hup start="dd" end="ii" fold contains=Fd1,Fd2,Fd3
[?25l[17;1H[34m[47m+[m[2C[34m[47m+-- 8 lines: 4 dd ----------------------------------------------------------[m[18;4Ha jj[18;9H[K[19;4Hb kk[20;4Hlast[20;9H[K[21;4Hmanual 1 aa[22;4H-1[22;6H[K[23;4H3 cc[15;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn region Fd1 start="ee" end="ff" fold contained
[?25l[15;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn region Fd2 start="gg" end="hh" fold contained
[?25l[15;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn region Fd3 start="commentstart" end="commentend" fold contained
[?25l[15;7H[?12l[?25h[?25l[1;23r[1;1H[7M[1;24r[17;1H[34m[47m [m1 aa
[34m[47m [mmarker 2
[34m[47m [m1
[34m[47m [m1
[34m[47m [m0
[34m[47m [mindent 2
[34m[47m [m1[24;1H[K[23;4H[?12l[?25h[10;4H[?25l[24;1H:[?12l[?25hcall append("$", "folding " . getline("."))
[?25l[10;4H[?12l[?25h[9;4H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", getline("."))
[?25l[9;4H[?12l[?25h[10;4H[?25l
[34m[47m--[m[1C4 dd {{{commentstart [10;26H[K[11;1H[34m[47m||[m[1C5 ee {{{ }}}
[34m[47m||[m[1C{{{[12;7H[K[13;1H[34m[47m||[m[1C6 ff }}}
[34m[47m||[m[1C6 ff }}}[14;13H[K[15;1H[34m[47m||[m[1C7 gg
[34m[47m||[m[1C8 hh
[34m[47m||[m[1C9 ii
[34m[47m||[m[1Ca jj[18;8H[K[19;1H[34m[47m||[m[1Cb kk
[34m[47m||[m[1Clast
[34m[47m||[m[1Cmanual 1 aa
[34m[47m||[m[1C-1[22;6H[K[23;1H[34m[47m||[m[1C3 cc[10;25H[?12l[?25h[?25l[10;2H[34m[47m [m[23Ccommentend[11;2H[34m[47m-[14;2H
|-
|
[10;35H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fdl=1
[?25l[11;2H[34m[47m+[m[1C[34m[47m+--- 3 lines: 5 ee ---------------------------------------------------------[m[12;2H[34m[47m [m[1C6 ff }}}[13;2H[34m[47m+[m[1C[34m[47m+--- 2 lines: 7 gg----------------------------------------------------------[m[14;4H9 ii[14;9H[K[15;1H[34m[47m [m[1Ca jj
[34m[47m [m[1Cb kk
[34m[47m [m[2Clast[18;4Hmanual 1 aa[19;4H-1[19;6H[K[20;4H3 cc[21;4H1 aa[21;8H[K[22;4Hmarker 2[23;4H1[23;6H[K[10;35H[?12l[?25h[13;4H[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", getline("."))
[?25l[13;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fdl=0
[?25l[10;1H[34m[47m+[m[2C[34m[47m+-- 8 lines: 4 dd commentstart commentend----------------------------------[m[11;1H[34m[47m [m[1Ca jj[11;8H[K[12;1H[34m[47m [m[2Cb kk[12;9H[K[13;1H[34m[47m [m[1Clast[13;8H[K[14;1H[34m[47m [m[2Cmanual 1 aa[15;4H-1[15;6H[K[16;4H3 cc[17;4H1 aa[18;6Hrker 2[18;13H[K[19;4H1[19;5H[K[20;4H1[20;6H[K[21;4H0[21;6H[K[22;4Hindent[10;4H[?12l[?25h[?25l
[34m[47m-[m[2C4 dd {{{commentstart commentend[10;36H[K[11;1H[34m[47m|-[m[1C5 ee {{{ }}}
[34m[47m||[m[1C{{{[12;7H[K[13;1H[34m[47m||[m[1C6 ff }}}
[34m[47m|[m[2C6 ff }}}[14;13H[K[15;1H[34m[47m|-[m[1C7 gg
[34m[47m||[m[1C8 hh
[34m[47m|[m[2C9 ii[18;4Ha jj[18;8H[K[19;4Hb kk[20;4Hlast[21;4Hmanual 1 aa[22;4H-1[22;6H[K[23;4H3 cc[15;7H[?12l[?25h[27m[23m[m[H[2J[?25l[1;1H[34m[47m [m:1m1
[34m[47m [m2jzc:m0
[34m[47m [m:%w >> test.out
[34m[47m [m:qa!
[34m[47m [mENDTEST
[34m[47m
[m1 aa
[34m[47m [m 2 bb
[34m[47m [m 3 cc
[34m[47m- [m4 dd {{{commentstart commentend
[34m[47m|- [m5 ee {{{ }}}
[34m[47m|| [m{{{
[34m[47m|| [m6 ff }}}
[34m[47m| [m6 ff }}}
[34m[47m|- [m7 gg
[34m[47m|| [m8 hh
[34m[47m| [m9 ii
[34m[47m [ma jj
[34m[47m [mb kk
[34m[47m [mlast
[34m[47m [mmanual 1 aa
[34m[47m [m-1
[34m[47m [m3 cc[15;7H[?12l[?25h[16;4H[?25l[24;1H:[?12l[?25hcall append("$", getline("."))
[?25l[16;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test expression folding
[?25l[16;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[12L[?25l[1;1H[34m[47m [m:1m1
[34m[47m [m2jzc:m0
[34m[47m [m:%w >> test.out
[34m[47m [m:qa!
[34m[47m [mENDTEST
[34m[47m
[m1 aa
[34m[47m [m 2 bb
[34m[47m [m 3 cc
[34m[47m- [m4 dd {{{commentstart commentend
[34m[47m|- [m5 ee {{{ }}}
[34m[47m|| [m{{{[24;1H[K[16;4H[?12l[?25h[?25l[24;1H:[?12l[?25hset fdm=expr fde=Flvl()
[?25l[8;1H[34m[47m+[m[2C[34m[47m+-- 11 lines: 2 bb-----------------------------------------------------------[m[9;4Hb kk[9;8H[K[10;1H[34m[47m [m[2Clast[10;9H[K[11;1H[34m[47m [m[1Cmanual 1 aa[11;15H[K[12;1H[34m[47m [m[1C-1[12;6H[K[13;1H[34m[47m [m[1C3 cc[13;9H[K[14;1H[34m[47m [m[2C1 aa[14;9H[K[15;1H[34m[47m [m[1Cmarker 2
[34m[47m [m[1C1[16;6H[K[17;1H[34m[47m [m[2C1[17;6H[K[18;4H0[18;6H[K[19;4Hindent 2[20;4H1[20;5H[K[21;1H[34m[47m+[m[2C[34m[47m+-- 4 lines: folding 9 ii---------------------------------------------------[m[22;4H[1m[34m~ [23;4H~ [8;4H[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25hbb$
[?25l[31msearch hit BOTTOM, continuing at TOP[m[8;1H[34m[47m--[m[1C 2 bb[8;10H[K[9;1H[34m[47m||[m[1C 3 cc
[34m[47m||[m[1C4 dd {{{commentstart commentend
[34m[47m||[m[1C5 ee {{{ }}}
[34m[47m||[m[1C{{{
[34m[47m||[m[1C6 ff }}}
[34m[47m||[m[1C6 ff }}}
[34m[47m||[m[1C7 gg[15;8H[K[16;1H[34m[47m|[m[2C8 hh
[34m[47m|+[m[1C[34m[47m+--- 2 lines: 9 ii----------------------------------------------------------[m[18;4Hb kk[19;4Hlast[19;8H[K[20;4Hmanual 1 aa
[34m[47m [m[2C-1[21;6H[K[22;4H3 cc[22;8H[K[23;4H1 aa[23;8H[K[8;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", "expr " . foldlevel("."))
[?25l[8;8H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hhh$
[?25l[16;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[16;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hii$
[?25l[17;2H[34m[47m-[m[1C9 ii[17;8H[K[18;1H[34m[47m||[m[1Ca jj[19;4Hb kk[20;4Hlast[20;8H[K[21;4Hmanual 1 aa[22;4H-1[22;6H[K[23;4H3 cc[17;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[17;6H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hkk$
[?25l[19;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append("$", foldlevel("."))
[?25l[19;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^last/+1,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 18 lines, 96 characters written[19;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfun Flvl
[?25l[19;6H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;4H[K[8;1H[34m[47m
[m[2;4H[1m[34m~ [3;4H~ [4;4H~ [5;4H~ [6;4H~ [7;4H~ [8;4H~ [9;4H~ [10;4H~ [11;4H~ [m[12;1H[1m[7m[No Name] [m[13;4H5 ee {{{ }}}[14;4H{{{[14;7H[K[15;4H6 ff }}}[16;2H[34m[47m|[m[1C6 ff }}}[17;2H[34m[47m|[m[1C7 gg[18;2H[34m[47m [m[1C8 hh
[34m[47m|-[m[1C9 ii
[34m[47m||[m[1Ca jj[21;4Hb kk[21;8H[K[22;4Hlast
[7mtest45.in [+] [1;4H[?12l[?25h[?25l[mTest fdm=indent and :move bug END[2;4Hline2[2;9H[K[3;4H Test fdm=indent START[3;33H[K[4;4H line3[4;17H[K[5;4H line4[5;17H[K[12;11H[1m[7m[+][5;16H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fdm=indent
[?25l[3;1H[34m[47m+[m[2C[34m[47m+-- 3 lines: Test fdm=indent START------------------------------------------[m[4;4H[1m[34m~ [5;4H~ [3;4H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h1m1
[?25l[1;4H[?12l[?25h[3;4H[?25l[24;1H[K[24;1H:[?12l[?25hm0
[?25l3 lines moved[1;1H[34m[47m+[m[2C[34m[47m+-- 3 lines: Test fdm=indent START------------------------------------------[m[2;4HTest fdm=indent and :move bug END
[34m[47m [m[2Cline2[3;9H[K[1;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%w >> test.out
[?25l"test.out" [24;12H[K[24;12H5 lines, 77 characters appended[12;1H[1m[7mtest.out [+]] [1;4H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test48.in" 83 lines, 1658 characters[1;1HThis 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[34m^N^[[m
:"
:" Using "C" then then <CR> moves the last remaining character to the next
:" line. (Mary Ellen Foster)
j^/are
C[34m^M[mare belong to vim[34m^[[m
:"
:" When past the end of a line that ends in a single character "b" skips
:" that word.
^$15lbC7[34m^[[m
:"
:" Make sure 'i' works[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HThis is a test of 'virtualedit'.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 61 lines, 1442 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:set display=
:"
:" Test for ^Y/^E due to bad w_virtcol value, reported by
:" Roy <royl@netropolis.net>.
^O[34m^[[m3li[34m^E^[[m4li[34m^E^[[m4li[34m^E[m <-- should show the name of a noted text editor[34m^[[m
^o[34m^[[m4li[34m^Y^[[m4li[34m^Y^[[m4li[34m^Y[m <-- and its version number[34m^[[m-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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noswf
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=all
[?25l[13;1H[?12l[?25h[12;1H[?25l[24;1H65 fewer lines[1;23r[1;1H[12M[1;24r[12;1Hthis is a test
"r"
"r"
a[34m^V[mb[34m^M[msd
abcv6efi.him0kl
[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[24;1H65 fewer lines[1;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Insert "keyword keyw", ESC, C CTRL-N, shows "keyword ykeyword".
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Repeating CTRL-N fixes it. (Mary Ellen Foster)
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hw
[?25l[2;12H[?12l[?25h[?25l$[24;1H[32mScanning tags.[m
The only match[2;16H[24;1H[K[2;12Hword[?12l[?25h[3;15H[?25l[24;1H:[?12l[?25h"
[?25l[3;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Using "C" then then <CR> moves the last remaining character to the next
[?25l[3;15H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" line. (Mary Ellen Foster)
[?25l[3;15H[?12l[?25h[4;15H
[?25l[24;1H[K[24;1H/[?12l[?25hare
[?25l[31msearch hit BOTTOM, continuing at TOP[3;15H[?12l[?25h[?25l[m[15C$[3;15H[K[4;1Hare belong to vim
1 2 3 4 5 6
'i
'C
'a
'A
'D'[10;4H[K[13;1Hthis is a test
"r"
a[34m^V[mb[34m^M[msd[16;9H[K[17;1Habcv6efi.him0kl[19;1H[K[4;17H[?12l[?25h[5;17H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[5;17H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When past the end of a line that ends in a single character "b" skips
[?25l[5;17H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" that word.
[?25l[5;17H[?12l[?25h
[10C[15C[5;11H[?25l$7[?12l[?25h[6;11H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[6;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'i' works
[?25l[6;11H[?12l[?25h
'i' [?25l<-- should be 3 ' '[?12l[?25h[7;25H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[7;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'C' works
[?25l[7;25H[?12l[?25h
'C' [?25l$<-- should be 3 ' '[?12l[?25h[8;25H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[8;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'a' works
[?25l[8;25H[?12l[?25h
'a' [?25l <-- should be 4 ' '[?12l[?25h[9;26H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'A' works
[?25l[9;26H[?12l[?25h
'A' [?25l<-- should be 0 ' '[?12l[?25h[10;22H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[10;22H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Make sure 'D' works
[?25l[10;22H[?12l[?25h
'D' [?25l<-- 'D' should be intact[?12l[?25h[11;30H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[11;30H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for yank bug reported by Mark Waggoner.
[?25l[11;30H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=block
[?25l[11;14H[?12l[?25h
[8C[?25l[?12l[?25h[?25l[7ma[12;9Ha[13;9Ha[14;9H[?12l[?25h[?25l[m[11;9Ha[12;9Ha[13;9Ha[24;1Hblock of 4 lines yanked[11;9H[?12l[?25h[19;1H[?25l[24;1H3 more lines[24;13H[K[19;1Ha
a[20;2H[K[21;1Ha[21;2H[K[22;1H [22;2H[K[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test "r" beyond the end of the line
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=all
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^"r"
[?25l[31msearch hit BOTTOM, continuing at TOP[14;1H[?12l[?25h[m"r" [?25lx[?12l[?25h[?25lx<-- should be 'x'[?12l[?25h[15;25H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[15;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test "r" on a tab
[?25l[15;25H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Note that for this test, 'ts' must be 8 (the default).
[?25l[15;25H[?12l[?25h
"r" [?25lx[?12l[?25h[?25lx <-- should be ' x '[?12l[?25h[16;29H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[16;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test to make sure 'x' can delete control characters
[?25l[16;29H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset display=uhex
[?25l[16;2H[34m<16>[mb[34m<0d>[msd[20C[?12l[?25h
[?25l[34m<16>[mb[34m<0d>[msd[16;12H[K[16;1H[?12l[?25h[?25lb[34m<0d>[msd[16;8H[K[16;1H[?12l[?25h[?25l[34m<0d>[msd[16;7H[K[16;1H[?12l[?25h[?25lsd[16;3H[K[16;1H[?12l[?25h[?25ld[16;2H[K[16;1H[?12l[?25h[?25l[16;1H[K[16;1H[?12l[?25h[?25l[This line should contain only the text between the brackets.][?12l[?25h[17;62H[?25l[24;1H[K[24;1H:[?12l[?25hset display=
[?25l[17;62H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[17;62H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for ^Y/^E due to bad w_virtcol value, reported by
[?25l[17;62H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Roy <royl@netropolis.net>.
[?25l[17;62H[?12l[?25h
[?25l[17;23r[17;1H[L[1;24r[24;1H[K[17;1H[?12l[?25h [?25lv[?12l[?25hv [?25li[?12l[?25hi [?25lm <-- should show the name of a noted text editor[?12l[?25h[18;62H
[?25l[19;23r[19;1H[L[1;24r[19;1H[?12l[?25h [?25l6[?12l[?25h6 [?25l.[?12l[?25h. [?25l0 <-- and its version number[?12l[?25h[18;1H[?25l[18;23r[23;1H
[1;24r[18;5H[?12l[?25h
[?25l[24;1H:[?12l[?25h"
[?25l[19;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for yanking and pasting using the small delete register
[?25l[19;5H[?12l[?25h[1;1H[?25l[24;1H[K[24;1H/[?12l[?25h^foo
[?25l[31msearch hit BOTTOM, continuing at TOP[1;1H[?12l[?25h[?25l[m, bar[1;6H[K[1;1H[?12l[?25h, [?25l[?12l[?25h[?25l[7mba[?12l[?25h[?25l[?12l[?25h[?25l[mfoo[?12l[?25h
keyw[?25l[24;1H[K[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test51.in" 36 lines, 809 characters[1;1HTests 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=#000[11;1Hff00 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for ":highlight". vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 31 lines, 747 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[13M[1;24r[11;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" basic test if ":highlight" doesn't crash
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhighlight
[?25l
SpecialKey [34mxxx[m [34mterm=[mbold [34mctermfg=[m4 [34mguifg=[mBlue
EndOfBuffer [1m[34mxxx[m [34mlinks to[m NonText
NonText[8C[1m[34mxxx[m [34mterm=[mbold [34mcterm=[mbold [34mctermfg=[m4 [34mgui=[mbold [34mguifg=[mBlue
Directory [34mxxx[m [34mterm=[mbold [34mctermfg=[m4 [34mguifg=[mBlue
ErrorMsg[7C[1m[37m[41mxxx[m [34mterm=[mstandout [34mcterm=[mbold [34mctermfg=[m7 [34mctermbg=[m1 [34mguifg=[mWhite
[19C[34mguibg=[mRed
IncSearch [7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mgui=[mreverse
Search[9C[30m[43mxxx[m [34mterm=[mreverse [34mctermfg=[m0 [34mctermbg=[m3 [34mguibg=[mYellow
MoreMsg[8C[32mxxx[m [34mterm=[mbold [34mctermfg=[m2 [34mgui=[mbold [34mguifg=[mSeaGreen
ModeMsg[8C[1mxxx[m [34mterm=[mbold [34mcterm=[mbold [34mgui=[mbold
LineNr[9C[33mxxx[m [34mterm=[munderline [34mctermfg=[m3 [34mguifg=[mBrown
CursorLineNr [33mxxx[m [34mterm=[mbold [34mctermfg=[m3 [34mgui=[mbold [34mguifg=[mBrown
Question[7C[32mxxx[m [34mterm=[mstandout [34mctermfg=[m2 [34mgui=[mbold [34mguifg=[mSeaGreen
StatusLine [1m[7mxxx[m [34mterm=[mbold,reverse [34mcterm=[mbold,reverse [34mgui=[mbold,reverse
StatusLineNC [7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mgui=[mreverse
VertSplit [7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mgui=[mreverse
Title[10C[35mxxx[m [34mterm=[mbold [34mctermfg=[m5 [34mgui=[mbold [34mguifg=[mMagenta
Visual[9C[7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mguibg=[mLightGrey
VisualNOS xxx cleared
WarningMsg [31mxxx[m [34mterm=[mstandout [34mctermfg=[m1 [34mguifg=[mRed
WildMenu[7C[30m[43mxxx[m [34mterm=[mstandout [34mctermfg=[m0 [34mctermbg=[m3 [34mguifg=[mBlack [34mguibg=[mYellow
Folded[9C[34m[47mxxx[m [34mterm=[mstandout [34mctermfg=[m4 [34mctermbg=[m7 [34mguifg=[mDarkBlue
[19C[34mguibg=[mLightGrey
FoldColumn [34m[47mxxx[m [34mterm=[mstandout [34mctermfg=[m4 [34mctermbg=[m7 [34mguifg=[mDarkBlue [34mguibg=[mGrey
DiffAdd[8C[44mxxx[m [34mterm=[mbold [34mctermbg=[m4 [34mguibg=[mLightBlue
DiffChange [45mxxx[m [34mterm=[mbold [34mctermbg=[m5 [34mguibg=[mLightMagenta
DiffDelete [1m[34m[46mxxx[m [34mterm=[mbold [34mcterm=[mbold [34mctermfg=[m4 [34mctermbg=[m6 [34mgui=[mbold [34mguifg=[mBlue
[19C[34mguibg=[mLightCyan
DiffText[7C[1m[41mxxx[m [34mterm=[mreverse [34mcterm=[mbold [34mctermbg=[m1 [34mgui=[mbold [34mguibg=[mRed
SignColumn [34m[47mxxx[m [34mterm=[mstandout [34mctermfg=[m4 [34mctermbg=[m7 [34mguifg=[mDarkBlue [34mguibg=[mGrey
Conceal[8C[37m[40mxxx[m [34mctermfg=[m7 [34mctermbg=[m0 [34mguifg=[mLightGrey [34mguibg=[mDarkGrey
SpellBad[7C[41mxxx[m [34mterm=[mreverse [34mctermbg=[m1 [34mgui=[mundercurl [34mguisp=[mRed
SpellCap[7C[44mxxx[m [34mterm=[mreverse [34mctermbg=[m4 [34mgui=[mundercurl [34mguisp=[mBlue
SpellRare [45mxxx[m [34mterm=[mreverse [34mctermbg=[m5 [34mgui=[mundercurl [34mguisp=[mMagenta
SpellLocal [46mxxx[m [34mterm=[munderline [34mctermbg=[m6 [34mgui=[mundercurl [34mguisp=[mDarkCyan
Pmenu[10C[30m[45mxxx[m [34mctermfg=[m0 [34mctermbg=[m5 [34mguibg=[mLightMagenta
PmenuSel[7C[30m[47mxxx[m [34mctermfg=[m0 [34mctermbg=[m7 [34mguibg=[mGrey
PmenuSbar [47mxxx[m [34mctermbg=[m7 [34mguibg=[mGrey
PmenuThumb [40mxxx[m [34mctermbg=[m0 [34mguibg=[mBlack
TabLine[8C[4m[30m[47mxxx[m [34mterm=[munderline [34mcterm=[munderline [34mctermfg=[m0 [34mctermbg=[m7
[19C[34mgui=[munderline [34mguibg=[mLightGrey
TabLineSel [1mxxx[m [34mterm=[mbold [34mcterm=[mbold [34mgui=[mbold
TabLineFill [7mxxx[m [34mterm=[mreverse [34mcterm=[mreverse [34mgui=[mreverse
CursorColumn [47mxxx[m [34mterm=[mreverse [34mctermbg=[m7 [34mguibg=[mGrey90
CursorLine [4mxxx[m [34mterm=[munderline [34mcterm=[munderline [34mguibg=[mGrey90
ColorColumn [41mxxx[m [34mterm=[mreverse [34mctermbg=[m1 [34mguibg=[mLightRed
MatchParen [46mxxx[m [34mterm=[mreverse [34mctermbg=[m6 [34mguibg=[mCyan
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Search
[?25l
Search[9C[30m[43mxxx[m [34mterm=[mreverse [34mctermfg=[m0 [34mctermbg=[m3 [34mguibg=[mYellow
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" test setting colors.
[?25l[27m[23m[m[H[2J[1;1H: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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi NewGroup term=bold cterm=italic ctermfg=DarkBlue ctermbg=Grey gui= guifg=#0
[23;80H0[24;1Hff00 guibg=Cyan
[?25l[23;1H[1m[37m[41mE418: Illegal value: guifg=#00ff00[m[23;35H[K[24;1H[K[24;1H[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group2 term= cterm=
[?25l[1m[37m[41mE418: Illegal value: cterm=[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group3 term=underline cterm=bold
[?25l[1;1H[2L[1;1H:hi NewGroup
:hi Group2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hredir! >test.out
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hhi NewGroup
[?25l
NewGroup[7C[3m[34m[47mxxx[23m[m [34mterm=[mbold [34mcterm=[mitalic [34mctermfg=[m4 [34mctermbg=[m7
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group2
[?25l
Group2[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group3
[?25l
Group3[9C[1mxxx[m [34mterm=[munderline [34mcterm=[mbold
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi clear NewGroup
[?25l[1;1H[6L[1;1H:hi NewGroup
:hi Group2
:hi Group3
:hi clear NewGroup
:hi NewGroup
:hi Group2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hhi NewGroup
[?25l
NewGroup[7Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group2
[?25l
Group2[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Group2 NONE
[?25l[1;1H[4L[1;1H:hi NewGroup
:hi Group2
:hi Group3
:hi clear NewGroup[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hhi Group2
[?25l
Group2[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi clear
[?25l[27m[23m[m[H[2J[1;1H: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
Group3[9Cxxx cleared
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hhi Crash term='asdf
[?25l[1m[37m[41mE475: Invalid argument: term='asdf[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[3L[1;1H:hi NewGroup
:hi Group2
:hi Group3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" filter ctermfg and ctermbg, the numbers depend on the terminal
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H20 lines, 289 characters[1;1H[K[2;1H[K[3;1HNewGroup xxx term=bold cterm=italic ctermfg=4 ctermbg=7[4;1H[K[5;1HGroup2 xxx cleared[6;1H[K[7;1HGroup3 xxx term=underline cterm=bold[8;1H[K[9;1H[K[10;1HNewGroup xxx cleared[11;1H[K[12;1HGroup2 xxx cleared[13;1H[K[14;1H[K[15;1HGroup2 xxx cleared[16;1H[K[17;1H[K[18;1HGroup3 xxx cleared[19;1H[K[20;1HE475: Invalid argument: term='asdf
[1m[34m~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h%s/ctermfg=\d*/ctermfg=2/
[?25l[3;51H2
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%s/ctermbg=\d*/ctermbg=3/
[?25l[3;61H3
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" filter out possibly translated error message
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%s/E475: [^:]*:/E475:/
[?25l[20;7Hterm='asdf[20;17H[K[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" fix the fileformat
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff&
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test53.in" 75 lines, 1763 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for string and html text objects. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 47 lines, 1237 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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>-[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start:/
[?25l[24;9H[K[24;1H[14;1H[?12l[?25h[?25l[7Cfo[14;11H[K[14;8H[?12l[?25h[15;8H
[?25l[?12l[?25h[?25l[7m'foo'[?12l[?25h[?25l 'bar'[?12l[?25h[?25l[m
xxxxxxxxxxxx
[?12l[?25h
[14C[?25lblah[16;13H[K[16;9H[?12l[?25h[17;9H
[12C[?25l"[17;12H[K[17;11H[?12l[?25h[18;11H
[9C[?25l[?12l[?25h[?25l'[7m rep[?12l[?25h[?25l[myyyyy[?12l[?25h[19;11H[?25l[24;1H[K[24;1H:[?12l[?25hset quoteescape=+*-
[?25l[19;11H[?12l[?25h[?25l` b`la[19;12H[K[19;6H[?12l[?25h[20;6H[29C[?25l[?12l[?25h[?25l[7m" sdf"[?12l[?25h[?25l[m"[5C[7m [20;27H[?12l[?25h[?25l"[?12l[?25h[?25l[20;16H asdf" sdf [20;15H[?12l[?25h[?25l[20;7Hah" sdf "
[mvoo "[?12l[?25h[?25lzzzzzzzzzzzzzzzzzzzzzzzzzzzz
voo "[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^<begin
[?25l[22;1H[?12l[?25h
[11C[?25l</i>asdf</b>-[23;25H[K[23;12H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-<b>asdX<i>a<i />sdf</i>asdf</b>-[24;1H[K[23;12H[?12l[?25h
[7C[?25l</b>-[23;10H[K[23;5H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-<b>asdf<i>Xasdf</i>asdf</b>-
-<b>[?12l[?25h[7C[?25lasdf</b>-[23;18H[K[23;9H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-<b>asdX<i>as<b />df</i>asdf</b>-[23;9H[?12l[?25h
[7C[?25l
--[23;3H[K[23;2H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-<b>
-[?12l[?25h[?25l<b></b>[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H</begin>[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hput =matchstr(\"abcd\", \".\", 0, 2) " b
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =matchstr(\"abcd\", \"..\", 0, 2) " bc
[?25l[1;23r[23;1H
[1;24r[23;1Hbc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =matchstr(\"abcd\", \".\", 2, 0) " c (zero and negative -> first match)
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =matchstr(\"abcd\", \".\", 0, -1) " a
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match(\"abcd\", \".\", 0, 5) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match(\"abcd\", \".\", 0, -1) " 0
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 0, 1) " 0
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 0, 2) " 1
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 0, 3) " 2
[?25l[1;23r[23;1H
[1;24r[23;1H2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 0, 4) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 1, 1) " 1
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 2, 1) " 2
[?25l[1;23r[23;1H
[1;24r[23;1H2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '.', 3, 1) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 0, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 0, 2) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 1, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 2, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 3, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '$', 4, 1) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 1) " 0
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 2) " 1
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 3) " 2
[?25l[1;23r[23;1H
[1;24r[23;1H2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 4) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 0, 5) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 1, 1) " 1
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 2, 1) " 2
[?25l[1;23r[23;1H
[1;24r[23;1H2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 3, 1) " 3
[?25l[1;23r[23;1H
[1;24r[23;1H3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =match('abc', '\zs', 4, 1) " -1
[?25l[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^start:/,/^end:/wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test55.in" 586 lines, 12256 characters[1;1HTests 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])
:"[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for List and Dictionary types. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 580 lines, 12170 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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[34m^R[m=a[34m^M^[[m:"
:lang C
:redir => a
:try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
:redir END
o[34m^R[m=a[34m^M^[[m:"
:"
:/^start:/,$wq! test.out
ENDTEST
start:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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:[8C[?12l[?25h: return "a:". a:a
[?25l:[8C[?12l[?25h:endfunc
[?25l:[8C[?12l[?25h:$put =d.func(string(remove(d, 'func')))
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Nasty: deepcopy() dict that refers to itself (fails when noref used
[23;80H)[24;1H
[?25l:[8C[?12l[?25h:let d = {1:1, 2:2}
[?25l:[8C[?12l[?25h:let l = [4, d, 6]
[?25l:[8C[?12l[?25h:let d[3] = l
[?25l:[8C[?12l[?25h:let dc = deepcopy(d)
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: let dc = deepcopy(d, 1)
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:14]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:let l2 = [0, l, l, 3]
[?25l:[8C[?12l[?25h:let l[1] = l2
[?25l:[8C[?12l[?25h:let l3 = deepcopy(l2)
[?25l:[8C[?12l[?25h:$put ='same list: ' . (l3[1] is l3[2])
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Locked variables
[?25l:[8C[?12l[?25h:for depth in range(5)
[?25l:[10C[?12l[?25h: $put ='depth is ' . depth
[?25l:[10C[?12l[?25h: for u in range(3)
[?25l:[12C[?12l[?25h: unlet l
[?25l:[12C[?12l[?25h: let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]
[?25l:[12C[?12l[?25h: exe "lockvar " . depth . " l"
[?25l:[12C[?12l[?25h: if u == 1
[?25l:[14C[?12l[?25h: exe "unlockvar l"
[?25l:[14C[?12l[?25h: elseif u == 2
[?25l:[14C[?12l[?25h: exe "unlockvar " . depth . " l"
[?25l:[14C[?12l[?25h: endif
[?25l:[12C[?12l[?25h: let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").i
[23;80Hs[24;1Hlocked("l[1][1][0]").'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2][
[23;80H'[24;1H6'][7]")
[?25l:[12C[?12l[?25h: $put =ps
[?25l:[12C[?12l[?25h: let ps = ''
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[1][1][0] = 99
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[1][1] = [99]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[1] = [99]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[2]['6'][7] = 99
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[2][6] = {99: 99}
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l[2] = {99: 99}
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: let l = [99]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: $put =ps
[?25l:[12C[?12l[?25h: endfor
[?25l:[10C[?12l[?25h:endfor
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Unletting locked variables
[?25l:[8C[?12l[?25h:$put ='Unletting:'
[?25l:[8C[?12l[?25h:for depth in range(5)
[?25l:[10C[?12l[?25h: $put ='depth is ' . depth
[?25l:[10C[?12l[?25h: for u in range(3)
[?25l:[12C[?12l[?25h: unlet l
[?25l:[12C[?12l[?25h: let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]
[?25l:[12C[?12l[?25h: exe "lockvar " . depth . " l"
[?25l:[12C[?12l[?25h: if u == 1
[?25l:[14C[?12l[?25h: exe "unlockvar l"
[?25l:[14C[?12l[?25h: elseif u == 2
[?25l:[14C[?12l[?25h: exe "unlockvar " . depth . " l"
[?25l:[14C[?12l[?25h: endif
[?25l:[12C[?12l[?25h: let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").i
[23;80Hs[24;1Hlocked("l[1][1][0]").'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2][
[23;80H'[24;1H6'][7]")
[?25l:[12C[?12l[?25h: $put =ps
[?25l:[12C[?12l[?25h: let ps = ''
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[2]['6'][7]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[2][6]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[2]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[1][1][0]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[1][1]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l[1]
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: unlet l
[?25l:[14C[?12l[?25h: let ps .= 'p'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: let ps .= 'F'
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h: $put =ps
[?25l:[12C[?12l[?25h: endfor
[?25l:[10C[?12l[?25h:endfor
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Locked variables and :unlet or list / dict functions
[?25l:[8C[?12l[?25h:$put ='Locks and commands or functions:'
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='No :unlet after lock on dict:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar 1 d
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: unlet d.a
[?25l:[10C[?12l[?25h: $put ='did :unlet'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:16]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put =':unlet after lock on dict item:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar d.a
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: unlet d.a
[?25l:[10C[?12l[?25h: $put ='did :unlet'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:16]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='filter() after lock on dict item:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar d.a
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: call filter(d, 'v:key != "a"')
[?25l:[10C[?12l[?25h: $put ='did filter()'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:16]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='map() after lock on dict:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar 1 d
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: call map(d, 'v:val + 200')
[?25l:[10C[?12l[?25h: $put ='did map()'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:16]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='No extend() after lock on dict item:'
[?25l:[8C[?12l[?25h:unlet! d
[?25l:[8C[?12l[?25h:let d = {'a': 99, 'b': 100}
[?25l:[8C[?12l[?25h:lockvar d.a
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: $put =string(extend(d, {'a': 123}))
[?25l:[10C[?12l[?25h: $put ='did extend()'
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: $put =v:exception[:14]
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:$put =string(d)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:$put ='No remove() of write-protected scope-level variable:'
[?25l:[8C[?12l[?25h:fun! Tfunc(this_is_a_loooooooooong_parameter_name)
[?25l:[10C[?12l[?25h: try
[?25l:[12C[?12l[?25h: $put =string(remove(a:, 'this_is_a_loooooooooong_parameter_na
[23;80Hm[24;1He'))
[?25l:[12C[?12l[?25h: $put ='did remove()'
[?25l:[12C[?12l[?25h: catch
[?25l:[12C[?12l[?25h: $put =v:exception[:14]
[?25l:[12C[?12l[?25h: endtry
[?25l:[10C[?12l[?25h:endfun
[?25l:[10C[?12l[?25h:call Tfunc('testval')
[?25l:[10C[?12l[?25h:"
[?25l:[10C[?12l[?25h:$put ='No extend() of write-protected scope-level variable:'
[?25l:[10C[?12l[?25h:fun! Tfunc(this_is_a_loooooooooong_parameter_name)
[?25l:[12C[?12l[?25h: try
[?25l:[14C[?12l[?25h: $put =string(extend(a:, {'this_is_a_loooooooooong_parameter
[23;80H_[24;1Hname': 1234}))
[?25l:[14C[?12l[?25h: $put ='did extend()'
[?25l:[14C[?12l[?25h: catch
[?25l:[14C[?12l[?25h: $put =v:exception[:14]
[?25l:[14C[?12l[?25h: endtry
[?25l:[12C[?12l[?25h:endfun
[?25l:[12C[?12l[?25h:call Tfunc('testval')
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:$put ='No :unlet of variable in locked scope:'
[?25l:[12C[?12l[?25h:let b:testvar = 123
[?25l:[12C[?12l[?25h:lockvar 1 b:
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: unlet b:testvar
[?25l:[14C[?12l[?25h: $put ='b:testvar was :unlet: '. (!exists('b:testvar'))
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put =v:exception[:16]
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:unlockvar 1 b:
[?25l:[12C[?12l[?25h:unlet! b:testvar
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:$put ='No :let += of locked list variable:'
[?25l:[12C[?12l[?25h:let l = ['a', 'b', 3]
[?25l:[12C[?12l[?25h:lockvar 1 l
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let l += ['x']
[?25l:[14C[?12l[?25h: $put ='did :let +='
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put =v:exception[:14]
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:unlet l
[?25l:[12C[?12l[?25h:let l = [1, 2, 3, 4]
[?25l:[12C[?12l[?25h:lockvar! l
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:unlockvar l[1]
[?25l:[12C[?12l[?25h:unlet l[0:1]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:unlet l[1:2]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:unlockvar l[1]
[?25l:[12C[?12l[?25h:let l[0:1] = [0, 1]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:let l[1:2] = [0, 1]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:unlet l
[?25l:[12C[?12l[?25h:" :lockvar/islocked() triggering script autoloading
[?25l:[12C[?12l[?25h:set rtp+=./sautest
[?25l:[12C[?12l[?25h:lockvar g:footest#x
[?25l:[12C[?12l[?25h:unlockvar g:footest#x
[?25l:[12C[?12l[?25h:$put ='locked g:footest#x:'.islocked('g:footest#x')
[?25l:[12C[?12l[?25h:$put ='exists g:footest#x:'.exists('g:footest#x')
[?25l:[12C[?12l[?25h:$put ='g:footest#x: '.g:footest#x
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" a:000 function argument
[?25l:[12C[?12l[?25h:" first the tests that should fail
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000 = [1, 2]
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught a:000'
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000[0] = 9
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught a:000[0]'
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000[2] = [9, 10]
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught a:000[2]'
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000[3] = {9: 10}
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught a:000[3]'
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:" now the tests that should pass
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: let a:000[2][1] = 9
[?25l:[14C[?12l[?25h: call extend(a:000[2], [5, 6])
[?25l:[14C[?12l[?25h: let a:000[3][5] = 8
[?25l:[14C[?12l[?25h: let a:000[3]['a'] = 12
[?25l:[14C[?12l[?25h: $put =string(a:000)
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put ='caught ' . v:exception
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" reverse(), sort(), uniq()
[?25l:[12C[?12l[?25h:let l = ['-0', 'A11', 2, 2, 'xaaa', 4, 'foo', 'foo6', 'foo', [0,
[23;80H1[24;1H, 2], 'x8', [0, 1, 2], 1.5]
[?25l:[12C[?12l[?25h:$put =string(uniq(copy(l)))
[?25l:[12C[?12l[?25h:$put =string(reverse(l))
[?25l:[12C[?12l[?25h:$put =string(reverse(reverse(l)))
[?25l:[12C[?12l[?25h:$put =string(sort(l))
[?25l:[12C[?12l[?25h:$put =string(reverse(sort(l)))
[?25l:[12C[?12l[?25h:$put =string(sort(reverse(sort(l))))
[?25l:[12C[?12l[?25h:$put =string(uniq(sort(l)))
[?25l:[12C[?12l[?25h:let l=[7, 9, 'one', 18, 12, 22, 'two', 10.0e-16, -1, 'three', 0xf
[23;80Hf[24;1H, 0.22, 'four']
[?25l:[12C[?12l[?25h:$put =string(sort(copy(l), 'n'))
[?25l:[12C[?12l[?25h:let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0, -0, 0.22, 'bar',
[23;80H'[24;1HBAR', 'Bar', 'Foo', 'FOO', 'foo', 'FOOBAR', {}, []]
[?25l:[12C[?12l[?25h:$put =string(sort(copy(l), 1))
[?25l:[12C[?12l[?25h:$put =string(sort(copy(l), 'i'))
[?25l:[12C[?12l[?25h:$put =string(sort(copy(l)))
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" splitting a string to a List
[?25l:[12C[?12l[?25h:$put =string(split(' aa bb '))
[?25l:[12C[?12l[?25h:$put =string(split(' aa bb ', '\W\+', 0))
[?25l:[12C[?12l[?25h:$put =string(split(' aa bb ', '\W\+', 1))
[?25l:[12C[?12l[?25h:$put =string(split(' aa bb ', '\W', 1))
[?25l:[12C[?12l[?25h:$put =string(split(':aa::bb:', ':', 0))
[?25l:[12C[?12l[?25h:$put =string(split(':aa::bb:', ':', 1))
[?25l:[12C[?12l[?25h:$put =string(split('aa,,bb, cc,', ',\s*', 1))
[?25l:[12C[?12l[?25h:$put =string(split('abc', '\zs'))
[?25l:[12C[?12l[?25h:$put =string(split('abc', '\zs', 1))
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" compare recursively linked list and dict
[?25l:[12C[?12l[?25h:let l = [1, 2, 3, 4]
[?25l:[12C[?12l[?25h:let d = {'1': 1, '2': l, '3': 3}
[?25l:[12C[?12l[?25h:let l[1] = d
[?25l:[12C[?12l[?25h:$put =(l == l)
[?25l:[12C[?12l[?25h:$put =(d == d)
[?25l:[12C[?12l[?25h:$put =(l != deepcopy(l))
[?25l:[12C[?12l[?25h:$put =(d != deepcopy(d))
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" compare complex recursively linked list and dict
[?25l:[12C[?12l[?25h:let l = []
[?25l:[12C[?12l[?25h:call add(l, l)
[?25l:[12C[?12l[?25h:let dict4 = {"l": l}
[?25l:[12C[?12l[?25h:call add(dict4.l, dict4)
[?25l:[12C[?12l[?25h:let lcopy = deepcopy(l)
[?25l:[12C[?12l[?25h:let dict4copy = deepcopy(dict4)
[?25l:[12C[?12l[?25h:$put =(l == lcopy)
[?25l:[12C[?12l[?25h:$put =(dict4 == dict4copy)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" Pass the same List to extend()
[?25l:[12C[?12l[?25h:let l = [1, 2, 3, 4, 5]
[?25l:[12C[?12l[?25h:call extend(l, l)
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" Pass the same Dict to extend()
[?25l:[12C[?12l[?25h:let d = { 'a': {'b': 'B'}}
[?25l:[12C[?12l[?25h:call extend(d, d)
[?25l:[12C[?12l[?25h:$put =string(d)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" Pass the same Dict to extend() with "error"
[?25l:[12C[?12l[?25h:try
[?25l:[14C[?12l[?25h: call extend(d, d, "error")
[?25l:[14C[?12l[?25h:catch
[?25l:[14C[?12l[?25h: $put =v:exception[:15] . v:exception[-1:-1]
[?25l:[14C[?12l[?25h:endtry
[?25l:[12C[?12l[?25h:$put =string(d)
[?25l:[12C[?12l[?25h:"
[?25l:[12C[?12l[?25h:" test for range assign
[?25l:[12C[?12l[?25h:let l = [0]
[?25l:[12C[?12l[?25h:let l[:] = [1, 2]
[?25l:[12C[?12l[?25h:$put =string(l)
[?25l:[12C[?12l[?25h:endfun
[27m[23m[m[H[2J[?25l[1;1H:$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[34m^R[m=a[34m^M^[[m:"
:lang C
:redir => a
:try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
:redir END
o[34m^R[m=a[34m^M^[[m:"
:"
:/^start:/,$wq! test.out
ENDTEST
start:[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Test(1, 2, [3, 4], {5: 6}) " This may take a while
[?25l[1m[37m[41mError detected while processing function Test:[m[24;47H[K[24;1H
[33mline 76:[m
[1m[37m[41mE684: list index out of range: 1[m
[33mline 91:[m
[1m[37m[41mE684: list index out of range: 2[m
[33mline 271:[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[1m[37m[41mE108: No such variable: "l"[m
[33mline 441:[m
[1m[37m[41mE741: Value is locked: l[0:1][m
[33mline 443:[m
[1m[37m[41mE741: Value is locked: l[1:2][m
[33mline 446:[m
[1m[37m[41mE741: Value is locked: l[0:1] = [0, 1][m
[33mline 448:[m
[1m[37m[41mE741: Value is locked: l[1:2] = [0, 1][m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[1;1H['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 122[2;1H, 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]
[1m[34m~ [22;1H[?12l[?25h[?25l
[m:[?12l[?25hdelfunc Test
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hunlet dict
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for patch 7.3.637
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet a = 'No error caught'
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htry|foldopen|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H=[?12l[?25ha
[?25l[23;1HVim(foldopen):E490:[23;20H[K[23;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang C
[?25l[23;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir => a
[?25l[23;19H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htry|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
[?25l[1m[37m[41mError detected while processing :[m[24;34H[K[24;1H
[1m[37m[41mE492: Not an editor command: foobar|catch|let a = matchstr(v:exception,'^[^ ]*'[m
[23;80H[1m[37m[41m)[24;1H|endtry[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[3L[1;1H['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 122[2;1H, 18, 22, 255, 7, 9, [], {}]
['aa', 'bb'][24;1H[K[23;19H[?12l[?25h[?25l
=[?12l[?25ha
[?25l[1;23r[1;1H[5M[1;24r[21;1HError detected while processing :
E492: Not an editor command: foobar|catch|let a = matchstr(v:exception,'^[^ ]*'))[23;1H|endtry[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test56.in" 21 lines, 457 characters[1;1HTest 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>delfunn[21;1Hc <SID>DoNothing<bar>delfunc <SID>DoLast<cr>
end:
[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for script-local function. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 7 lines, 120 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/+1,/^end:/-1w! Xtest.vim
[?25l"Xtest.vim" [24;13H[K[24;13H[New] 7L, 251C written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsource Xtest.vim
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:call <SNR>4_DoNothing()|call <SNR>4_DoLast()|delfunc <SNR>4_DoNothing|delfunc
[23;80H<[24;1HSNR>4_DoLast
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[L[?25l[1;1HTest for script-local function. vim: set ft=vim :[23;1Hnothing line[23;13H[K[24;1H[K[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h$-1,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test57.in" 545 lines, 4110 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :sort command. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 33 lines, 920 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:/^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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^t01:/+1,/^t02/-1sort
[?25l[15;1H[K[16;1H[K[17;1H 123b[18;2H[K[19;4H2
a123
a
ab[22;3H[K[23;1Habc[23;4H[K[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^t02:/+1,/^t03/-1sort n
[?25l[1;23r[1;1H[9M[1;24r[15;1Hb123
b321
b321
b321b
b322b
c123d
c321d
t02: numeric
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t03:/+1,/^t04/-1sort x
[?25l[27m[23m[m[H[2J[1;1Ha123
b123
c123d
123b
a321
b321
c321d
b321
b321b
b322b
t03: hexadecimal
a
ab
abc
123b
a122
a123
a321
b123
b321
b321[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t04:/+1,/^t05/-1sort u
[?25l[1;23r[1;1H[6M[1;24r[18;1Hb321b
b322b
c123d
c321d
t04: alpha, unique[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t05:/+1,/^t06/-1sort!
[?25l[27m[23m[m[H[2J[1;1Ha123
a321
ab
abc
b123
b321
b321b
b322b
c123d
c321d
t05: alpha, reverse
c321d
c123d
b322b
b321b
b321
b321
b123
abc
ab
a321
a123
a122[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t06:/+1,/^t07/-1sort! n
[?25l[1;23r[1;1H[6M[1;24r[18;1Ha
123b
t06: numeric, reverse
b322b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t07:/+1,/^t08/-1sort! u
[?25l[27m[23m[m[H[2J[1;2H123b
c123d
b123
a123
a122
a
ab
abc
t07: unique, reverse
c321d
c123d
b322b
b321b
b321
b123
abc
ab
a321
a123
a122
a[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t08:/+1,/^t09/-1sort o
[?25l[1;23r[1;1H[4M[1;24r[20;2H123b
t08: octal
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t09:/+1,/^t10/-1sort! x
[?25l[27m[23m[m[H[2J[1;1Ha123
b123
c123d
123b
a321
b321
c321d
b321
b321b
b322b
t09: reverse, hexadecimal
c321d
c123d
b322b
b321b
b321
b321
b123
a321
a123
a122
123b
abc[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t10:/+1,/^t11/-1sort/./
[?25l[1;23r[1;1H[6M[1;24r[18;1Hab
a
t10: alpha, skip first character
a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t11:/+1,/^t12/-1sort/../
[?25l[27m[23m[m[H[2J[1;2H123b
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t12:/+1,/^t13/-1sort/../u
[?25l[1;23r[1;1H[6M[1;24r[18;1Hb123
123b
c123d
abc
t12: alpha, unique, skip first 2 characters
ab[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t13:/+1,/^t14/-1sort/./n
[?25l[27m[23m[m[H[2J[1;1Hb321
b321b
c321d
a122
b322b
a123
b123
123b
c123d
abc
t13: numeric, skip first character
abc
ab
a
a122
a123
b123
c123d
123b
a321
b321[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t14:/+1,/^t15/-1sort/./r
[?25l[1;23r[1;1H[6M[1;24r[18;1Hc321d
b321
b321b
b322b
t14: alpha, sort on first character[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t15:/+1,/^t16/-1sort/../r
[?25l[27m[23m[m[H[2J[1;1Ha321
a123
a122
b321
b123
b322b
b321
b321b
c123d
c321d
t15: alpha, sort on first 2 characters
a[15;2H123b
a123
a122
a321
abc
ab
b123
b321
b322b[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t16:/+1,/^t17/-1sort/./rn
[?25l[1;23r[1;1H[6M[1;24r[18;1Hb321
b321b
c123d
c321d
t16: numeric, sort on first character
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t17:/+1,/^t18/-1sort/\d/
[?25l[27m[23m[m[H[2J[1;1Hb321
b123
c123d
123b
c321d
b322b
b321
b321b
t17: alpha, skip past first digit
abc
ab
a
a321
b321
b321
b321b
c321d
a122
b322b[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t18:/+1,/^t19/-1sort/\d/r
[?25l[1;23r[1;1H[6M[1;24r[18;1Ha123
b123
123b
c123d
t18: alpha, sort on first digit
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t19:/+1,/^t20/-1sort/\d/n
[?25l[27m[23m[m[H[2J[1;1Ha122
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t20:/+1,/^t21/-1sort/\d/rn
[?25l[1;23r[1;1H[6M[1;24r[18;1Ha123
b123
c123d
123b
t20: numeric, sort on first digit
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t21:/+1,/^t22/-1sort/\d\d/
[?25l[27m[23m[m[H[2J[1;1Ha122
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t22:/+1,/^t23/-1sort/\d\d/n
[?25l[1;23r[1;1H[6M[1;24r[18;1Ha123
b123
123b
c123d
t22: numeric, skip past first 2 digits
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t23:/+1,/^t24/-1sort/\d\d/x
[?25l[27m[23m[m[H[2J[1;1Hb321
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t24:/+1,/^t25/-1sort/\d\d/r
[?25l[1;23r[1;1H[6M[1;24r[18;1Hc321d
b322b
123b
c123d
t24: alpha, sort on first 2 digits
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t25:/+1,/^t26/-1sort/\d\d/rn
[?25l[27m[23m[m[H[2J[1;1Ha122
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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t26:/+1,/^t27/-1sort/\d\d/rx
[?25l[1;23r[1;1H[6M[1;24r[18;1Hc321d
b322b
b321
b321b
t26: hexadecimal, sort on first 2 digits
abc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t27:/+1,/^t28/-1sort no
[?25l[1m[37m[41mE474: Invalid argument[m[24;23H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^t28:/+1,/^t29/-1sort b
[?25l[27m[23m[m[H[2J[1;1Hb321
b123
c123d
123b
c321d
b322b
b321
b321b
t28: binary
0b000000
0b001000
0b010000
0b100000
0b100010
0b100010
0b100100
0b101000
0b101000
0b101001[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t29:/+1,/^t30/-1sort b
[?25l[1;23r[1;1H[6M[1;24r[18;1H0b101001
0b101010
0b101100
0b111000
t29: binary with leading characters[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^t30:/+1,/^t31/-1sort f
[?25l[27m[23m[m[H[2J[1;1Ha0b001000
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[15;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^t01:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test60.in" 601 lines, 13116 characters[1;1HTests 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:result[7;9Hecho "OK"
else[9;9Hecho "FAILED: Checking for " . a:str
endif
endfunction
:function! TestExists()
augroup myagroup[14;9Hautocmd! BufEnter[7C*.my echo "myfile edited"[15;9Hautocmd! FuncUndefined UndefFun exec "fu UndefFun()\nendfu"
augroup END
set rtp+=./sautest[19;5Hlet test_cases = [][21;5H" valid autocmd group
let test_cases += [['#myagroup', 1]]
" valid autocmd group with garbage[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for the exists() and has() functions. vim: set ft=vim ts=8 sw=2 :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 596 lines, 13023 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;9Hendif
endfunction[4;5Hcall TestFuncArg("arg1", "arg2")[6;5Hecho ' g:footest#x =' g:footest#x
echo ' footest#F()' footest#F()
echo 'UndefFun()' UndefFun()[10;5Hredir 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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! RunTest(str, result)
[?25l
: [?12l[?25h if exists(a:str) == a:result
[?25l: [?12l[?25h[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "FAILED: Checking for " . a:str
[?25l: [?12l[?25h endif
[?25l: [?12l[?25hendfunction
[1;1H[6L[?25l[1;9Hendif
endfunction[4;5Hcall TestFuncArg("arg1", "arg2")[6;5Hecho ' g:footest#x =' g:footest#x[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hfunction! TestExists()
[?25l
: [?12l[?25h augroup myagroup
[?25l: [?12l[?25h[34m^I[mautocmd! BufEnter *.my echo "myfile edited"
[?25l: [?12l[?25h[34m^I[mautocmd! 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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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[34m^I[mecho "OK"
[?25l: [?12l[?25h else
[?25l: [?12l[?25h[34m^I[mecho "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
[27m[23m[m[H[2J[?25l[1;9Hendif
endfunction[4;5Hcall TestFuncArg("arg1", "arg2")[6;5Hecho ' g:footest#x =' g:footest#x
echo ' footest#F()' footest#F()
echo 'UndefFun()' UndefFun()[10;5Hredir 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[24;13H[K[24;1H
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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[27m[23m[m[H[2J[1;9Hendif
endfunction[4;5Hcall TestFuncArg("arg1", "arg2")[6;5Hecho ' g:footest#x =' g:footest#x
echo ' footest#F()' footest#F()
echo 'UndefFun()' UndefFun()[10;5Hredir 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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc RunTest
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunc TestFuncArg
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit! test.out
[?25l"test.out" [24;12H[K[24;12H[Incomplete last line] 206 lines, 1940 characters[1;9H[K[2;1H#myagroup: 1[2;13H[K[3;1HOK
#myagroup+b: 0[4;15H[K[5;1HOK
#myagroup#BufEnter: 1[6;22H[K[7;1HOK[7;5H[K[8;1H#myagroup#BufEnter#*.my: 1[8;27H[K[9;1HOK
#BufEnter: 1[10;13H[K[11;1HOK[11;3H[K[12;1H#BufEnter#*.my: 1[12;18H[K[13;1HOK
#xyzagroup: 0[14;14H[K[15;1HOK[15;3H[K[16;1H#xyzagroup#BufEnter: 0
OK[17;3H[K[18;1H#myagroup#CmdwinEnter: 0
OK
#myagroup#xyzacmd: 0
OK[21;3H[K[22;1H#myagroup#BufEnter#xyzpat: 0
OK[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff=unix
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" 206 lines, 1941 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test64.in" 654 lines, 27565 characters[1;1HTest 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 """"""""""""""""""""""""""""""""
:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
:"[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for regexp patterns without multi-byte support.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 621 lines, 27090 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" tl is a List of Lists with:
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" regexp engine
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" regexp pattern
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" text to test the pattern on
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected match (optional)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected submatch 1 (optional)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected submatch 2 (optional)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" etc.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When there is no match use only the first two items.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tl = []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Previously written tests """"""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'ab', 'aab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'b', 'abcdef', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc*', 'abccccdef', 'bcccc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\{-}', 'abccccdef', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\{-}\(d\)', 'abccccdef', 'bccccd', 'd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc*', 'abbdef', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'c*', 'ccc', 'ccc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc*', 'abdef', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'c*', 'abdef', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\+', 'abccccdef', 'bcccc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\+', 'abdef']) "no match
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"operator \|
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\|ab', 'cabd', 'a']) "alternation is ordered
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'c\?', 'ccb', 'c'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\?', 'abd', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'bc\?', 'abccd', 'bc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{1}', 'ab', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'caad', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'aba'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'abaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}', 'aaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vb{1}', 'abca', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vba{2}', 'abaa', 'baa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vba{3}', 'aabaac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'dabc', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1}', 'acb'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){0,2}', 'acb', "", ""])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){0,2}', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1,2}', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){1,2}', 'ababc', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2,4}', 'ababcab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2,4}', 'abcababa', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'cdababe', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab){2}', 'abacabab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab){2}){2}', 'abababab', 'abababab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab){2}){2}', 'abacabababab', 'abababab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){1}', 'a', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aa', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aaac', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'daaac', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'daaac', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'aaa', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2})+', 'adaac', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2})+', 'aa', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){1}', 'aa', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){2}', 'aa', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1}){1}', 'a', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){2}', 'aaaa', 'aaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2}){2}', 'aaabaaaa', 'aaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+){2}', 'dadaac', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{3}){2}', 'aaaaaaa', 'aaaaaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){2}', 'daaac', 'aaa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){2}', 'daaaac', 'aaaa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){2}', 'daaaaac', 'aaaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,3}){3}', 'daac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){2}', 'dac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+)+', 'daac', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+)+', 'aaa', 'aaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+){1,2}', 'aaa', 'aaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a+)(a+)', 'aaa', 'aaa', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{3})+', 'daaaac', 'aaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a|b|c)+', 'aacb', 'aacb', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a|b|c){2}', 'abcb', 'ab', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(abc){2}', 'abcabd', ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(abc){2}', 'abdabcabc','abcabc', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a*', 'cc', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a*)+', 'cc', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)+)+', 'ab', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(((ab)+)+)+', 'ab', 'ab', 'ab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(((ab)+)+)+', 'dababc', 'abab', 'abab', 'abab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{0,2})+', 'cc', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a*)+', '', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((a*)+)+', '', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)*)+', '', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{1,3}', 'aab', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2,3}', 'abaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)+|c*)+', 'abcccaba', 'abcccab', '', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{2})|(b{3})', 'bbabbbb', 'bbb', '', 'bbb'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{2}|b{2}', 'abab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a)+|(c)+', 'bbacbaacbbb', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vab{2,3}c', 'aabbccccccccccccc', 'abbc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vab{2,3}c', 'aabbbccccccccccccc', 'abbbc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vab{2,3}cd{2,3}e', 'aabbbcddee', 'abbbcdde'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va(bc){2}d', 'aabcbfbc' ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'a', ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'aa', 'aa' ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'aaa', 'aaa' ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*a{2}', 'bbbabcc', ])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va*b*|a*c*', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\va{1}b{1}|a{1}b{1}', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"submatches
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a)', 'ab', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a)(b)', 'ab', 'ab', 'a', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(ab)(b)(c)', 'abbc', 'abbc', 'ab', 'b', 'c'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((a)(b))', 'ab', 'ab', 'ab', 'a', 'b'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a)|(b)', 'ab', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a*)+', 'aaaa', 'aaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x', 'abcdef'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""" Simple tests """""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Search single groups
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'ab', 'aab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'ab', 'baced'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'ab', ' ab ', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Search multi-modifiers
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x*', 'xcd', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x*', 'xxxxxxxxxxxxxxxxsofijiojgf', 'xxxxxxxxxxxxxxxx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" empty match is good
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x*', 'abcdoij', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" no match here
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\+', 'abcdoin'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\+', 'abcdeoijdfxxiuhfij', 'xx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\+', 'xxxxx', 'xxxxx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\+', 'abc x siufhiush xxxxxxxxx', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\=', 'x sdfoij', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\=', 'abc sfoij', '']) " empty match is good
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\=', 'xxxxxxxxx c', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\?', 'x sdfoij', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" empty match is good
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\?', 'abc sfoij', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'x\?', 'xxxxxxxxxx c', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0,0}', 'abcdfdoij', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" same thing as 'a?'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0,1}', 'asiubid axxxaaa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" same thing as 'a\{0,1}'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{1,0}', 'asiubid axxxaaa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aa siofuh'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aaaaa asfoij afaa', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{3,6}', 'aaaaaaaa', 'aaaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0}', 'asoiuj', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2}', 'aaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2}', 'iuash fiusahfliusah fiushfilushfi uhsaifuh askfj na
[23;80Hs[24;1Hfvius afg aaaa sfiuhuhiushf', 'aa'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2}', 'abcdefghijklmnopqrestuvwxyz1234567890'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" same thing as 'a*'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0,}', 'oij sdigfusnf', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{0,}', 'aaaaa aa', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2,}', 'sdfiougjdsafg'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2,}', 'aaaaasfoij ', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{5,}', 'xxaaaaxxx '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{5,}', 'xxaaaaaxxx ', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{,0}', 'oidfguih iuhi hiu aaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{,5}', 'abcd', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{,5}', 'aaaaaaaaaa', 'aaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" leading star as normal char when \{} follows
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '***'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '****', '****'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^*\{4,}$', '*****', '*****'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" same thing as 'a*'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{}', 'bbbcddiuhfcd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{}', 'aaaaioudfh coisf jda', 'aaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0,0}', 'abcdfdoij', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" anti-greedy version of 'a?'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0,1}', 'asiubid axxxaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aa siofuh'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aaaaa asfoij afaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-3,6}', 'aaaaaaaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0}', 'asoiuj', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2}', 'aaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2}', 'abcdefghijklmnopqrestuvwxyz1234567890'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0,}', 'oij sdigfusnf', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-0,}', 'aaaaa aa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2,}', 'sdfiougjdsafg'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2,}', 'aaaaasfoij ', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-,0}', 'oidfguih iuhi hiu aaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-,5}', 'abcd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-,5}', 'aaaaaaaaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" anti-greedy version of 'a*'
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-}', 'bbbcddiuhfcd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-}', 'aaaaioudfh coisf jda', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test groups of characters and submatches
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(abc\)*', 'abcabcabc', 'abcabcabc', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(ab\)\+', 'abababaaaaa', 'ababab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(abaaaaa\)*cd', 'cd', 'cd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(test1\)\? \(test2\)\?', 'test1 test3', 'test1 ', 'test1',
[23;80H'[24;1H'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(test1\)\= \(test2\) \(test4443\)\=', ' test2 test4443 yupi
[23;80Hi[24;1Hiiiiiiiii', ' test2 test4443', '', 'test2', 'test4443'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(\(sub1\) hello \(sub 2\)\)', 'asterix sub1 hello sub 2 obe
[23;80Hl[24;1Hix', 'sub1 hello sub 2', 'sub1 hello sub 2', 'sub1', 'sub 2'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(\(\(yyxxzz\)\)\)', 'abcdddsfiusfyyzzxxyyxxzz', 'yyxxzz', '
[23;80Hy[24;1Hyxxzz', 'yyxxzz', 'yyxxzz'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)+|c+)+', 'abcccaba', 'abcccab', 'ab', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v((ab)|c*)+', 'abcccaba', 'abcccab', '', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a(c*)+b)+', 'acbababaaa', 'acbabab', 'ab', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a|b*)+', 'aaaa', 'aaaa', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\p*', 'aá [34m^I[m', 'aá '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test greedy-ness and lazy-ness
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2,7}','aaaaaaaaaaaaa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{-2,7}x','aaaaaaaaax', 'aaaaaaax'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2,7}','aaaaaaaaaaaaaaaaaaaa', 'aaaaaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\{2,7}x','aaaaaaaaax', 'aaaaaaax'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\vx(.{-,8})yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz','ayxa
[23;80H'[24;1H,'xayzxayz'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\vx(.*)yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz', 'ayxayzx
[23;80Ha[24;1Hyzxa',''])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{1,2}){-2,3}','aaaaaaa','aaaa','aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a{-1,3})+', 'aa', 'aa', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\s\{-}\zs\( x\|x$\)', ' x', ' x', ' x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\s\{-}\zs\(x\| x$\)', ' x', ' x', ' x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\s\{-}\ze\(x\| x$\)', ' x', '', ' x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\(\s\{-}\)\(x\| x$\)', ' x', ' x', '', ' x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test Character classes
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\d\+e\d\d','test 10e23 fd','10e23'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test collections and character range []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v[a]', 'abcd', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a[bcd]', 'abcd', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a[b-d]', 'acbd', 'ac'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-d][e-f][x-x]d', 'cexdxx', 'cexd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v[[:alpha:]]+', 'abcdefghijklmnopqrstuvwxyz6','abcdefghijkl
[23;80Hm[24;1Hnopqrstuvwxyz'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '[[:alpha:]\+]', '6x8','x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^abc]\+','abcabcabc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^abc]','defghiasijvoinasoiunbvb','d'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^abc]\+','ddddddda','ddddddd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-d]\+','aaaAAAZIHFNCddd','AAAZIHFNC'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-f]*','iiiiiiii',''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-f]*','abcdefgh','abcdef'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-f]\+','abcdefgh','gh'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-c]\{-3,6}','abcabc','abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^[:alpha:]]\+','abcccadfoij7787ysf287yrnccdu','7787'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[-a]', '-', '-'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-]', '-', '-'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-f]*\c','ABCDEFGH','ABCDEF'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[abc][xyz]\c','-af-AF-BY--','BY'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" filename regexp
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[-./[:alnum:]_~]\+', 'log13.file', 'log13.file'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" special chars
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[\]\^\-\\]\+', '\^\\\-\---^', '\^\\\-\---^'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" collation elem
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[[.a.]]\+', 'aa', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" middle of regexp
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc[0-9]*ddd', 'siuhabc ii'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc[0-9]*ddd', 'adf abc44482ddd oijs', 'abc44482ddd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_[0-9]\+', 'asfi9888u', '9888'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-9\n]\+', 'asfi9888u', '9888'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_[0-9]\+', "asfi\n9888u", "\n9888"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_f', " \na ", "\n"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_f\+', " \na ", "\na"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-9A-Za-z-_.]\+', " @0_a.A-{ ", "0_a.A-"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Test start/end of line, start/end of file
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^a.', "a_\nb ", "a_"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^a.', "b a \na_"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.a$', " a\n "])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.a$', " a b\n_a", "_a"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%^a.', "a a\na", "a "])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%^a', " a \na "])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.a\%$', " a\n "])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.a\%$', " a\n_a", "_a"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Test recognition of character classes
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-7]\+', 'x0123456789x', '01234567'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^0-7]\+', '0a;X+% 897', 'a;X+% 89'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-9]\+', 'x0123456789x', '0123456789'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^0-9]\+', '0a;X+% 9', 'a;X+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[0-9a-fA-F]\+', 'x0189abcdefg', '0189abcdef'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^0-9A-Fa-f]\+', '0189g;X+% ab', 'g;X+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z_A-Z0-9]\+', ';+aso_SfOij ', 'aso_SfOij'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-z_A-Z0-9]\+', 'aSo_;+% sfOij', ';+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z_A-Z]\+', '0abyz_ABYZ;', 'abyz_ABYZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-z_A-Z]\+', 'abAB_09;+% yzYZ', '09;+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z]\+', '0abcxyz1', 'abcxyz'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z]\+', 'AabxyzZ', 'abxyz'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-z]\+', 'a;X09+% x', ';X09+% '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-z]\+', 'abX0;%yz', 'X0;%'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-zA-Z]\+', '0abABxzXZ9', 'abABxzXZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^a-zA-Z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[A-Z]\+', 'aABXYZz', 'ABXYZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[^A-Z]\+', 'ABx0;%YZ', 'x0;%'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[a-z]\+\c', '0abxyzABXYZ;', 'abxyzABXYZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[A-Z]\+\c', '0abABxzXZ9', 'abABxzXZ'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\c[^a-z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\c[^A-Z]\+', 'ab09_;+ XZ', '09_;+ '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Tests for \z features
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" match ends at \ze
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'xx \ze test', 'xx '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\zeend', 'oij abcend', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaxx', ' aabb ', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaxx', ' aaxx ', 'aaxx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aabb\|aa\zebb', ' aabb ', 'aabb'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aa\zebb\|aaebb', ' aabb ', 'aa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" match starts at \zs
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\zsdd', 'ddabcddxyzt', 'dd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'aa \zsax', ' ax'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc \zsmatch\ze abc', 'abc abc abc match abc abc', 'match'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a \zsif .*){2}', 'a if then a if last', 'if last', 'a if
[23;80Hl[24;1Hast'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\>\zs.', 'aword. ', '.'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\s\+\ze\[/\|\s\zs\s\+', 'is [a t', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Tests for \@= and \& features
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\@=', 'abc', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\@=cd', 'abcd', 'abcd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abc\@=', 'ababc', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" will never match, no matter the input text
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abcd\@=e', 'abcd'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" will never match
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'abcd\@=e', 'any text in here ... '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(abc)@=..', 'xabcd', 'ab', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(.*John\)\@=.*Bob', 'here is John, and here is B'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(John.*\)\@=.*Bob', 'John is Bobs friend', 'John is Bob', '
[23;80HJ[24;1Hohn is Bobs friend'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\<\S\+\())\)\@=', '$((i=i+1))', 'i=i+1', '))'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.*John\&.*Bob', 'here is John, and here is B'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '.*John\&.*Bob', 'John is Bobs friend', 'John is Bob'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(test1)@=.*yep', 'this is a test1, yep it is', 'test1, yep
[23;80H'[24;1H, 'test1'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, 'foo\(bar\)\@!', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\(bar\)\@!', 'foo bar', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'if \(\(then\)\@!.\)*$', ' if then else'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'if \(\(then\)\@!.\)*$', ' if else ', 'if else ', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@!bar', 'foobar', 'bar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@!...bar', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' bar foo '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' foo bar '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\%(.*bar\)\@!.*\zsfoo', ' foo xxx ', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[ ]\@!\p\%([ ]\@!\p\)*:', 'implicit mappings:', 'mappings:']
[23;80H)[24;1H[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '[ ]\@!\p\([ ]\@!\p\)*:', 'implicit mappings:', 'mappings:',
[23;80H'[24;1Hs'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, 'm\k\+_\@=\%(_\@!\k\)\@<=\k\+e', 'mx__xe', 'mx__xe'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%(\U\@<=S\k*\|S\l\)R', 'SuR', 'SuR'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Combining different tests and features
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[[:alpha:]]\{-2,6}', '787abcdiuhsasiuhb4', 'ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '', 'abcd', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(())', 'any possible text', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v%(ab(xyz)c)', ' abxyzc ', 'abxyzc', 'xyz'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(test|)empty', 'tesempty', 'empty', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v(a|aa)(a|aa)', 'aaa', 'aa', 'a', 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" \%u and friends
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%d32', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%o40', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%x20', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%u0020', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%U00000020', 'yes no', ' '])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%d0', "yes\x0ano", "\x0a"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""" \%[abc]
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'fobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobar', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'fooxx', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobxx', 'foob'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobaxx', 'fooba'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]', 'foobarxx', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]x', 'foobxx', 'foobx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'foo\%[bar]x', 'foobarxx', 'foobarx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'barxx', 'barx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'bxx', 'bx'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%[bar]x', 'xxx', 'x'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'b\%[[ao]r]', 'bar bor', 'bar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'b\%[[]]r]', 'b]r bor', 'b]r'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '@\%[\w\-]*', '<http://john.net/pandoc/>[@pandoc]', '@pandoc'
[23;80H][24;1H)[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Alternatives, must use first longest match
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'goo\|go', 'google', 'goo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\<goo\|\<go', 'google', 'goo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\<goo\|go', 'google', 'goo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Back references
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(\i\+\) \1', ' abc abc', 'abc abc', 'abc'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(\i\+\) \1', 'xgoo goox', 'goo goo', 'goo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(a\)\(b\)\(c\)\(dd\)\(e\)\(f\)\(g\)\(h\)\(i\)\1\2\3\4\5\6\7
[23;80H\[24;1H8\9', 'xabcddefghiabcddefghix', 'abcddefghiabcddefghi', 'a', 'b', 'c', 'dd', 'e
[23;80H'[24;1H, 'f', 'g', 'h', 'i'])
[?25l[1;1H[2L[1;1H:for pat in [' \ze*', ' \zs*']
: try[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(\d*\)a \1b', ' a b ', 'a b', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^.\(.\).\_..\1.', "aaa\naaa\nb", "aaa\naaa", 'a'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.com', 'foo.bat/foo
[23;80H.[24;1Hcom', 'bat'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<!$', 'foo.bat/foo.bat'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^.*\.\(.*\)/.\+\(\1\)\@<=$', 'foo.bat/foo.bat', 'foo.bat/foo
[23;80H.[24;1Hbat', 'bat', 'bat'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\\\@<!\${\(\d\+\%(:.\{-}\)\?\\\@<!\)}', '2013-06-27${0}', '$
[23;80H{[24;1H0}', '0'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '^\(a*\)\1$', 'aaaaaaaa', 'aaaaaaaa', 'aaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\(a\{-2,}\)\1\+$', 'aaaaaaaaa', 'aaaaaaaaa', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Look-behind with limit
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '<\@<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '<\@1<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '<\@2<=span.', 'xxspanxx<spanyyy', 'spany'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(<<\)\@<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<<
[23;80H'[24;1H])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(<<\)\@1<=span.', 'xxspanxxxx<spanxx<<spanyyy'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(<<\)\@2<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<
[23;80H<[24;1H'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@<!bar.', 'xx foobar1 xbar2 xx', 'bar2'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" look-behind match in front of a zero-width item
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v\C%(<Last Changed:\s+)@<=.*$', '" test header'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v\C%(<Last Changed:\s+)@<=.*$', '" Last Changed: 1970', '19
[23;80H7[24;1H0'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=\>', 'foobar'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=\>', 'barfoo', '', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(foo\)\@<=.*', 'foobar', 'bar', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" complicated look-behind match
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(r\@<=\|\w\@<!\)\/', 'x = /word/;', '/'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^[a-z]\+\ze \&\(asdf\)\@<!', 'foo bar', 'foo'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""" \@>
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(a*\)\@>a', 'aaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\(.\{-}b\)\@>.', ' abcbd', ' abc', ' ab'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(.\{-}\)\(\)\@>$', 'abc', 'abc', 'abc', ''])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" TODO: BT engine does not restore submatch after failure
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa'])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" "\_" prepended negated collection matches EOL
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_[^8-9]\+', "asfi\n9888", "asfi\n"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\_[^a]\+', "asfi\n9888", "sfi\n9888"])
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Requiring lots of states.
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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[1;1H[2L[1;1H:for pat in [' \ze*', ' \zs*']
: try[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Skip adding state twice
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^\%(\%(^\s*#\s*if\>\|#\s*if\)\)\(\%>1c.*$\)\@=', "#if FOO",
[23;80H"[24;1H#if", ' FOO'])
[?25l[1;1H[L[1;1H:for pat in [' \ze*', ' \zs*'][24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""" Test \%V atom
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\%>70vGesamt', 'Jean-Michel Charlier & Victor Hubinon\Gesamt
[23;80Ha[24;1Husgabe [Salleck] Buck Danny {Jean-Michel Charlier & Victor Hubinon}\Gesamtau
[23;80Hs[24;1Hgabe', 'Gesamt'])
[?25l[1;1H[2L[1;1H:for pat in [' \ze*', ' \zs*']
: try[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Run the tests
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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 ®expengine = 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
[23;80Hx[24;1Ht . '\", 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
[23;80Hx[24;1Ht . '\", 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
[23;80Hx[24;1Ht . '\", 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:[8C[?12l[?25h: if len(t) <= matchidx + i
[?25l:[10C[?12l[?25h: let e = ''
[?25l:[10C[?12l[?25h: else
[?25l:[10C[?12l[?25h: let e = t[matchidx + i]
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: if l[i] != e
[?25l:[10C[?12l[?25h: $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text:
"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: endfor
[?25l: [?12l[?25h: unlet i
[?25l: [?12l[?25h: endif
[?25l: [?12l[?25h: endfor
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[1;1HOK 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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""""" multi-line tests """"""""""""""""""""
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tl = []
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" back references
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '^.\(.\).\_..\1.', ['aaa', 'aaa', 'b'], ['XX', 'b']])
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\v.*\/(.*)\n.*\/\1$', ['./Dir1/Dir2/zyxwvuts.txt', './Dir1/D
[23;80Hi[24;1Hr2/abcdefgh.bat', '', './Dir1/Dir2/file1.txt', './OtherDir1/OtherDir2/file1.txt
[23;80H'[24;1H], ['./Dir1/Dir2/zyxwvuts.txt', './Dir1/Dir2/abcdefgh.bat', '', 'XX']])
[?25l[1;1H[2L[1;1HOK 0 - ^\(.\{-}b\)\@>.
OK 1 - ^\(.\{-}b\)\@>.[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" line breaks
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\S.*\nx', ['abc', 'def', 'ghi', 'xjk', 'lmn'], ['abc', 'def'
[23;80H,[24;1H 'XXjk', 'lmn']])
[?25l[1;1H[L[1;1HOK 0 - ^\(.\{-}b\)\@>.[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check that \_[0-9] matching EOL does not break a following \>
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)
[23;80H\[24;1H.\)\{3\}\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>', ['', 'loca
[23;80Hl[24;1Hnet/192.168.0.1', ''], ['', 'localnet/XX', '']])
[?25l[1;1H[2L[1;1HOK 0 - ^\(.\{-}b\)\@>.
OK 1 - ^\(.\{-}b\)\@>.[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check a pattern with a line break and ^ and $
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, 'a\n^b$\n^c', ['a', 'b', 'c'], ['XX']])
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '\(^.\+\n\)\1', [' dog', ' dog', 'asdf'], ['XXasdf']])
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Run the multi-line tests
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='multi-line tests'
[?25l[1;23r[23;1H
[1;24r[23;1Hmulti-line tests[24;1H[K[23;1H[?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 ®expengine = 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) .
[23;80H'[24;1H\", 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
[27m[23m[m[H[2J[?25l[1;1HOK 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[13;1H\_[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[15;1H\_[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[17;1H\_[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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check that using a pattern on two lines doesn't get messed up by using
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" matchstr() with \ze in between.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset re=0
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Substitute here
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: 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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.+1,.+2s/""/\='"'.matchstr(getline("."), '\d\+\ze<').'"'
[?25l[13;5H5">Ta 5</Title>
<T="7">Ac 7</Title>
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Substitute here
[?25l[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.+1,.+2yank
[?25l[12;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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[13;1H\_[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[15;1H\_[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[17;1H\_[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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H<T="5">Ta 5</Title>
[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check a pattern with a look beind crossing a line boundary
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Behind:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: 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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/[?12l[?25h\(<\_[xy]\+\)\@3<=start
[?25l[18;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.yank
[?25l[18;3H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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[10;1H\_[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[12;1H\_[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[14;1H\_[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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hxxstart3
[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check matching Visual area
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Visual:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H<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:
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[mthe[?25l[?12l[?25h[?25l[7mxe the the[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[?12l[?25hs/\%Ve/E/g
[?25l3 substitutions on 1 line[13;4HxE thE thE
[?12l[?25h
[?25la[7mndaxand andaxand
[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[?12l[?25hs/\%Va/A/g
[?25l6 substitutions on 1 line[14;1HAndAxAnd AndAxAnd[14;18H[K[14;1H[?12l[?25h
ooo[?25l[?12l[?25h[?25l[7mxofor foro[?12l[?25h[?25lx
[mooo[7mxofor foro[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[?12l[?25hs/\%Vo/O/g
[?25l8 substitutions on 2 lines[15;4HxOfOr fOrOx
oooxOfOr fOrO
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^Visual/+1,/^Visual/+4yank
[?25l[31msearch hit BOTTOM, continuing at TOP[m
4 lines yanked[24;15H[K[16;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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[8;1H\_[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[10;1H\_[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[12;1H\_[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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
4 more lines[1;23r[23;1H
[1;24r[23;1HthexE thE thExethe[24;1H[K[24;1H4 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check matching marks
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Marks:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1Hasdfasd<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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h
[masdf[9C[?25l[24;1H[K[24;1H:[?12l[?25h.-4,.+6s/.\%>'s.*\%<'e../here/
[?25l[13;5Hhereasdf[13;13H[K[13;1H[?12l[?25h
asdf
dfsa
dfsadf[?25l[24;1H[K[24;1H:[?12l[?25h.-4,.+6s/.\%>'s\_.*\%<'e../again/
[?25l[14;23r[23;1H
[1;24r[14;1Hasdfagainasdf[23;1HOK 0 - bc*[24;1H[K[14;1H[?12l[?25h[?25l[24;1H:[?12l[?25h/^Marks:/+1,/^Marks:/+3yank
[?25l[31msearch hit BOTTOM, continuing at TOP[m
3 lines yanked[24;15H[K[14;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 2 - \S.*\nx
OK 0 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255[3;1H\_[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[5;1H\_[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[7;1H\_[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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
3 more lines[1;23r[1;1H[2M[1;24r[22;1Hasdfhereasdf
asdfagainasdf[24;1H[K[24;1H3 more lines[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check patterns matching cursor position.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunc! Postest()
[?25l
: [?12l[?25h new
[?25l: [?12l[?25h call setline(1, ['ffooooo', 'boboooo', 'zoooooo', 'koooooo', 'moooooo', "\t
[23;80H\[24;1Ht\tfoo", 'abababababababfoo', 'bababababababafoo', '********_', ' xxxxxx
[23;80Hx[24;1Hxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xxxxxxx xx xxxx
xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxxxx xxxxxxxxxx
[23;80Hx[24;1Hxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxxx xxxxxxxxxxx
[23;80Hx[24;1H xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx xxxxxxxxx xxxx
[23;80Hx[24;1Hxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxx xxx xxx xx
[23;80Hx[24;1Hxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx xxxxxxxxxxxx x
[23;80Hx[24;1Hxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxxxxx
[23;80Hx[24;1Hxxx 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
[27m[23m[m[H[2J[?25l[1;1HOK 1 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(255[2;1H\_[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[4;1H\_[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[22;1H[?12l[?25h[?25l[1;4H2[75C55[2;1H\
OK 0 - a\n^b$\n^c[3;18H[K[4;1HOK 1 - a\n^b$\n^c[4;18H[K[5;4H2
OK 0 - \(^.\+\n\)\1
OK 1 - \(^.\+\n\)\1
OK 2[9;1H[K[10;1H<T="5">Ta 5</Title>
<T="7">Ac 7</Title>[12;1H[K[13;1Hxxstart3[13;9H[K[15;1HthexE thE thExethe
AndAxAnd AndAxAnd
oooxOfOr fOrOxooo[17;18H[K[18;1HoooxOfOr fOrOxooo[19;1H[K[20;1Hasdfhereasdf[20;13H[K[21;1Hasdfagainasdf[22;1H[K[23;1H[1m[34m~ [22;1H[?12l[?25h[?25l[m
-0-[23;4H[K[23;3H[?12l[?25h[?25l
:[?12l[?25hset re=0
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines
10 lines yanked
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput
[?25l10 more lines
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[3L[?25l[1;1HoooxOfOr fOrOxooo
asdfhereasdf
asdfagainasdf[4;14H[K[5;1H[K[6;1H-0-[6;4H[K[7;1Hffo[7;4H[K[8;1Hbob[8;4H[K[9;1H__ooooo
koooo__[10;8H[K[11;1Hmoooooo[11;8H[K[12;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_[15;11H[K[16;1H ! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[17;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[18;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[19;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [20;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[21;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [22;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[23;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx[24;1H[K[16;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H-1-[?12l[?25h[?25l
:[?12l[?25hset re=1
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines
10 lines yanked
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput
[?25l10 more lines
[32mPress ENTER or type command to continue[?12l[?25h[m[1;1H[3L[?25l[1;1H-1-
ffo
bob
__ooooo
koooo__
moooooo
[21Cf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxx[8C xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxx[8Cxxxxxxxxxxxxx xxxx[18;1Hxxxxxx [7Cxxx xxxx xx xxxxxxxx xxx xxxxxx[9Cx[18;58H[K[19;1H[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[11;3H[?12l[?25h[?25l[19;1H-2-[19;4H[K[19;3H[?12l[?25h[?25l[24;1H:[?12l[?25hset re=2
[?25l[19;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Postest()
[?25l4 substitutions on 4 lines
10 lines yanked
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput
[?25l10 more lines
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[3L[1;1H-2-
ffo
bob[19;1H[1m[34m~ [m[24;1H[K[11;3H[?12l[?25h[?25l[24;1H:[?12l[?25h" start and end of buffer
[?25l[11;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%^
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1HTest 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 """"""""""""""""""""""""""""""""
:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
:"
[31msearch hit BOTTOM, continuing at TOP[1;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H-2-
ffo
bob
__ooooo
koooo__
moooooo[7;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[18;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx
[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [11;3H[?12l[?25h[?25l[m[19;1H[K[19;1H[?12l[?25h[?25lTest[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[19;4H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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}[12;1H[?12l[?25h[?25l[24;1H/[?12l[?25h\%^..
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1HTest 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 """"""""""""""""""""""""""""""""
:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
:"
[31msearch hit BOTTOM, continuing at TOP[1;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H-2-
ffo
bob
__ooooo
koooo__
moooooo[7;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[18;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx
Test
[1m[34m~ [21;1H~ [22;1H~ [23;1H~ [19;1H[?12l[?25h[?25l[m[20;1H[K[20;1H[?12l[?25h[?25lTest[?12l[?25h[?25lt END[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[20;8H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HOK 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}[12;1H[?12l[?25h[?25l[24;1H/[?12l[?25h\%$
[?25l[27m[23m[m[H[2J[1;1H-2-
ffo
bob
__ooooo
koooo__
moooooo[7;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[18;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx
Test
Test END
[1m[34m~ [22;1H~ [23;1H~ [20;8H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1H:" 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'])[12;1H[?12l[?25h[?25l[24;1H/[?12l[?25h..\%$
[?25l[27m[23m[m[H[2J[1;1H-2-
ffo
bob
__ooooo
koooo__
moooooo[7;25Hf__
ab!babababababfoo
ba!ab##abab?bafoo
**!*****_
! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[12;1Hxxxxxx xx xxxx xxxxxxxx xxxx xxxxxxxxxxx xxx xxxxxxx xxxxxxxxx xx xxxxxx xx xxxxx[13;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxxxxx xxxxxxxxx xxxx xxx xxxx xxx xxx xxxx[14;1Hxx xxxxxxxxxxxx xxxx xxxxxxxxx xxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [15;1Hxxxxxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx[16;1Hxxx xxx xxx xxxxxxxx xxxxxxx xxxx xxx xxxxxx xxxxx xxxxx xx xxxxxx xxxxxxx xxx [17;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xxxxxx xxxxxx xxxxx xxx xxxxxxx xxxxxxxxxxxxxxxx xxxx[18;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxxxxx xxxxx
Test
Test END
[1m[34m~ [22;1H~ [23;1H~ [20;7H[?12l[?25h
[?25l[m[21;1H[K[21;1H[?12l[?25h[?25lEN[?12l[?25h[?25l[22;1H[K[22;1H[?12l[?25h[?25lE[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check for detecting error
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset regexpengine=2
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[7L[?25l[1;1Hffo
bob
__ooooo
koooo__
moooooo[6;25Hf__
ab!babababababfoo
ba!ab##abab?ba
**!*****_[9;10H[K[10;1H ! xxx?xxxxxxxx xxxx xxxxxx xxxxxxx x xxxxxxxxx xx xxxxxx xxxxxx xxxxx xx[11;1Hxxxxxx xx xxxx xxxxxxxx[12Cxxxxx xxx xxxxxxx xxxxxxxxx [12C xxxxx[12;1Hxxx xxxxxxxxxxxxxxxx xxxxxxxxx xxx xxxxx[11Cxx xxxx xxx xxxx xxx xxx xxxx[13;1Hxx x[11C [15Cxxxxxxxxxxx xx xxxxx xxx xxxxxxxx xxxxxx xxx xxx [14;1Hxxxxxxxxx xxxxxxx x x[8C xx xxxxxx xxxxxxx xxxxxxx[8Cxxx xxxx[7Cxx[15;1Hxxx xxx xxx xxxxxxxx [7C xxxx xxx xxxxxx xxxxx xxxxx xx [18C [16;1Hxxxxxxxxxxxx xxxx xxxxxxxxx xx[8Cxxx xxxxx [9Cxx xxxxxxxx[7Cx xxxx[17;1Hxxxxxx xxxxxxxxxx xxxx xx xxxxxxxx xxx xxxxxxxx[17;58H[K[18;1HTest[18;5H[K[19;6HEND
EN[20;3H[K[21;2H[K[22;2H888 detected for \ze*
E888 detected for \zs*[23;24H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h""""" Write the results """""""""""""
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/\%#=1^Results/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test65.in" 95 lines, 2153 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for floating point and logical operators.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 89 lines, 2067 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has("float")
[?25l
: [?12l[?25h: e! test.ok
[?25l: [?12l[?25h: wq! test.out
[?25l: [?12l[?25h:endif
[1;1H[3L[?25l[1;1H:$put =float2nr(123.456)
:$put =float2nr(-123.456)
:$put ='AND'[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =printf('%f', 123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H123.456000[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%e', 123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H1.234560e+02[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H123.456[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" check we don't crash on division by zero
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hecho 1.0 / 0.0
[?25linf[24;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='+='
[?25l[1;23r[23;1H
[1;24r[23;1H+=[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet v = 1.234
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v += 6.543
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =printf('%g', v)
[?25l[1;23r[23;1H
[1;24r[23;1H7.777[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet v = 1.234
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v += 5
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =printf('%g', v)
[?25l[1;23r[23;1H
[1;24r[23;1H6.234[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet a = 5
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet a += 3.333
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(a)
[?25l[1;23r[23;1H
[1;24r[23;1H8.333[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='=='
[?25l[1;23r[23;1H
[1;24r[23;1H==[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet v = 1.234
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =v == 1.234
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =v == 1.2341
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='add-subtract'
[?25l[1;23r[23;1H
[1;24r[23;1Hadd-subtract[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 4 + 1.234)
[?25l[1;23r[23;1H
[1;24r[23;1H5.234[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 1.234 - 8)
[?25l[1;23r[23;1H
[1;24r[23;1H-6.766[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='mult-div'
[?25l[1;23r[23;1H
[1;24r[23;1Hmult-div[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 4 * 1.234)
[?25l[1;23r[23;1H
[1;24r[23;1H4.936[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', 4.0 / 1234)
[?25l[1;23r[23;1H
[1;24r[23;1H0.003241[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='dict'
[?25l[1;23r[23;1H
[1;24r[23;1Hdict[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string({'x': 1.234, 'y': -2.0e20})
[?25l[1;23r[23;1H
[1;24r[23;1H{'x': 1.234, 'y': -2.0e20}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='list'
[?25l[1;23r[23;1H
[1;24r[23;1Hlist[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string([-123.4, 2.0e-20])
[?25l[1;23r[23;1H
[1;24r[23;1H[-123.4, 2.0e-20][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='abs'
[?25l[1;23r[23;1H
[1;24r[23;1Habs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%d', abs(1456))
[?25l[1;23r[23;1H
[1;24r[23;1H1456[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%d', abs(-4))
[?25l[1;23r[23;1H
[1;24r[23;1H4[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%d', abs([1, 2, 3]))
[?25l[1m[37m[41mE745: Using a List as a Number[m[24;32H[K[1;23r[23;1H
[1;24r[23;1H-1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', abs(14.56))
[?25l[1;23r[23;1H
[1;24r[23;1H14.56[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', abs(-54.32))
[?25l[1;23r[23;1H
[1;24r[23;1H54.32[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ceil'
[?25l[1;23r[23;1H
[1;24r[23;1Hceil[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', ceil(1.456))
[?25l[1;23r[23;1H
[1;24r[23;1H2.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', ceil(-5.456))
[?25l[1;23r[23;1H
[1;24r[23;1H-5.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', ceil(-4.000))
[?25l[1;23r[23;1H
[1;24r[23;1H-4.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='floor'
[?25l[1;23r[23;1H
[1;24r[23;1Hfloor[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', floor(1.856))
[?25l[1;23r[23;1H
[1;24r[23;1H1.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', floor(-5.456))
[?25l[1;23r[23;1H
[1;24r[23;1H-6.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', floor(4.0))
[?25l[1;23r[23;1H
[1;24r[23;1H4.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='log10'
[?25l[1;23r[23;1H
[1;24r[23;1Hlog10[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', log10(1000))
[?25l[1;23r[23;1H
[1;24r[23;1H3.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', log10(0.01000))
[?25l[1;23r[23;1H
[1;24r[23;1H-2.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='pow'
[?25l[1;23r[23;1H
[1;24r[23;1Hpow[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', pow(3, 3.0))
[?25l[1;23r[23;1H
[1;24r[23;1H27.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', pow(2, 16))
[?25l[1;23r[23;1H
[1;24r[23;1H65536.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='round'
[?25l[1;23r[23;1H
[1;24r[23;1Hround[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', round(0.456))
[?25l[1;23r[23;1H
[1;24r[23;1H0.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', round(4.5))
[?25l[1;23r[23;1H
[1;24r[23;1H5.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', round(-4.50))
[?25l[1;23r[23;1H
[1;24r[23;1H-5.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='sqrt'
[?25l[1;23r[23;1H
[1;24r[23;1Hsqrt[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', sqrt(100))
[?25l[1;23r[23;1H
[1;24r[23;1H10.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hecho sqrt(-4.01)
[?25lnan[24;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='str2float'
[?25l[1;23r[23;1H
[1;24r[23;1Hstr2float[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', str2float('1e40'))
[?25l[1;23r[23;1H
[1;24r[23;1H1.0e40[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='trunc'
[?25l[1;23r[23;1H
[1;24r[23;1Htrunc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', trunc(1.456))
[?25l[1;23r[23;1H
[1;24r[23;1H1.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', trunc(-5.456))
[?25l[1;23r[23;1H
[1;24r[23;1H-5.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =printf('%g', trunc(4.000))
[?25l[1;23r[23;1H
[1;24r[23;1H4.0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='float2nr'
[?25l[1;23r[23;1H
[1;24r[23;1Hfloat2nr[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =float2nr(123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H123[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =float2nr(-123.456)
[?25l[1;23r[23;1H
[1;24r[23;1H-123[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='AND'
[?25l[1;23r[23;1H
[1;24r[23;1HAND[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(127, 127)
[?25l[1;23r[23;1H
[1;24r[23;1H127[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(127, 16)
[?25l[1;23r[23;1H
[1;24r[23;1H16[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(127, 128)
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='OR'
[?25l[1;23r[23;1H
[1;24r[23;1HOR[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =or(16, 7)
[?25l[1;23r[23;1H
[1;24r[23;1H23[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =or(8, 7)
[?25l[1;23r[23;1H
[1;24r[23;1H15[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =or(0, 123)
[?25l[1;23r[23;1H
[1;24r[23;1H123[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='XOR'
[?25l[1;23r[23;1H
[1;24r[23;1HXOR[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =xor(127, 127)
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =xor(127, 16)
[?25l[1;23r[23;1H
[1;24r[23;1H111[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =xor(127, 128)
[?25l[1;23r[23;1H
[1;24r[23;1H255[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='invert'
[?25l[1;23r[23;1H
[1;24r[23;1Hinvert[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(invert(127), 65535)
[?25l[1;23r[23;1H
[1;24r[23;1H65408[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(invert(16), 65535)
[?25l[1;23r[23;1H
[1;24r[23;1H65519[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =and(invert(128), 65535)
[?25l[1;23r[23;1H
[1;24r[23;1H65407[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =invert(1.0)
[?25l[1m[37m[41mE805: Using a Float as a Number[1;23r[m[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^Results/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test66.in" 33 lines, 509 characters[2;1HTest for visual block shift and tab characters.
STARTTEST
:so small.vim
/^one
fe[34m^V[m4jR[34m^[[mugvr1:'<,'>w! test.out
/^abcdefgh
[34m^V[m4jI [34m^[[mj<<11|D
7|a[13C[34m^[[m
7|a[16C[34m^[[m
7|a[13C[34m^[[m4k13|[34m^V[m4j<
:$-5,$w >> test.out
:$-4,$s/\s\+//g
[34m^V[m4kI [34m^[[mj<<
7|a[13C[34m^[[m
7|a[37C[34m^[[m
7|a[21C[34m^[[m4k13|[34m^V[m4j3<
:$-4,$w >> test.out
:qa!
ENDTEST
one two three[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 16 lines, 234 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^one
[?25l[23;1H[?12l[?25hon[?25l[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[19;3H[7me[m
on[7me[m two three
on[7me[m two three
on[7me[m two three
one two three[24;1H[K[23;3H[?12l[?25h[?25l
4 fewer lines[19;1H[K[20;1H[K[21;1Habcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz[19;1H[?12l[?25h[?25l[24;3Hmore lines; before #1 0 seconds ago[19;1Hone two three
one two three
one two three[21;14H[K[22;1Hone two three[22;14H[K[23;1Hone two three[23;14H[K[20;1H[?12l[?25h[?25l[19;3H[7me
[mon[7me
[mon[7me
[mon[7me
[mon[?12l[?25h[?25l[19;3H1
on1
on1
on1
on1[19;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h'<,'>w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 5 lines, 70 characters written[19;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^abcdefgh
[?25l[1;23r[1;1H[2M[1;24r[23;1Habcdefghijklmnopqrstuvwxyz[24;1H[K[23;1H[?12l[?25h[?25l[?12l[?25h[?25l[1;23r[1;1H[4M[1;24r[19;1H[7ma
a[mbcdefghijklmnopqrstuvwxyz
[7ma[mbcdefghijklmnopqrstuvwxyz
[7ma[mbcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
[?12l[?25h[?25l[19;1Ha
a
a
a[19;1H abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz[19;1H[?12l[?25h
[?25labcdefghijklmnopqrstuvwxyz[20;27H[K[20;1H[?12l[?25h[10C[?25l[20;11H[K[20;10H[?12l[?25h[21;10H[?25lc defghijklmnopqrstuvwxyz[21;16H[?12l[?25h[22;16H[22;7H[?25lc defghijklmnopqrstuvwxyz[22;19H[?12l[?25h[23;19H[23;7H[?25lc defghijklmnopqrstuvwxyz[23;16H[?12l[?25h[19;16H[?25l[?12l[?25h[?25l[7mi[21;13H [22;13H [23;13H[?12l[?25h[?25l[m
5 lines <ed 1 time[19;13Hi[21;13Hdefghijklmnopqrstuvwxyz[21;36H[K[22;13Hdefghijklmnopqrstuvwxyz[22;36H[K[23;13Hdefghijklmnopqrstuvwxyz[23;36H[K[19;13H[?12l[?25h[20;10H[?25l[24;1H[K[24;1H:[?12l[?25h$-5,$w >> test.out
[?25l"test.out"[24;12H[K[24;12H6 lines, 151 characters appended[20;10H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$-4,$s/\s\+//g
[?25l7 substitutions on 4 lines[19;1Habcdefghijklmnopqrstuvwxyz[19;27H[K[21;1Habcdefghijklmnopqrstuvwxyz[21;27H[K[22;1Habcdefghijklmnopqrstuvwxyz[22;27H[K[23;1Habcdefghijklmnopqrstuvwxyz[23;27H[K[23;1H[?12l[?25h[?25l[?12l[?25h[?25l[20;1H[7ma
a
a
a[19;1H[?12l[?25h[?25l[m
a
a
a
a[19;1H abcdefghijklmnopqrstuvwxyz
abcdefghij
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz[19;1H[?12l[?25h
[?25labcdefghij[20;11H[K[20;1H[?12l[?25h
ab[?25lc defghijklmnopqrstuvwxyz[21;16H[?12l[?25h[22;16H[22;7H[?25lc [10Cdefghijklmnopqrstuvwxyz[22;40H[?12l[?25h[23;30H[23;7H[?25lc defghijklmnopqrstuvwxyz[23;24H[?12l[?25h[19;24H[19;13H[?25l[?12l[?25h[?25l[7mi[21;13H [22;13H [23;13H[?12l[?25h[?25l[m
5 lines <ed 3 times[24;20H[K[19;13Hi[21;13Hdefghijklmnopqrstuvwxyz[21;36H[K[22;13H defghijklmnopqrstuvwxyz[22;41H[K[23;13Hdefghijklmnopqrstuvwxyz[23;36H[K[19;13H[?12l[?25h[20;10H[?25l[24;1H[K[24;1H:[?12l[?25h$-4,$w >> test.out
[?25l"test.out"[24;12H[K[24;12H5 lines, 147 characters appended[20;10H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test67.in" 33 lines, 1110 characters[1;1HTest 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest that groups and patterns are tested correctly when calling exists() for[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 27 lines, 999 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[9M[1;24r[15;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet results=[]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haugroup auexists
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haugroup END
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "##BufEnter: " . exists("##BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter: " . exists("#BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter * let g:entered=1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter: " . exists("#BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haugroup auexists
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter * let g:entered=1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haugroup END
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter *.test let g:entered=1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit testfile.test
[?25l"testfile.test" [New File][1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufEnter <buffer> let g:entered=1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hedit testfile2.test
[?25l"testfile2.test" [New File][1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [New File][1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(0, results)
[?25l[1;23r[1;1H[10L[1;24r[1;1H##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[24;1H[K[11;1H[?12l[?25h[?25l[24;1H:[?12l[?25h$d
[?25l[11;1H[1m[34m~ [10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" [New File] 10 lines, 190 characters written[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test68.in" 131 lines, 1004 characters[1;1HTest for text formatting.
Results of test68:
STARTTEST
:so small.vim
/^{/+1
:set noai tw=2 fo=t
gRa b[34m^[[m
ENDTEST
{
}
STARTTEST
/^{/+1
:set ai tw=2 fo=tw
gqgqjjllab[34m^[[m
ENDTEST
{[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for text formatting.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 4 lines, 48 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noai tw=2 fo=t
[?25l[13;1H[?12l[?25h[?25la
b[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[17;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 38 characters written[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[18;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[23;1H
[1;24r[23;1Ha b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset ai tw=2 fo=tw
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4H[K[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Ha[?12l[?25ha [?25l[1;23r[23;1H
[1;24r[23;1Hb[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H4 lines, 34 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H:set tw=3 fo=t
gqgqo
a [34m^V^A^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
a [34m^A[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=3 fo=t
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3H[K[23;1H[34m^A[m[24;1H[K[23;1H[?12l[?25h[2C[?25l[1;23r[1;1H[3M[1;24r[22;1Ha
[34m^A
[?12l[?25h[?25l[1;23r[m[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 58 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H:set tw=2 fo=tcq1 comments=:#
gqgqjgqgqo
a b
#a b[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
a b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=2 fo=tcq1 comments=:#
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H#a b[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1Ha b
#a b[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 46 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=5 fo=tcn comments=:#
A b[34m^[[mjA b[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
1 a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=5 fo=tcn comments=:#
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hb[24;1H[K[23;5H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# 1 a[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# b[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+3
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 35 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=5 fo=t2a si
i [34m^[[mA_[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+3
[?25l[1;23r[1;1H[4M[1;24r[20;1H{
x a
b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=5 fo=t2a si
[?25l[23;1H[?12l[?25h[?25l b[?12l[?25h[?25l b_[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;5Hc[24;1H[K[23;5H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[4M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 40 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=5 fo=qn comments=:#
gwap
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
# 1 a b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=5 fo=qn comments=:#
[?25l[23;1H[?12l[?25h[?25l[23;7H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# b[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 40 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=5 fo=q2 comments=:#
gwap
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
# x[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=5 fo=q2 comments=:#
[?25l[23;1H[?12l[?25h[?25l# x a
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# b[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1H}
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+2
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 26 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw& fo=a
I^^[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+2
[?25l[1;23r[1;1H[3M[1;24r[21;1H{
1aa
2bb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw& fo=a
[?25l[23;1H[?12l[?25h[?25l[21;3H1aa ^^2bb }[22;4H[K[23;1HSTARTTEST[21;8H[?12l[?25h
[?25l[24;1H[K[24;1H/^STARTTEST
[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/mno pqr/[24;1H[K[23;1H[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 69 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:setl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/
A vwx yz[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hmno pqr/
[?25l[24;9H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H/* abc def ghi jkl
* mno pqr stu[24;1H[K[23;7H[?12l[?25h[?25l
:[?12l[?25hsetl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/
[?25l[23;7H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H* vwx yz[24;1H[K[23;12H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2H*/[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^#/
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 47 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:setl tw=12 fo=tqnc comments=:#
A foobar[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^#/
[?25l[24;4H[K[24;1H[1;23r[23;1H
[1;24r[23;1H# 1 xxxxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hsetl tw=12 fo=tqnc comments=:#
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H# foobar[24;1H[K[23;10H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2 lines, 56 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[23;19H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:1;/^Results/,$wq! test.out[24;1H[K[23;19H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l63 fewer lines[24;15H[K[1;1H# 1 a[1;6H[K[2;1H# b[2;6H[K[3;1H}[3;2H[K[4;1H[K[5;1H[K[6;1H{
# x a[7;6H[K[8;1H# b[8;7H[K[9;1H}[9;2H[K[10;2H[K[12;1H{ 1aa ^^2bb }[13;1H[K[14;1H[K[15;1H/* abc def ghi jkl
* mno pqr stu
* vwx yz
*/[18;5H[K[19;1H[K[21;1H# 1 xxxxx
# foobar[22;11H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test69.in" 192 lines, 2185 characters[1;1HTest 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[34m^[[m
ENDTEST
{
XYZ
abc XYZ[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for multi-byte text formatting.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 2 lines, 34 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[9;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1HTest 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[34m^[[m
ENDTEST
{
XYZ
abc XYZ[10;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 58 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=2 fo=t
[?25l[22;1H[?12l[?25h
[?25l[1;23r[23;1H
[1;24r[22;5H[K[23;1HXYZ[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5HZ
abc [?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HX[?12l[?25h[?25lY[?12l[?25h[?25lZ[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H8 lines, 80 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[8M[1;24r[16;1H:set tw=1 fo=tm
gqgqjgqgqjgqgqjgqgqjgqgqo
X
Xa
X a
XY
X Y[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
X[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=1 fo=tm
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3H[K[23;1Ha[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HX a
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4H[K[23;1Ha[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3H[K[23;1HY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HX Y
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4H[K[23;1HY
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HX
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;1HX
a
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;1HX
a
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HY
[?12l[?25h[?25lX [?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H13 lines, 140 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo
X
Xa
X a
XY
X Y
aX
abX
abcX
abX c
abXY[34m^[[m
ENDTEST
{
X
Xa
X a
XY
X Y
aX
abX
abcX
abX c[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=2 fo=tm
[?25l[15;1H[?12l[?25h
[?25l[17;23r[17;1H[L[1;24r[16;3H[K[17;1Ha[24;1H[K[17;1H[?12l[?25h
[?25l[19;23r[19;1H[L[1;24r[18;4H[K[19;1Ha[?12l[?25h
[?25l[21;23r[21;1H[L[1;24r[20;3H[K[21;1HY
[?12l[?25h
[?25l[22;4H[K[23;1HY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HaX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HabX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3H[K[23;1HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HabcX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4H[K[23;1HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HabX c
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;3H[K[22;1HX
c[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HabXY
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;3H[K[22;1HX
Y
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HX
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;1HX
a
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[21;1HX
a
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HY
[?12l[?25h[?25lX [?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HY
a[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HX
ab[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HX
abc[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HX
ab[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1HX
c
ab[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HX[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HY
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 47 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H:set ai tw=2 fo=tm
gqgqjgqgqo
X
Xa[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
X[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset ai tw=2 fo=tm
[?25l[23;1H[?12l[?25h [?25l[1;23r[23;1H
[1;24r[23;3HXa[24;1H[K[23;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5H[K[23;3Ha[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
a[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 53 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H:set noai tw=2 fo=tm
gqgqjgqgqo
X
Xa[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
X[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset noai tw=2 fo=tm
[?25l[23;1H[?12l[?25h [?25l[1;23r[23;1H
[1;24r[23;3HXa[24;1H[K[23;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;5H[K[23;1Ha[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;3H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
a[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H13 lines, 169 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo
X
Xa
XaY
XY
XYZ
X Y
X YZ
XX
XXa
XXY[34m^[[m
ENDTEST
{
X
Xa
XaY
XY
XYZ
X Y
X YZ
XX
XXa[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset tw=2 fo=cqm comments=n:X
[?25l[15;1H[?12l[?25h
[?25l[18;23r[18;1H[L[1;24r[17;4H[K[18;1HXY[24;1H[K[18;1H[?12l[?25h
[?25l[21;23r[21;1H[L[1;24r[20;5H[K[21;1HXZ
[?12l[?25h
[?25l[1;23r[23;1H
[1;24r[22;6H[K[23;1HX Z
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXXa
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HXXY
[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HX
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HXa
[?12l[?25h[?25lXa[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HXY
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HY
[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HXZ
[?12l[?25h[?25lX [?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;4HY
[?12l[?25h[?25lX [?12l[?25h[?25lY[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1HX Z
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HX
[?12l[?25h[?25lX[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;3HXa
[?12l[?25h[?25lX[?12l[?25h[?25lX[?12l[?25h[?25lY[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 30 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set tw=2 fo=tm
RXa[34m^[[m
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset tw=2 fo=tm
[?25l[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[22;1HX
a[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^{/+1
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 34 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1H:set mps+=[34m^V[mu2018:[34m^V[mu2019
d%
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^{/+1
[?25l[1;23r[1;1H[2M[1;24r[22;1H{
‘[23;3Htwo three ’[23;15Hfour[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset mps+=^‘[24;12H:^’[24;14H
[?25l[23;1H[?12l[?25h[?25l four[23;7H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H}[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^ra test
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2 lines, 16 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1HjVjra
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^ra test
[?25l[1;23r[23;1H
[1;24r[23;1Hra test[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Habba
[?12l[?25h[?25l[2C[7mbba
[?12l[?25h[?25l[1;23r[m[23;1H
[1;24r[22;1H[7ma[m
a[7mab
[?12l[?25h[?25l[m[22;1Haaaa[22;5H[K[23;1Haaa[7m [m[23;4H[K[22;1H[?12l[?25h
[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set whichwrap+=h
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H4 lines, 43 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H/^x
dh
:set whichwrap-=h
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset whichwrap+=h
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^x
[?25l[1;23r[1;1H[2M[1;24r[22;1Há[23;1Hx[24;1H[K[23;1H[?12l[?25h[?25l[22;2Hx[23;1H[K[22;2H[?12l[?25h
[?25l
:[?12l[?25hset whichwrap-=h
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:let a = '.é[23;13H.' " one char of two bytes
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H9 lines, 548 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[13M[1;24r[11;1H:let b = '.é.' " normal e with composing char
/^byteidx
:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[14;1Hx(a, 4)])
:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[16;1Hx(b, 4)])
/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[19;1Hmp(a, 3), byteidxcomp(a, 4)])
:let b = '.é.'
:put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[22;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet a = '.é[24;13H.' " one char of two bytes
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b = '.eé.' " normal e with composing char
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^byteidx
[?25l[1;23r[23;1H
[1;24r[23;1Hbyteidx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), bytei
[23;80Hd[24;1Hx(a, 4)])
[?25l[1;1H[L[1;1H:set whichwrap-=h
ENDTEST[2;8H[K[3;1H[K[4;1Há[4;2Hx[5;1H[K[6;1HSTARTTEST
:let a = '.é[7;13H.' " one char of two bytes[8;6Hb = '.é.' " normal e with composing char
/^byteidx[9;10H[K[10;1H:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[11;1Hx(a, 4)])[11;10H[K[12;1H:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[13;1Hx(b, 4)])[13;10H[K[14;1H/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[16;1Hmp(a, 3), byteidxcomp(a, 4)])[16;30H[K[17;1H:let b = '.é.'[17;15H[K[18;2Hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[19;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])[19;49H[K[20;1HENDTEST[20;8H[K[21;1H[K[22;1Hbyteidx
[0, 1, 3, 4, -1][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), bytei
[23;80Hd[24;1Hx(b, 4)])
[?25l[1;1H[L[1;1HENDTEST[2;1H[K[3;1Há[3;2Hx[4;1H[K[5;1HSTARTTEST
:let a = '.é[6;13H.' " one char of two bytes[7;6Hb = '.é.' " normal e with composing char
/^byteidx[8;10H[K[9;1H:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[10;1Hx(a, 4)])[10;10H[K[11;1H:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[12;1Hx(b, 4)])[12;10H[K[13;1H/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[15;1Hmp(a, 3), byteidxcomp(a, 4)])[15;30H[K[16;1H:let b = '.é.'[16;15H[K[17;2Hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[18;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])[18;49H[K[19;1HENDTEST[19;8H[K[20;1H[K[21;1Hbyteidx
[0, 1, 3, 4, -1][23;8H4, 5[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^byteidxcomp
[?25l[1;23r[23;1H
[1;24r[23;1Hbyteidxcomp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hput =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxc
[23;80Ho[24;1Hmp(a, 3), byteidxcomp(a, 4)])
[?25l[1;1H[L[1;1Há[1;2Hx[2;1H[K[3;1HSTARTTEST
:let a = '.é[4;13H.' " one char of two bytes[5;6Hb = '.é.' " normal e with composing char
/^byteidx[6;10H[K[7;1H:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[8;1Hx(a, 4)])[8;10H[K[9;1H:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[10;1Hx(b, 4)])[10;10H[K[11;1H/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[13;1Hmp(a, 3), byteidxcomp(a, 4)])[13;30H[K[14;1H:let b = '.é.'[14;15H[K[15;2Hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[16;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])[16;49H[K[17;1HENDTEST[17;8H[K[18;1H[K[19;1Hbyteidx
[0, 1, 3, 4, -1][21;8H4, 5
byteidxcomp[22;12H[K[23;1H[0, 1, 3, 4, -1][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet b = '.eé.'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxc
[23;80Ho[24;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])
[?25l[1;1H[L[2;1HSTARTTEST
:let a = '.é[3;13H.' " one char of two bytes[4;6Hb = '.é.' " normal e with composing char
/^byteidx[5;10H[K[6;1H:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidd[7;1Hx(a, 4)])[7;10H[K[8;1H:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidd[9;1Hx(b, 4)])[9;10H[K[10;1H/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcoo[12;1Hmp(a, 3), byteidxcomp(a, 4)])[12;30H[K[13;1H:let b = '.é.'[13;15H[K[14;2Hput =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcoo[15;1Hmp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])[15;49H[K[16;1HENDTEST[16;8H[K[17;1H[K[18;1Hbyteidx
[0, 1, 3, 4, -1][20;8H4, 5
byteidxcomp[21;12H[K[22;1H[0, 1, 3, 4, -1][23;8H2, 4, 5, -1][24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H/^substitute
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2 lines, 75 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1H:let y = substitute('123', '\zs', 'a', 'g') | put =y
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[23;1Hsubstitute[22;1H[?12l[?25h[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^substitute
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet y = substitute('123', '\zs', 'a', 'g') | put =y
[?25l[1;23r[1;1H[2M[1;24r[22;1Ha1a2a3a[24;1H[K[22;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[2M[1;24r[22;1H:g/^STARTTEST/.,/^ENDTEST/d
:1;/^Results/,$wq! test.out[22;1H[?12l[?25h[?25l
:set ff=unix cpo-=A
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H2 lines, 56 characters written[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[22;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[22;19H[?12l[?25h[23;19H
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l104 fewer lines[24;16H[K[1;1H{[1;2H[K[2;1H four[2;6H[K[3;1H}[3;2H[K[4;1H[K[5;1Hra test
aaaa[6;5H[K[7;1Haaa[7;5H[K[8;1H[K[9;1H[K[10;1Há[10;2Hx[10;3H[K[11;1H[K[13;1Hbyteidx[13;8H[K[14;1H[0, 1, 3, 4, -1]
[0, 1, 4, 5, -1][15;17H[K[16;1Hbyteidxcomp
[0, 1, 3, 4, -1]
[0, 1, 2, 4, 5, -1][19;1H[K[21;1Hsubstitute
a1a2a3a[22;11H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test70.in" 63 lines, 1501 characters[1;1HSmoke 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HSmoke test for MzScheme interface and mzeval() function[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 55 lines, 1398 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[19;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mzscheme.vim
[?25l"test.ok" [24;11H[K[24;11H6 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test73.in" 169 lines, 3647 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for find completion.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 164 lines, 3600 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Do all test in a separate window to avoid E211 when we recursively
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" delete the Xfind directory during cleanup
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" This will cause a few errors, do it silently.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset visualbell
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" On windows a stale "Xfind" directory may exist, remove it so that
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" we start from a clean state.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xfind", "rf")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7mtest73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet cwd=getcwd()
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet test_out = cwd . '/test.out'
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xfind')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd Xfind
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind[23;1H[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/test73.in[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind ...[?25l[24;7H[K[24;7H[?5h[?5l[?12l[?25h
[?25l[1m[37m[41mE345: Can't find file "" in path[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w! " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out"
<ild/vim-tlTJJ2/vim-8.0.0197/src/vim-nox/testdir/test.out" [New] 0L, 0C written[12;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/test73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind ...[?25l[24;7H[K[24;7H[?5h[?5l[?12l[?25h
[?25l[1m[37m[41mE32: No file name[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 0L, 0C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/test73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=.,,
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind ...[?25l[24;7H[K[24;7H[?5h[?5l[?12l[?25h
[?25l[1m[37m[41mE32: No file name[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 0L, 0C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/test73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=./**
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind ...[?25l[24;7H[K[24;7H[?5h[?5l[?12l[?25h
[?25l[1m[37m[41mE32: No file name[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 0L, 0C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;3Hxec "w >>" . test_out
:" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [15;17H[K[16;2Hexec "w >>" . test_out
:q[17;3H[K[18;2Hexec "cd " . cwd
:call delete("Xfind", "rf")
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/test73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" We shouldn't find any file at this point, test.out must be empty.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('in')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd in
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/in[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('path')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir[23;1H[7mtest73.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfind/file.txt
[?25l"Xfind/file.txt" [New File][12;1H[1m[7mXfind/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HHoly Grail[12;16H[1m[7m[+][1;10H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"Xfind/file.txt" [New] 1L, 11C written[12;16H[1m[7m [1;10H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfind/in/file.txt
[?25l"Xfind/in/file.txt" [New File][1;1H[K[12;7H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HJimmy Hoffa[12;19H[1m[7m[+][1;11H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"Xfind/in/file.txt" [New] 1L, 12C written[12;19H[1m[7m [1;11H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfind/in/stuff.txt
[?25l"Xfind/in/stuff.txt" [New File][1;1H[K[12;10H[1m[7mstuff.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HAnother Holy Grail[12;20H[1m[7m[+][1;18H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"Xfind/in/stuff.txt" [New] 1L, 19C written[12;20H[1m[7m [1;18H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he Xfind/in/path/file.txt
[?25l"Xfind/in/path/file.txt" [New File][1;1H[K[12;10H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HE.T.[12;24H[1m[7m[+][1;4H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"Xfind/in/path/file.txt" [New] 1L, 5C written[12;24H[1m[7m [1;4H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=Xfind/**
[?25l[1;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" [24;18H[K[24;18H1L, 11C[1;1HHoly Grail[12;7H[1m[7mfile.txtf [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 11C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;7H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h...[?25l[24;7Hpath/file.txt[24;20H[K[24;20H[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5C[1;1HE.T.[1;5H[K[12;10H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 5C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Rerun the previous three find completions, using fullpath in 'path'
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "set path=" . cwd . "/Xfind/**"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" [24;18H[K[24;18H1L, 11C[1;1HHoly Grail[12;7H[1m[7mfile.txtf [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 11C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;7H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h...[?25l[24;7Hpath/file.txt[24;20H[K[24;20H[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5C[1;1HE.T.[1;5H[K[12;10H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 5C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Same steps again, using relative and fullpath items that point to the same
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" recursive location.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" This is to test that there are no duplicates in the completion list.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "set path+=Xfind/**"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h
[?25l"Xfind/file.txt" [24;18H[K[24;18H1L, 11C[1;1HHoly Grail[12;7H[1m[7mfile.txtf [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 11C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;7H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h...[?25l[24;7Hpath/file.txt[24;20H[K[24;20H[?12l[?25h
[?25l"Xfind/in/path/file.txt" 1L, 5C[1;1HE.T.[1;5H[K[12;10H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 5C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./Xfind/file.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hin/file.txt[24;18H[K[24;18H[?12l[?25h
[?25l"Xfind/in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;10H[1m[7mfile.txte [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" Test find completion for directory of current buffer, which at this point
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" is Xfind/in/file.txt.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset path=.
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind st...[?25luff.txt[?12l[?25h
[?25l"Xfind/in/stuff.txt" 1L, 19C[1;1HAnother Holy Grail[12;10H[1m[7mstuff.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 19C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test find completion for empty path item ",," which is the current directory
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd Xfind
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind[12;1H[1m[7min/stuff.txtf [m[23;1H[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/test73.in[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=,,
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind f...[?25lile.txt[?12l[?25h...[?25l[24;15H[K[24;15H[?12l[?25h
[?25l"file.txt" [24;12H[K[24;12H1L, 11C[1;1HHoly Grail[1;11H[K[12;1H[1m[7mfile.txt. [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 11C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test shortening of
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" foo/x/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" foo/y/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When current directory is above foo/ they should be shortened to (in order
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" of appearance):
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" x/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" y/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('foo')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd foo
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo[12;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall mkdir('x')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('y')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd x
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo/x[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('bar')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd y
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo/y[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('bar')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind[12;1H[1m[7mfile.txti [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" We should now be in the Xfind directory
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he foo/x/bar/voyager.txt
[?25l"foo/x/bar/voyager.txt" [New File][1;1H[K[12;2H[1m[7moo/x/bar/voyager.txt[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HVoyager 1[12;23H[1m[7m[+][1;9H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"foo/x/bar/voyager.txt" [New] 1L, 10C written[12;23H[1m[7m [1;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he foo/y/bar/voyager.txt
[?25l"foo/y/bar/voyager.txt" [New File][1;1H[K[12;5H[1m[7my/[1;1H[?12l[?25h[?25l[m[24;1H[1m-- INSERT --[m[24;13H[K[24;1H[K[1;1HVoyager 2[12;23H[1m[7m[+][1;9H[?12l[?25h[?25l[24;1H[m:[?12l[?25hw
[?25l"foo/y/bar/voyager.txt" [New] 1L, 10C written[12;23H[1m[7m [1;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "set path=" . cwd . "/Xfind/**"
[?25l[1;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7Hx/bar/voyager.txt[?5h[?5l[?12l[?25h
[?25l"foo/x/bar/voyager.txt" 1L, 10C[1;9H1[12;5H[1m[7mx/[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7Hx/bar/voyager.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hy[24;24H[K[24;24H[?12l[?25h
[?25l"foo/y/bar/voyager.txt" 1L, 10C[1;9H2[12;5H[1m[7my/[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When current directory is .../foo/y/bar they should be shortened to (in
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" order of appearance):
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" ./voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" x/bar/voyager.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd foo
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo[12;1H[1m[7my/bar/voyager.txt. [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcd y
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo/y[12;1H[1m[7mbar/voyager.txt [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcd bar
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo/y/bar[12;1H[1m[7mvoyager.txt. [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7H./voyager.txt[?5h[?5l[?12l[?25h
[?25l"voyager.txt" [24;15H[K[24;15H1L, 10C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7H./voyager.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hx/bar/voyager.txt[?12l[?25h
[?25l<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-nox/testdir/Xfind/foo/x/bar/voyager.txt"
<m-tlTJJ2/vim-8.0.0197/src/vim-nox/testdir/Xfind/foo/x/bar/voyager.txt" 1L, 10C[1;9H1[12;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo/x/bar/voyager.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check the opposite too:
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo/y[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd ..
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo[12;1H[1m[7mx/bar/voyager.txt/ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcd x
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo/x[12;1H[1m[7mbar/voyager.txt [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcd bar
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo/x/bar[12;1H[1m[7mvoyager.txt. [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7H./voyager.txt[?5h[?5l[?12l[?25h
[?25l"voyager.txt" [24;15H[K[24;15H1L, 10C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind voyager...[?25l[24;7H./voyager.txt[?5h[?5l[?12l[?25h...[?25l[24;7Hy/bar/voyager.txt[?12l[?25h
[?25l<uild/vim-tlTJJ2/vim-8.0.0197/src/vim-nox/testdir/Xfind/foo/y/bar/voyager.txt"
<m-tlTJJ2/vim-8.0.0197/src/vim-nox/testdir/Xfind/foo/y/bar/voyager.txt" 1L, 10C[1;9H2[12;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/foo/y/bar/voyager.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >> " . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 10C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Check for correct handling of shorten_fname()'s behavior on windows
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "cd " . cwd . "/Xfind/in"
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind/in[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25l[24;7H./file.txt[?5h[?5l[?12l[?25h
[?25l"file.txt" [24;12H[K[24;12H1L, 12C[1;1HJimmy Hoffa[12;1H[1m[7mfile.txti [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for relative to current buffer 'path' item
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "cd " . cwd . "/Xfind/"
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xfind[12;1H[1m[7min/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset path=./path
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Open the file where Jimmy Hoffa is found
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he in/file.txt
[?25l"in/file.txt" 1L, 12C[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Find the file containing 'E.T.' in the Xfind/in/path directory
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind file...[?25ltxt[?12l[?25h
[?25l"in/path/file.txt" 1L, 5C[1;1HE.T.[1;5H[K[12;4H[1m[7mpath/file.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 5C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test that completion works when path=.,,
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset path=.,,
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Open Jimmy Hoffa file
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he in/file.txt
[?25l"in/file.txt" 1L, 12C[1;1HJimmy Hoffa[12;4H[1m[7mfile.txte [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 12C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Search for the file containing Holy Grail in same directory as in/path.txt
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfind stu...[?25lff.txt[?12l[?25h
[?25l"in/stuff.txt" 1L, 19C[1;1HAnother Holy Grail[12;4H[1m[7mstuff.txt[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexec "w >>" . test_out
[?25l"/<<PKGBUILDDIR>>/src/vim-nox/testdir/test.out" 1L, 19C appended[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq
[?25l[1;1H:exec "cd " . cwd . "/Xfind/"
:set path=./path[2;17H[K[3;1H:" Open the file where Jimmy Hoffa is found[3;44H[K[4;1H:e in/file.txt[4;15H[K[5;1H:" Find the file containing 'E.T.' in the Xfind/in/path directory[5;66H[K[6;1H:find file [6;17H[K[7;1H:exec "w >>" . test_out[7;24H[K[8;1H:"[8;3H[K[9;1H:" Test that completion works when path=.,,[9;44H[K[10;1H:"[10;3H[K[11;1H:set path=.,,[11;14H[K[12;1H:" Open Jimmy Hoffa file[12;25H[K[13;3H in/file.txt[13;16H[K[14;2Hexec "w >>" . test_out[14;24H[K[15;2H" Search for the file containing Holy Grail in same directory as in/path.txt
:find stu [16;17H[K[17;2Hexec "w >>" . test_out
:q[18;3H[K[19;2Hexec "cd " . cwd[19;18H[K[20;2Hcall delete("Xfind", "rf")
:qa![21;5H[K[22;1HENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xfind", "rf")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test75.in" 41 lines, 1000 characters[1;1HTests 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[34m^[[m:"[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for maparg().[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 34 lines, 919 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[16M[1;24r[8;1H:" 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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo-=<
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf8
[?25l[27m[23m[m[H[2J[1;1H:map abc x<char-114>x
:call append('$', maparg('abc'))
:map abc y<S-char-114>y
:call append('$', maparg('abc'))
:"
Go[34m^[[m:"
:" 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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap foo<C-V> is<F4>foo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hvnoremap <script> <buffer> <expr> <silent> bar isbar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', maparg('foo<C-V>'))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', string(maparg('foo<C-V>', '', 0, 1)))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', string(maparg('bar', '', 0, 1)))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap <buffer> <nowait> foo bar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', string(maparg('foo', '', 0, 1)))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap abc x<char-114>x
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', maparg('abc'))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap abc y<S-char-114>y
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', maparg('abc'))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[10M[1;24r[14;1Heof
is<F4>foo
{'silent': 0, 'noremap': 0, 'lhs': 'foo<C-V>', 'mode': ' ', 'nowait': 0, 'expr'::[17;1H 0, 'sid': 0, 'rhs': 'is<F4>foo', 'buffer': 0}
{'silent': 1, 'noremap': 1, 'lhs': 'bar', 'mode': 'v', 'nowait': 0, 'expr': 1, ''[19;1Hsid': 0, 'rhs': 'isbar', 'buffer': 1}
{'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ', 'nowait': 1, 'expr': 0, ''[21;1Hsid': 0, 'rhs': 'bar', 'buffer': 1}
xrx
yRy[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Outside of the range, minimum
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <Char-0x1040> a
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexecute "normal a\u1040\<Esc>"
[?25l[23;1Ha[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Inside of the range, minimum
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <Char-0x103f> b
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexecute "normal a\u103f\<Esc>"
[?25l[23;2Hb[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Inside of the range, maximum
[?25l[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <Char-0xf03f> c
[?25l[23;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexecute "normal a\uf03f\<Esc>"
[?25l[23;3Hc[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Outside of the range, maximum
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hinoremap <Char-0xf040> d
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexecute "normal a\uf040\<Esc>"
[?25l[23;4Hd[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^eof/+1,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 7 lines, 384 characters written[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test77.in" 30 lines, 719 characters[1;1HInserts 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 | endwhile[22;1Hggdd
:w! Xtest[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HInserts 2 million lines with consecutive integers starting from 1[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 17 lines, 288 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[12;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[6M[1;24r[18;1H:r !cksum Xtest
:s/\s/ /g
:set fileformat&
:.w! test.out
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !executable("cksum")
[?25l
: [?12l[?25h: e! test.ok
[?25l: [?12l[?25h: w! test.out
[?25l: [?12l[?25h: qa!
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1Hcksum is part of POSIX and so should be available on most Unixes.
If it isn't available then the test will be skipped.
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset fileformat=unix undolevels=-1
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[7L[1;24r[1;1HInserts 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.[24;1H[K[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet i = 1
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwhile i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhil
[23;80He[24;1H[?25l[1;1H[L[2;1H1[2;2H[K[3;1H2[3;2H[K[4;1H3[4;2H[K[5;1H4[5;2H[K[6;1H5[6;2H[K[7;1H6[7;2H[K[8;1H7[8;2H[K[9;1H8[9;2H[K[10;1H9[10;2H[K[11;1H10[11;3H[K[12;1H11[12;3H[K[13;1H12[13;3H[K[14;1H13[14;3H[K[15;1H14[15;3H[K[16;1H15[16;3H[K[17;1H16[17;3H[K[18;1H17[18;3H[K[19;1H18[19;3H[K[20;1H19[20;3H[K[21;1H20[21;3H[K[22;1H21[22;3H[K[23;1H22[23;3H[K[24;1H[K[1;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H23[1;1H[?12l[?25h
[?25l[24;1H:[?12l[?25hw! Xtest
[?25l"Xtest" [24;9H[K[24;9H[New File] 2000000 lines, 14888896 characters written[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hr !cksum Xtest
[?25l[?12l[?25h[27m[23m[m[H[2J[?25l[1;1H1
2
3678979763 14888896 Xtest
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22[3;1H[?12l[?25h[?25l[24;1H:[?12l[?25hs/\s/ /g
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformat&
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h.w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 26 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test79.in" 255 lines, 3381 characters[1;1HTest 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/[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for *sub-replace-special* and *sub-replace-expression* on :substitute.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1 line, 14 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[12;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H25 lines, 347 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj:s/L/[34m^V^M[m/
j:s/M/\r/
j:s/N/\[34m^V^M[m/
j:s/O/\n/
j:s/P/\b/
j:s/Q/\t/
j:s/R/\\/
j:s/S/\c/
j:s/T/[34m^V^@[m/
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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/&&/
[?25l[15;2HA
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/\&/
[?25l[16;1H&[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/
[?25l[17;11H987654321
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/D/d/
[?25l[18;1Hd[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/E/~/
[?25l[19;1Hd[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/F/\~/
[?25l[20;1H~[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/G/\ugg/
[?25l[21;2Hg
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/H/\Uh\Eh/
[?25l[22;2Hh
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/I/\lII/
[?25l[23;1HiI
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HJ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/J/\LJ\EJ/
[?25l[23;1HjJ
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HK[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/K/\Uk\ek/
[?25l[23;2Hk
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HlLl[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/L/^[34m^M[m/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hl[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HmMm
[?12l[?25h[?25l
:[?12l[?25hs/M/\r/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hm[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HnNn
[?12l[?25h[?25l
:[?12l[?25hs/N/\^[34m^M[m/
[?25l[23;2H[34m^M[mn
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HoOo[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/O/\n/
[?25l[23;2H[34m^@[mo
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HpPp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/P/\b/
[?25l[23;2H[34m^H[mp
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HqQq[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/Q/\t/
[?25l[23;2H q
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HrRr[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/R/\\/
[?25l[23;2H\
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HsSs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/S/\c/
[?25l[23;2Hc
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HtTt[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/T/^[34m^@[m/
[?25l[23;2H[34m^@[mt
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HU[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/U/\L\uuUu\l\EU/
[?25l[23;2HuuU
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HV[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/V/\U\lVvV\u\Ev/
[?25l[23;1HvVVv
[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set nomagic
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H25 lines, 351 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj:s/L/[34m^V^M[m/
j:s/M/\r/
j:s/N/\[34m^V^M[m/
j:s/O/\n/
j:s/P/\b/
j:s/Q/\t/
j:s/R/\\/
j:s/S/\c/
j:s/T/[34m^V^@[m/
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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nomagic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/&&/
[?25l[15;1H&&
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/\&/
[?25l[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/\mC\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/
[?25l[17;11H987654321
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/D/d/
[?25l[18;1Hd[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/E/~/
[?25l[19;1H~[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/F/\~/
[?25l[20;1H~[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/G/\ugg/
[?25l[21;2Hg
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/H/\Uh\Eh/
[?25l[22;2Hh
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/I/\lII/
[?25l[23;1HiI
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HJ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/J/\LJ\EJ/
[?25l[23;1HjJ
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HK[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/K/\Uk\ek/
[?25l[23;2Hk
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HlLl[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/L/^[34m^M[m/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hl[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HmMm
[?12l[?25h[?25l
:[?12l[?25hs/M/\r/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hm[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HnNn
[?12l[?25h[?25l
:[?12l[?25hs/N/\^[34m^M[m/
[?25l[23;2H[34m^M[mn
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HoOo[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/O/\n/
[?25l[23;2H[34m^@[mo
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HpPp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/P/\b/
[?25l[23;2H[34m^H[mp
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HqQq[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/Q/\t/
[?25l[23;2H q
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HrRr[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/R/\\/
[?25l[23;2H\
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HsSs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/S/\c/
[?25l[23;2Hc
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HtTt[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/T/^[34m^@[m/
[?25l[23;2H[34m^@[mt
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HU[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/U/\L\uuUu\l\EU/
[?25l[23;2HuuU
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HV[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/V/\U\lVvV\u\Ev/
[?25l[23;1HvVVv
[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H15 lines, 203 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj:s/B/\='\\'/
j:s/C/\='[34m^V^M[m'/
j:s/D/\='\[34m^V^M[m'/
j:s/E/\='\\[34m^V^M[m'/
j:s/F/\='\r'/
j:s/G/\='[34m^V^@[m'/
j:s/H/\='\[34m^V^@[m'/
j:s/I/\='\\[34m^V^@[m'/
j:s/J/\='\n'/
j:s/K/\="\r"/
j:s/L/\="\n"/
ENDTEST
TEST_3:
aAa
bBb
cCc
dDd
eEe
fFf
gGg
hHh
iIi[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/\='\'/
[?25l[15;2H\
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/\='\\'/
[?25l[16;2H\\b
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/C/\='^[34m^M[m'/
[?25l[18;23r[18;1H[L[1;24r[17;2H[K[18;1Hc[24;1H[K[18;1H[?12l[?25h
[?25l[24;1H:[?12l[?25hs/D/\='\^[34m^M[m'/
[?25l[20;23r[20;1H[L[1;24r[19;2H\[19;3H[K[20;1Hd[24;1H[K[20;1H[?12l[?25h
[?25l
:[?12l[?25hs/E/\='\\^[34m^M[m'/
[?25l[21;2H\\
e[22;2H[K[23;1HfFf[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/F/\='\r'/
[?25l[23;2H\rf
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HgGg[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/G/\='^[34m^@[m'/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hg[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HhHh
[?12l[?25h[?25l
:[?12l[?25hs/H/\='\^[34m^@[m'/
[?25l[1;23r[23;1H
[1;24r[22;2H\[22;3H[K[23;1Hh[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HiIi
[?12l[?25h[?25l
:[?12l[?25hs/I/\='\\^[34m^@[m'/
[?25l[1;23r[23;1H
[1;24r[22;2H\\
i[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HjJj
[?12l[?25h[?25l
:[?12l[?25hs/J/\='\n'/
[?25l[23;2H\nj
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HkKk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/K/\="\r"/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hk[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HlLl
[?12l[?25h[?25l
:[?12l[?25hs/L/\="\n"/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hl[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H15 lines, 611 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hj:s/B/\=substitute(submatch(0), '.', '\\', '')/
j:s/C/\=substitute(submatch(0), '.', '[34m^V^M[m', '')/
j:s/D/\=substitute(submatch(0), '.', '\[34m^V^M[m', '')/
j:s/E/\=substitute(submatch(0), '.', '\\[34m^V^M[m', '')/
j:s/F/\=substitute(submatch(0), '.', '\r', '')/
j:s/G/\=substitute(submatch(0), '.', '[34m^V^@[m', '')/
j:s/H/\=substitute(submatch(0), '.', '\[34m^V^@[m', '')/
j:s/I/\=substitute(submatch(0), '.', '\\[34m^V^@[m', '')/
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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/\=substitute(submatch(0), '.', '\', '')/
[?25l[15;2H\
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/\=substitute(submatch(0), '.', '\\', '')/
[?25l[16;2H\
[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/C/\=substitute(submatch(0), '.', '^[34m^M[m', '')/
[?25l[18;23r[18;1H[L[1;24r[17;2H[K[18;1Hc[24;1H[K[18;1H[?12l[?25h
[?25l[24;1H:[?12l[?25hs/D/\=substitute(submatch(0), '.', '\^[34m^M[m', '')/
[?25l[20;23r[20;1H[L[1;24r[19;2H[K[20;1Hd[24;1H[K[20;1H[?12l[?25h
[?25l
:[?12l[?25hs/E/\=substitute(submatch(0), '.', '\\^[34m^M[m', '')/
[?25l[21;2H\[21;3H[K[22;1He[22;2H[K[23;1HfFf[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/F/\=substitute(submatch(0), '.', '\r', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hf[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HgGg
[?12l[?25h[?25l
:[?12l[?25hs/G/\=substitute(submatch(0), '.', '^[34m^@[m', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hg[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HhHh
[?12l[?25h[?25l
:[?12l[?25hs/H/\=substitute(submatch(0), '.', '\^[34m^@[m', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hh[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HiIi
[?12l[?25h[?25l
:[?12l[?25hs/I/\=substitute(submatch(0), '.', '\\^[34m^@[m', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H\[22;3H[K[23;1Hi[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HjJj
[?12l[?25h[?25l
:[?12l[?25hs/J/\=substitute(submatch(0), '.', '\n', '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hj[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HkKk
[?12l[?25h[?25l
:[?12l[?25hs/K/\=substitute(submatch(0), '.', "\r", '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hk[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HlLl
[?12l[?25h[?25l
:[?12l[?25hs/L/\=substitute(submatch(0), '.', "\n", '')/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1Hl[24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H5 lines, 445 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[9M[1;24r[15;1H:set cpo&
/^TEST/
j:s/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) ..[18;1H submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch(([19;1H3) . submatch(2) . submatch(1)/
j:s/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), subb[21;1Hmatch(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), subb[22;1Hmatch(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[1;23r[23;1H
[1;24r[23;1HTEST_5:[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HA123456789
[?12l[?25h[?25l
:[?12l[?25hs/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) .
submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch(
[23;80H3[24;1H) . submatch(2) . submatch(1)/
[?25l[1;1H[2L[1;1Hi\
i[23;11H987654321[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HB123456789
[?12l[?25h[?25l
:[?12l[?25hs/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), sub
[23;80Hm[24;1Hatch(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), sub
[23;80Hm[24;1Hatch(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/
[?25l[1;1H[2L[1;1Hi
j[23;1H[['B123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']][24;1H[K[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[1;1H[2M[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H8 lines, 80 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[8M[1;24r[16;1H/^TEST/
:set cpo+=/
j:s/A/a/
j:s/B/%/
:set cpo-=/
j:s/C/c/
j:s/D/%/
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST/
[?25l[24;7H[K[24;1H[1;23r[1;1H[3M[1;24r[21;1HTEST_6:
A
B[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hset cpo+=/
[?25l[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/A/a/
[?25l[22;1Ha[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/B/%/
[?25l[23;1Ha[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo-=/
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[21;1HC
D[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hs/C/c/
[?25l[21;1Hc[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hs/D/%/
[?25l[22;1H%[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:set magic&
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H11 lines, 303 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[11M[1;24r[13;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^TEST_7/
[?25l[24;9H[K[24;1H[1;23r[23;1H
[1;24r[23;1HTEST_7:[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HA[34m^M[mA
[?12l[?25h[?25l
:[?12l[?25hs/A./\=submatch(0)/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1HA[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HB[34m^@[mB
[?12l[?25h[?25l
:[?12l[?25hs/B./\=submatch(0)/
[?25l[1;23r[23;1H
[1;24r[22;2H[K[23;1HB[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HC[34m^@[mC
[?12l[?25h[?25l
:[?12l[?25hs/C./\=strtrans(string(submatch(0, 1)))/
[?25l[23;1H['C^@']C
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HD[34m^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/D.\nD/\=strtrans(string(submatch(0, 1)))/
[?25l[23;1H['D^@', 'D']
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1HE[34m^@[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/E\_.\{-}E/\=strtrans(string(submatch(0, 1)))/
[?25l[23;1H['E^@', '^@', '^@', '^@', '^@E']
[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Q$
[?25l[1;23r[23;1H
[1;24r[23;1HQ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/Q[^\n]Q/\=submatch(0)."foobar"/
[?25l[1m[37m[41mE486: Pattern not found: Q[^\n]Q[m[24;33H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Avoid :s error breaks dotest map on Windows.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[1;23r[1;1H[3M[1;24r[21;1HQ
STARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:function! TitleString()
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H8 lines, 177 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[8M[1;24r[16;3Hlet check = 'foo' =~ 'bar'
return ""
endfunction
:set titlestring=%{TitleString()}
:/^test_one/s/.*/\="foo\nbar"/
:/^test_two/s/.*/\="foo\nbar"/c
y
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! TitleString()
[?25l
: [?12l[?25h let check = 'foo' =~ 'bar'
[?25l: [?12l[?25h return ""
[?25l: [?12l[?25hendfunction
[1;1H[3L[?25l[2;1HTEST_7:
A[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset titlestring=%{TitleString()}
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^test_one/s/.*/\="foo\nbar"/
[?25l[1;23r[1;1H[2M[1;24r[22;1Hfoo
bar[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^test_two/s/.*/\="foo\nbar"/c
[?25l[1;23r[23;1H
[1;24r[23;1H[7mtest_two[m[24;1H[K[24;1H[32mreplace with \="foo\nbar" (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[1;23r[23;1H
[1;24r[22;1Hfoo[22;4H[K[23;1Hbar
[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
/^STARTTEST
[1;23r[23;1H
[1;24r[23;1HSTARTTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:g/^STARTTEST/.,/^ENDTEST/d
[?12l[?25h[?25l
:set ff=unix cpo-=A
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H3 lines, 72 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[23;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[23;19H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H:1;/^Results/,$wq! test.out[24;1H[K[23;19H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hg/^STARTTEST/.,/^ENDTEST/d
[?25l136 fewer lines[24;16H[K[1;1Ha[1;2H[K[2;1Ha
c
%[5;1H[K[6;1H[K[7;1HTEST_7:[7;8H[K[8;1HA[8;3H[K[9;1HA[9;2H[K[10;1HB[10;2H[K[11;1HB[11;2H[K[12;1H['C^@']C[12;9H[K[13;1H['D^@', 'D']
['E^@', '^@', '^@', '^@', '^@E']
Q
Q[16;2H[K[17;1H[K[18;1H[K[19;1Hfoo
bar
foo[21;4H[K[22;1Hbar[22;4H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/^Results/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test80.in" 201 lines, 6298 characters[1;1HTest 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\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[18;1H, '\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', '')[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for *sub-replace-special* and *sub-replace-expression* on substitute().[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1 line, 14 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[11;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H29 lines, 1142 characters written[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[12;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[23;1H, '\0\9\8\7\6\5\4\3\2\1', '')[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_1:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1H:set cpo&
:$put =\"\n\nTEST_10:\"
:let y = substitute('123', '\zs', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\zs.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\zs', 'a', 'g')[12C| $put =y
:let y = substitute('123', '\ze', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\ze.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\ze', 'a', 'g')[12C| $put =y
:let y = substitute('123', '1\|\ze', 'a', 'g')[10C| $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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A', 'A', '&&', '')
[?25l[1;23r[23;1H
[1;24r[23;1HAA[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('B', 'B', '\&', '')
[?25l[1;23r[23;1H
[1;24r[23;1H&[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)
[23;80H'[24;1H, '\0\9\8\7\6\5\4\3\2\1', '')
[?25l[1;1H[L[1;1H:let y = substitute('123', '\zs.', 'a', 'g')[12C| $put =y[2;29H.\zs[3;29H\ze', 'a', 'g') [4;32H.', 'a', 'g')[5;29H.\ze[6;29H1\|\ze', 'a', 'g')[7;31Hzs\|[23]', 'a', 'g')
/^TEST_11[8;10H[K[9;1HENDTEST[9;8H[K[10;1H[K[11;1HTEST_11:[12;1H[K[13;1HSTARTTEST
:/^Results/,$wq! test.out
ENDTEST[15;8H[K[16;1H[K[17;1HResults of test72:[18;1H[K[20;1HTEST_1:
AA[21;3H[K[22;1H&[22;2H[K[23;1HC123456789987654321[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('D', 'D', 'd', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('E', 'E', '~', '')
[?25l[1;23r[23;1H
[1;24r[23;1H~[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('F', 'F', '\~', '')
[?25l[1;23r[23;1H
[1;24r[23;1H~[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('G', 'G', '\ugg', '')
[?25l[1;23r[23;1H
[1;24r[23;1HGg[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('H', 'H', '\Uh\Eh', '')
[?25l[1;23r[23;1H
[1;24r[23;1HHh[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('I', 'I', '\lII', '')
[?25l[1;23r[23;1H
[1;24r[23;1HiI[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('J', 'J', '\LJ\EJ', '')
[?25l[1;23r[23;1H
[1;24r[23;1HjJ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('K', 'K', '\Uk\ek', '')
[?25l[1;23r[23;1H
[1;24r[23;1HKk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('lLl', 'L', '^[34m^M[m', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hl[34m^M[ml[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('mMm', 'M', '\r', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hm[34m^M[mm[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('nNn', 'N', '\^[34m^M[m', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hn[34m^M[mn[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('oOo', 'O', '\n', '')
[?25l[1;23r[1;1H[2M[1;24r[22;1Ho
o[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('pPp', 'P', '\b', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hp[34m^H[mp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('qQq', 'Q', '\t', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hq[7Cq[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('rRr', 'R', '\\', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hr\r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('sSs', 'S', '\c', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hscs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('uUu', 'U', \"\n\", '')
[?25l[1;23r[1;1H[2M[1;24r[22;1Hu
u[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('vVv', 'V', \"\b\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hv[34m^H[mv[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('wWw', 'W', \"\\\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hw\w[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('xXx', 'X', \"\r\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hx[34m^M[mx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('Y', 'Y', '\L\uyYy\l\EY', '')
[?25l[1;23r[23;1H
[1;24r[23;1HYyyY[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('Z', 'Z', '\U\lZzZ\u\Ez', '')
[?25l[1;23r[23;1H
[1;24r[23;1HzZZz[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_2
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:$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\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[21;1H, '\0\9\8\7\6\5\4\3\2\1', '')
:$put =substitute('D', 'D', 'd', '')
:$put =substitute('E', 'E', '~', '')
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H29 lines, 1144 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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', '\="\\"', '')[11C| $put =y
:let y = substitute('bBb', 'B', '\="\\\\"', '')[9C| $put =y
:let y = substitute('cCc', 'C', '\="[34m^V^M[m"', '')[9C| $put =y
:let y = substitute('dDd', 'D', '\="\\[34m^V^M[m"', '')[7C| $put =y[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nomagic
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_2:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1HHh
iI
jJ
Kk
l[34m^M[ml
m[34m^M[mm
n[34m^M[mn
o
o
p[34m^H[mp
q[7Cq
r\r
scs
u
u
v[34m^H[mv
w\w
x[34m^M[mx
YyyY
zZZz
TEST_2:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A', 'A', '&&', '')
[?25l[1;23r[23;1H
[1;24r[23;1HAA[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('B', 'B', '\&', '')
[?25l[1;23r[23;1H
[1;24r[23;1H&[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)
[23;80H'[24;1H, '\0\9\8\7\6\5\4\3\2\1', '')
[?25l[1;1H[L[1;1HKk
l[34m^M[ml
m[2Cm
n[2Cn
o[5;2H[K[7;1Hp[34m^H[mp
q q
r\r[9;9H[K[10;1Hscs
u[11;2H[K[13;1Hv[34m^H[mv
w\w[14;4H[K[15;1Hx[34m^M[mx
YyyY
zZZz[18;1H[K[20;1HTEST_2:
AA[21;3H[K[22;1H&[22;2H[K[23;1HC123456789987654321[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('D', 'D', 'd', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('E', 'E', '~', '')
[?25l[1;23r[23;1H
[1;24r[23;1H~[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('F', 'F', '\~', '')
[?25l[1;23r[23;1H
[1;24r[23;1H~[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('G', 'G', '\ugg', '')
[?25l[1;23r[23;1H
[1;24r[23;1HGg[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('H', 'H', '\Uh\Eh', '')
[?25l[1;23r[23;1H
[1;24r[23;1HHh[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('I', 'I', '\lII', '')
[?25l[1;23r[23;1H
[1;24r[23;1HiI[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('J', 'J', '\LJ\EJ', '')
[?25l[1;23r[23;1H
[1;24r[23;1HjJ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('K', 'K', '\Uk\ek', '')
[?25l[1;23r[23;1H
[1;24r[23;1HKk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('lLl', 'L', '^[34m^M[m', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hl[34m^M[ml[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('mMm', 'M', '\r', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hm[34m^M[mm[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('nNn', 'N', '\^[34m^M[m', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hn[34m^M[mn[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('oOo', 'O', '\n', '')
[?25l[1;23r[1;1H[2M[1;24r[22;1Ho
o[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('pPp', 'P', '\b', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hp[34m^H[mp[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('qQq', 'Q', '\t', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hq[7Cq[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('rRr', 'R', '\\', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hr\r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('sSs', 'S', '\c', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hscs[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('tTt', 'T', \"\r\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Ht[34m^M[mt[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('uUu', 'U', \"\n\", '')
[?25l[1;23r[1;1H[2M[1;24r[22;1Hu
u[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('vVv', 'V', \"\b\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hv[34m^H[mv[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('wWw', 'W', \"\\\", '')
[?25l[1;23r[23;1H
[1;24r[23;1Hw\w[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('X', 'X', '\L\uxXx\l\EX', '')
[?25l[1;23r[23;1H
[1;24r[23;1HXxxX[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('Y', 'Y', '\U\lYyY\u\Ey', '')
[?25l[1;23r[23;1H
[1;24r[23;1HyYYy[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_3
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:$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', '\="\\"', '')[11C| $put =y
:let y = substitute('bBb', 'B', '\="\\\\"', '')[9C| $put =y
:let y = substitute('cCc', 'C', '\="[34m^V^M[m"', '')[9C| $put =y
:let y = substitute('dDd', 'D', '\="\\[34m^V^M[m"', '')[7C| $put =y
:let y = substitute('eEe', 'E', '\="\\\\[34m^V^M[m"', '') | $put =y
:let y = substitute('fFf', 'F', '\="\\r"', '')[10C| $put =y
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H13 lines, 642 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[5M[1;24r[19;1H:let y = substitute('jJj', 'J', '\="\\n"', '')[10C| $put =y
:let y = substitute('kKk', 'K', '\="\r"', '')[11C| $put =y
:let y = substitute('lLl', 'L', '\="\n"', '')[11C| $put =y
/^TEST_4
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_3:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1HHh
iI
jJ
Kk
l[34m^M[ml
m[34m^M[mm
n[34m^M[mn
o
o
p[34m^H[mp
q[7Cq
r\r
scs
t[34m^M[mt
u
u
v[34m^H[mv
w\w
XxxX
yYYy
TEST_3:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet y = substitute('aAa', 'A', '\="\\"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Ha\a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('bBb', 'B', '\="\\\\"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hb\\b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('cCc', 'C', '\="^[34m^M[m"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hc[34m^M[mc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('dDd', 'D', '\="\\^[34m^M[m"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hd\[34m^M[md[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('eEe', 'E', '\="\\\\^[34m^M[m"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1He\\[34m^M[me[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('fFf', 'F', '\="\\r"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hf\rf[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('jJj', 'J', '\="\\n"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hj\nj[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('kKk', 'K', '\="\r"', '') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Hk[34m^M[mk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('lLl', 'L', '\="\n"', '') | $put =y
[?25l[1;23r[1;1H[2M[1;24r[22;1Hl
l[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_4
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:let y = substitute('bBb', 'B', '\="\\\\"', '')[9C| $put =y
:let y = substitute('cCc', 'C', '\="[34m^V^M[m"', '')[9C| $put =y
:let y = substitute('dDd', 'D', '\="\\[34m^V^M[m"', '')[7C| $put =y
:let y = substitute('eEe', 'E', '\="\\\\[34m^V^M[m"', '') | $put =y
:let y = substitute('fFf', 'F', '\="\\r"', '')[10C| $put =y
:let y = substitute('jJj', 'J', '\="\\n"', '')[10C| $put =y
:let y = substitute('kKk', 'K', '\="\r"', '')[11C| $put =y
:let y = substitute('lLl', 'L', '\="\n"', '')[11C| $put =y
/^TEST_4
ENDTEST
TEST_4:
STARTTEST
:set magic&
:set cpo&
:$put =\"\n\nTEST_4:\"
:let y = substitute('aAa', 'A', '\=substitute(submatch(0), ".", "\\", "")', '') [19;1H | $put =y
:let y = substitute('bBb', 'B', '\=substitute(submatch(0), ".", "\\\\", "")', '''[21;1H) | $put =y
:let y = substitute('cCc', 'C', '\=substitute(submatch(0), ".", "[34m^V^M[m", "")', '''[23;1H) | $put =y
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H13 lines, 912 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[14M[1;24r[10;1H:let y = substitute('dDd', 'D', '\=substitute(submatch(0), ".", "\\[34m^V^M[m", "")', [11;1H'') | $put =y
:let y = substitute('eEe', 'E', '\=substitute(submatch(0), ".", "\\\\[34m^V^M[m", "")''[13;1H, '') | $put =y
:let y = substitute('fFf', 'F', '\=substitute(submatch(0), ".", "\\r", "")', ''))[15;1H | $put =y
:let y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''))[17;1H | $put =y
:let y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '') [19;1H | $put =y
:let y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '') [21;1H | $put =y
/^TEST_5
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_4:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1Ht[34m^M[mt
u
u
v[34m^H[mv
w\w
XxxX
yYYy
TEST_3:
a\a
b\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf
j\nj
k[34m^M[mk
l
l
TEST_4:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet y = substitute('aAa', 'A', '\=substitute(submatch(0), ".", "\\", "")', '')
| $put =y
[?25l[1;1H[L[1;1Hu
v[34m^H[mv
w\w[4;4H[K[5;1HXxxX
yYYy[7;1H[K[9;1HTEST_3:
a\a[10;4H[K[11;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[15;5H[K[16;1Hj\nj
k[34m^M[mk
l[18;2H[K[20;1H[K[22;1HTEST_4:
a\a[23;4H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('bBb', 'B', '\=substitute(submatch(0), ".", "\\\\", "")', '
[23;80H'[24;1H) | $put =y
[?25l[1;1H[L[1;1Hu
v[34m^H[mv
w\w[3;4H[K[4;1HXxxX
yYYy[6;1H[K[8;1HTEST_3:
a\a[9;4H[K[10;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[14;5H[K[15;1Hj\nj
k[34m^M[mk
l[17;2H[K[19;1H[K[21;1HTEST_4:
a\a[22;4H[K[23;1Hb\b[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('cCc', 'C', '\=substitute(submatch(0), ".", "^[34m^M[m", "")', '')
| $put =y
[?25l[1;1H[L[1;1Hv[34m^H[mv
w\w[2;4H[K[3;1HXxxX
yYYy[5;1H[K[7;1HTEST_3:
a\a[8;4H[K[9;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[13;5H[K[14;1Hj\nj
k[34m^M[mk
l[16;2H[K[18;1H[K[20;1HTEST_4:
a\a[21;4H[K[22;1Hb\b
c[34m^M[mc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('dDd', 'D', '\=substitute(submatch(0), ".", "\\^[34m^M[m", "")', '
[23;80H'[24;1H) | $put =y
[?25l[1;1H[L[1;1Hw\w
XxxX
yYYy[4;1H[K[6;1HTEST_3:
a\a[7;4H[K[8;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[12;5H[K[13;1Hj\nj
k[34m^M[mk
l[15;2H[K[17;1H[K[19;1HTEST_4:
a\a[20;4H[K[21;1Hb\b
c[34m^M[mc
d[2Cd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('eEe', 'E', '\=substitute(submatch(0), ".", "\\\\^[34m^M[m", "")',
'') | $put =y
[?25l[1;1H[L[1;1HXxxX
yYYy[3;1H[K[5;1HTEST_3:
a\a[6;4H[K[7;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[11;5H[K[12;1Hj\nj
k[34m^M[mk
l[14;2H[K[16;1H[K[18;1HTEST_4:
a\a[19;4H[K[20;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('fFf', 'F', '\=substitute(submatch(0), ".", "\\r", "")', ''
[23;80H)[24;1H | $put =y
[?25l[1;1H[L[1;1HyYYy[2;1H[K[4;1HTEST_3:
a\a[5;4H[K[6;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[10;5H[K[11;1Hj\nj
k[34m^M[mk
l[13;2H[K[15;1H[K[17;1HTEST_4:
a\a[18;4H[K[19;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me
f[34m^M[mf[23;5H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''
[23;80H)[24;1H | $put =y
[?25l[1;1H[L[2;1HTEST_3:
a\a
b\\b[4;5H[K[5;1Hc[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[8;5H[K[9;1Hj\nj[9;5H[K[10;1Hk[34m^M[mk
l[11;2H[K[12;1Hl[12;2H[K[13;1H[K[14;1H[K[15;1HTEST_4:
a\a
b\b[17;4H[K[18;1Hc[34m^M[mc
d[34m^M[md
e\[34m^M[me
f[2Cf
j[22;2H[K[23;1Hj[23;2H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '')
| $put =y
[?25l[1;1H[L[1;1HTEST_3:
a\a[2;4H[K[3;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[7;5H[K[8;1Hj\nj
k[34m^M[mk
l[10;2H[K[12;1H[K[14;1HTEST_4:
a\a[15;4H[K[16;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me
f[34m^M[mf[20;5H[K[21;1Hj[21;2H[K[23;1Hk[34m^M[mk[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '')
| $put =y
[?25l[1;1H[L[1;1Hb\\b
c[34m^M[mc
d\[34m^M[md
e\\[34m^M[me
f\rf[5;5H[K[6;1Hj\nj[6;5H[K[7;1Hk[34m^M[mk
l[8;2H[K[9;1Hl[9;2H[K[10;1H[K[11;1H[K[12;1HTEST_4:
a\a
b\b[14;4H[K[15;1Hc[34m^M[mc
d[34m^M[md
e\[34m^M[me
f[2Cf
j[19;2H[K[20;1Hj[20;2H[K[21;1Hk[34m^M[mk
l
l[23;2H[K[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_5
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:let y = substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''))[2;1H | $put =y
:let y = substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', '') [4;1H | $put =y
:let y = substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', '') [6;1H | $put =y
/^TEST_5
ENDTEST
TEST_5:
STARTTEST
:set magic&
:set cpo&
:$put =\"\n\nTEST_5:\"
:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[17;1H, '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submaa[18;1Htch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')
:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[20;1H, '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), subb[21;1Hmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), subb[22;1Hmatch(1, 1)])', '')
/^TEST_6
[31msearch hit BOTTOM, continuing at TOP[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[12;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H6 lines, 543 characters written[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[13;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1HENDTEST[24;1H[K[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_5:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1He\\[34m^M[me
f\rf
j\nj
k[34m^M[mk
l
l
TEST_4:
a\a
b\b
c[34m^M[mc
d[34m^M[md
e\[34m^M[me
f[34m^M[mf
j
j
k[34m^M[mk
l
l
TEST_5:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)
[23;80H'[24;1H, '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . subm
[23;80Ha[24;1Htch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')
[?25l[1;1H[2L[1;1Hf\rf
j\nj
k[34m^M[mk
l[4;2H[K[6;1H[K[8;1HTEST_4:
a\a[9;4H[K[10;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me
f[34m^M[mf[14;5H[K[15;1Hj[15;2H[K[17;1Hk[34m^M[mk
l[18;2H[K[20;1H[K[22;1HTEST_5:
A123456789987654321[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)
[23;80H'[24;1H, '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), su
[23;80Hb[24;1Hmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), su
[23;80Hb[24;1Hmatch(1, 1)])', '')
[?25l[1;1H[3L[1;1Hj\nj
k[34m^M[mk
l[5;1H[K[7;1HTEST_4:
a\a[8;4H[K[9;1Hb\b
c[34m^M[mc
d[2Cd
e\[34m^M[me
f[34m^M[mf[13;5H[K[14;1Hj[14;2H[K[16;1Hk[34m^M[mk
l[17;2H[K[19;1H[K[21;1HTEST_5:
A123456789987654321
[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']][24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_6
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:$put =\"\n\nTEST_5:\"
:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[3;1H, '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submaa[4;1Htch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')
:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)''[6;1H, '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), subb[7;1Hmatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), subb[8;1Hmatch(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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H9 lines, 216 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[23;1H
[1;24r[23;1HENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[1;1H[3M[1;24r[22;1HTEST_7:[21;1H[?12l[?25h[?25l
:so! Xdotest
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_6:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1Hl
TEST_4:
a\a
b\b
c[34m^M[mc
d[34m^M[md
e\[34m^M[me
f[34m^M[mf
j
j
k[34m^M[mk
l
l
TEST_5:
A123456789987654321
[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]
TEST_6:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo+=/
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A', 'A', 'a', '')
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('B', 'B', '%', '')
[?25l[1;23r[23;1H
[1;24r[23;1H%[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset cpo-=/
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('C', 'C', 'c', '')
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('D', 'D', '%', '')
[?25l[1;23r[23;1H
[1;24r[23;1H%[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_7
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: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[34m^V^M[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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H9 lines, 313 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[23;1H
[1;24r[23;1HENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_7:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1Hd[34m^M[md
e\[34m^M[me
f[34m^M[mf
j
j
k[34m^M[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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =substitute('A^[34m^M[mA', 'A.', '\=submatch(0)', '')
[?25l[1;23r[23;1H
[1;24r[23;1HA[34m^M[mA[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')
[?25l[1;23r[1;1H[2M[1;24r[22;1HB
B[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '')
[?25l[1;23r[1;1H[2M[1;24r[22;1H['B
']B[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('-bb', '\zeb', 'a', 'g')
[?25l[1;23r[23;1H
[1;24r[23;1H-abab[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =substitute('-bb', '\ze', 'c', 'g')
[?25l[1;23r[23;1H
[1;24r[23;1Hc-cbcbc[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_8
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:set magic&
:set cpo&
:$put =\"\n\nTEST_7:\"
:$put =substitute('A[34m^V^M[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
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H10 lines, 186 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[2M[1;24r[22;1Hyy/^TEST_9:
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_8:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1HTEST_5:
A123456789987654321
[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]
TEST_6:
a
%
c
%
TEST_7:
A[34m^M[mA
B
B
['B
']B
-abab
c-cbcbc
TEST_8:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =',,X'
[?25l[1;23r[23;1H
[1;24r[23;1H,,X[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(^\|,\)\ze\(,\|X\)/\1N/g
[?25l[23;1HN,,NX
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =',,Y'
[?25l[1;23r[23;1H
[1;24r[23;1H,,Y[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(^\|,\)\ze\(,\|Y\)/\1N/gc
[?25l[23;1H[7m,[m
[32mreplace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;1HN,,NY
[?12l[?25h[?25l
:[?12l[?25h$put =',,Z'
[?25l[1;23r[23;1H
[1;24r[23;1H,,Z[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/\(^\|,\)\ze\(,\|Z\)/\1N/gc
[?25l[23;1H[7m,[m
[32mreplace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;1HN,[7m,[mZ
[32mreplace with \1N (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;3H,NZ
[?12l[?25h[?25l
/[?12l[?25h^TEST_9:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: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:
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H6 lines, 82 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[21;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_9:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[1;1Ha
%
c
%
TEST_7:
A[34m^M[mA
B
B
['B
']B
-abab
c-cbcbc
TEST_8:
N,,NX
N,,NY
N,,NZ
TEST_9:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='xxx'
[?25l[1;23r[23;1H
[1;24r[23;1Hxxx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hs/x/X/gc
[?25l[23;1H[7mx[m
[32mreplace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;1HX[7mx[m
[32mreplace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;2HX[7mx[m
[32mreplace with X (y/n/a/q/l/^E/^Y)?[?12l[?25h[?25l[m[24;1H[K[24;1H[23;3Hx[?12l[?25h[?25l
/[?12l[?25h^TEST_10:
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1HTEST_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')[13C| $put =y
:let y = substitute('123', '\zs.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\zs', 'a', 'g')[12C| $put =y
:let y = substitute('123', '\ze', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\ze.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\ze', 'a', 'g')[12C| $put =y
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H12 lines, 584 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H:let y = substitute('123', '1\|\ze', 'a', 'g')[10C| $put =y
:let y = substitute('123', '1\zs\|[23]', 'a', 'g') | $put =y
/^TEST_11
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset magic&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =\"\n\nTEST_10:\"
[?25l3 more lines[24;13H[K[27m[23m[m[H[2J[3;1HTEST_7:
A[34m^M[mA
B
B
['B
']B
-abab
c-cbcbc
TEST_8:
N,,NX
N,,NY
N,,NZ
TEST_9:
XXx
TEST_10:
3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet y = substitute('123', '\zs', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Ha1a2a3a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '\zs.', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '.\zs', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1H1a2a3a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '\ze', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Ha1a2a3a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '\ze.', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Ha1a2a3[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '.\ze', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '1\|\ze', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1Haa2a3a[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet y = substitute('123', '1\zs\|[23]', 'a', 'g') | $put =y
[?25l[1;23r[23;1H
[1;24r[23;1H1aaa[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^TEST_11
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H:let y = substitute('123', '\zs', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\zs.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\zs', 'a', 'g')[12C| $put =y
:let y = substitute('123', '\ze', 'a', 'g')[13C| $put =y
:let y = substitute('123', '\ze.', 'a', 'g')[12C| $put =y
:let y = substitute('123', '.\ze', 'a', 'g')[12C| $put =y
:let y = substitute('123', '1\|\ze', 'a', 'g')[10C| $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
&
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/^STARTTEST
[14;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H1 line, 26 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[15;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^Results/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test82.in" 103 lines, 3166 characters[1;1HTests 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[17;1H:b, a:expected))
: else
: let b:passed += 1
: endif
:endfunction
:
:function! Chk(a, b, result)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 97 lines, 3055 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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%.22[4;1HX', n)) | endfor
:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ[6;1H\xc2\x%.2XuVw', n)) | endfor
:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ[8;1H\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[34m^[[mgg0g~ap:let lns = getline(1,3)
:q!
:call append(line('$'), lns)
:"
:wq! test.out
ENDTEST
[1m[34m~ [23;1H~ [20;1H[?12l[?25h
[?25l
[m:so! Xdotest
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1H: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%.22[4;1HX', n)) | endfor[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hset enc=utf8
[?25l[27m[23m[m[H[2J[1;1H: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%.22[4;1HX', n)) | endfor
:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ[6;1H\xc2\x%.2XuVw', n)) | endfor
:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZZ[8;1H\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[34m^[[mgg0g~ap:let lns = getline(1,3)
:q!
:call append(line('$'), lns)
:"
:wq! test.out
ENDTEST
[1m[34m~ [23;1H~ [21;1H[?12l[?25h[?25l[27m[23m[m[H[2J[1;1HTests 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[17;1H:b, a:expected))
: else
: let b:passed += 1
: endif
:endfunction
:
:function! Chk(a, b, result)[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[23;80H:[24;1Hop, a:b, a:expected))
[?25l: [?12l[?25h: else
[?25l: [?12l[?25h: let b:passed += 1
[?25l: [?12l[?25h: endif
[?25l: [?12l[?25h:endfunction
[1;1H[7L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[3L[?25l[2;1H[1m[34m~ [3;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! LT(a, b)
[?25l
: [?12l[?25h: call Check(a:a, a:b, -1)
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[2;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! GT(a, b)
[?25l
: [?12l[?25h: call Check(a:a, a:b, 1)
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[2;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! EQ(a, b)
[?25l
: [?12l[?25h: call Check(a:a, a:b, 0)
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[2;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b:passed=0
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('', '')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('', 'a')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('abc', 'abc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('Abc', 'abC')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('ab', 'abc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('AB', 'abc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('ab', 'aBc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xd0\xb9\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd', '\xd0\xb9\xd0\xa6\
[23;80Hx[24;1Hd0\xa3\xd0\xba\xd0\x95\xd0\xbd')
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall LT('\xd0\xb9\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd', '\xd0\xaf\xd1\x86\
[23;80Hx[24;1Hd1\x83\xd0\xba\xd0\xb5\xd0\xbd')
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall EQ('\xe2\x84\xaa', 'k')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('\xe2\x84\xaa', 'kkkkkk')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xe2\x84\xaa\xe2\x84\xaa\xe2\x84\xaa', 'kkk')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('kk', '\xe2\x84\xaa\xe2\x84\xaa\xe2\x84\xaa')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xe2\x84\xaa\xe2\x84\xa6k\xe2\x84\xaak\xcf\x89', 'k\xcf\x89\xe2\x84\x
[23;80Ha[24;1Hakk\xe2\x84\xa6')
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall EQ('Abc\x80', 'AbC\x80')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('Abc\x80', 'AbC\x81')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('Abc', 'AbC\x80')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall LT('abc\x80DEF', 'abc\x80def') " case folding stops at the first bad cha
[23;80Hr[24;1Hacter
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall LT('\xc3XYZ', '\xc3xyz')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xef\xbc\xba', '\xef\xbd\x9a') " FF3A (upper), FF5A (lower)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall GT('\xef\xbc\xba', '\xef\xbc\xff') " first string is ok and equals \xef\
[23;80Hx[24;1Hbd\x9a after folding, second string is illegal and was left unchanged, then the
strings were bytewise compared
[?25l[1;1H[2L[2;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall LT('\xc3', '\xc3\x83')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall EQ('\xc3\xa3xYz', '\xc3\x83XyZ')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.
[23;80H2[24;1HX', n)) | endfor
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfor n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('Xy
[23;80HZ[24;1H\xc2\x%.2XuVw', n)) | endfor
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfor n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('Xy
[23;80HZ[24;1H\xc2\x%.2XuVw', n)) | endfor
[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcall append(0, printf('%d checks passed', b:passed))
[?25l[1;23r[1;1H[L[1;24r[1;1H3732 checks passed[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test that g~ap changes one paragraph only.
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [m[12;1H[1m[7m[No Name] [m[13;1H3732 checks passed[13;19H[K[14;1H[K[23;1H[7mtest82.in [+] [1;1H[?12l[?25h[?25l[mabcd[2;1H[K[3;1Hdefg[3;5H[K[12;11H[1m[7m[+][3;4H[?12l[?25h[1;1H[?25l[mABCD
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet lns = getline(1,3)
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[1;1H3732 checks passed
[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), lns)
[?25l[3;1HABCD[3;5H[K[4;1H[K[5;1Hdefg[5;5H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test84.in" 35 lines, 786 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for curswant not changing when setting an option[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 25 lines, 637 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[6M[1;24r[18;1H:put =map(copy(result), 'join(v:val, '' '')')
:1 delete _
:write test.out
:
:qall!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start target options$/+1,/^end target options$/-1 yank
[?25l3 lines yanked[24;15H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet target_option_names = split(@0)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1H: 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[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;2Hendfor[13;9H[K[14;2H[K[15;2Hnew
:put =map(copy(result), 'join(v:val, '' '')')
:1 delete _[17;12H[K[18;2Hwrite test.out[19;2H[K[20;2Hqall!
ENDTEST[22;1H[K[23;1H[7mtest84.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput =['1234567890', '12345']
[?25l[2;1H1234567890[2;11H[K[3;1H12345[3;6H[K[12;11H[1m[7m[+][3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h1 delete _
[?25l[1;11r[11;1H
[1;24r[11;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet result = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor option_name in target_option_names
[?25l
: [?12l[?25h: call add(result, TestCurswant(option_name))
[?25l: [?12l[?25h:endfor
[1;1H[2L[?25l[1;1H1234567890
12345[24;1H[K[2;5H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[2;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[9;1H1234567890
12345
[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [+] [m[17;1H:1 delete _
:write test.out
:
:qall!
ENDTEST
[7mtest84.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hput =map(copy(result), 'join(v:val, '' '')')
[?25l3 more lines[24;13H[K[2;1Htabstop 7 4[2;12H[K[3;1Htimeoutlen 7 7[3;15H[K[4;1Httimeoutlen 7 7[4;16H[K[8;11H[1m[7m[+][4;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h1 delete _
[?25l[1;7r[7;1H
[1;24r[7;1H[1m[34m~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hwrite test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 3 lines, 43 characters written[8;1H[1m[7mtest.out] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqall!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test88.in" 99 lines, 1449 characters[1;1Hvim: 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1Hvim: set ft=vim[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[6;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 82 lines, 1216 characters written[7;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[7;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[19;9H.concealed. text[20;9H|concealed| text
.a. .b. .c. .d.
|a| |b| |c| |d|[13;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has('conceal')
[?25l
: [?12l[?25h e! test.ok
[?25l: [?12l[?25h wq! test.out
[?25l: [?12l[?25h:endif
[1;1H[3L[?25l[1;1H:normal W
GGk
:normal W[24;1H[K[14;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" Conceal settings.
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset conceallevel=2
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset concealcursor=nc
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyntax match test /|/ conceal
[?25l[17;1Hconcealed [20;9Hconcealed
a b c d[23;26H[K[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Save current cursor position. Only works in <expr> mode, can't be used
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" with :normal because it moves the cursor to the command line. Thanks to ZyX
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" <zyx.vim@gmail.com> for the idea to use an <expr> mapping.
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet positions = []
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnnoremap <expr> GG ":let positions += ['".screenrow().":".screencol()."']\n"
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Start test.
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start:
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal ztj
[?25l[1;23r[1;1H[14M[1;24r[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:let positions += ['2:1']
[2;1H[?12l[?25h[1;1H[2;1H[?25l[24;1H[K[24;1H:[?12l[?25h" We should end up in the same column when running these commands on the two
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" lines.
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal ft
[?25l[2;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['2:17']
[2;17H[?12l[?25h[1;6H[2;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[2;20H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['2:20']
[2;20H[?12l[?25h[1;6H[2;20H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j
[?25l[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['3:1']
[3;1H[?12l[?25h[2;1H[3;1H[?25l[24;1H[K[24;1H:[?12l[?25hnormal ft
[?25l[3;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['3:17']
[3;17H[?12l[?25h[2;17H[3;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[3;20H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['3:20']
[3;20H[?12l[?25h[2;20H[3;20H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j0j
[?25l[5;8H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['5:8']
[5;8H[?12l[?25h[4;1H[5;8H[?25l[24;1H[K[24;1H:[?12l[?25h" Same for next test block.
[?25l[5;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal ft
[?25l[5;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['5:25']
[5;25H[?12l[?25h[4;1H[5;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[5;28H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['5:28']
[5;28H[?12l[?25h[4;1H[5;28H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j
[?25l[6;8H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['6:8']
[6;8H[?12l[?25h[5;8H[6;8H[?25l[24;1H[K[24;1H:[?12l[?25hnormal ft
[?25l[6;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['6:25']
[6;25H[?12l[?25h[5;25H[6;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[6;28H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['6:28']
[6;28H[?12l[?25h[5;28H[6;28H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j0j
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:1']
[8;1H[?12l[?25h[7;1H[8;1H[?25l[24;1H[K[24;1H:[?12l[?25h" And check W with multiple tabs and conceals in a line.
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[8;9H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:9']
[8;9H[?12l[?25h[7;1H[8;9H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[8;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:17']
[8;17H[?12l[?25h[7;1H[8;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[8;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:25']
[8;25H[?12l[?25h[7;1H[8;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[8;27H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['8:27']
[8;27H[?12l[?25h[7;1H[8;27H[?25l[24;1H[K[24;1H:[?12l[?25hnormal 0j
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:1']
[9;1H[?12l[?25h[8;1H[9;1H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;9H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:9']
[9;9H[?12l[?25h[8;9H[9;9H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:17']
[9;17H[?12l[?25h[8;17H[9;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:25']
[9;25H[?12l[?25h[8;25H[9;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:26']
[9;26H[?12l[?25h[8;27H[9;26H[?25l[24;1H[K[24;1H:[?12l[?25hset lbr
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:26']
[9;26H[?12l[?25h[8;27H[9;26H[?25l[24;1H[K[24;1H:[?12l[?25hset list listchars=tab:>-
[?25l[3;10H[34m>------
>-------[11C>----
>-------[9C>------[8;4H>----[m.b.[34m>----[m.c.[34m>----
[ma[34m>------[mb[34m>------[mc[34m>------[9;26H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnormal 0
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:1']
[9;1H[?12l[?25h[8;1H[9;1H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;9H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:9']
[9;9H[?12l[?25h[8;9H[9;9H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;17H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:17']
[9;17H[?12l[?25h[8;17H[9;17H[?25l[24;1H[K[24;1H:[?12l[?25hnormal W
[?25l[9;25H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:25']
[9;25H[?12l[?25h[8;25H[9;25H[?25l[24;1H[K[24;1H:[?12l[?25hnormal $
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:let positions += ['9:26']
[9;26H[?12l[?25h[8;27H[9;26H[?25l[24;1H[K[24;1H:[?12l[?25h" Display result.
[?25l[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', 'end:')
[?25l[10;1Hend:[10;5H[K[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append('$', positions)
[?25l[11;1H2:1[11;4H[K[12;1H2:17[12;5H[K[13;1H2:20[13;5H[K[14;1H3:1[14;4H[K[15;1H3:17[15;5H[K[16;1H3:20[16;5H[K[17;1H5:8[17;4H[K[18;1H5:25[18;5H[K[19;1H5:28[19;5H[K[20;1H6:8[20;4H[K[21;1H6:25[21;5H[K[22;1H6:28[22;5H[K[23;1H8:1[23;4H[K[9;26H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^end/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test90.in" 53 lines, 1204 characters[1;1HTests 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("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b78522[12;1Hb855'
: let res='ok'
:else
: let res='ng'
:endif
:$put =testcase.res
:"
:let testcase='test for 1 char: '
:if sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee[21;1He48bb'
: let res='ok'
:else[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for sha256() function. vim: set ft=vim et ts=2 sw=2 :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 47 lines, 1114 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:"
:let testcase='test for contains meta char: '
:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[4;1H39ed110ca776'
: 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") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb00[13;1Hb8d27db8d5feaa813953'
: let res='ok'
:else
: let res='ng'
:endif
:$put =testcase.res
:"
:/^start:/,$wq! test.out
ENDTEST
start:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has('cryptv') || !exists('*sha256')
[?25l
: [?12l[?25h e! test.ok
[?25l: [?12l[?25h wq! test.out
[?25l: [?12l[?25h:endif
[1;1H[3L[?25l[1;1H:"
:let testcase='test for contains meta char: '
:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[4;1H3[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for empty string: '
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b785
[23;80H2[24;1Hb855'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:"
:let testcase='test for contains meta char: '
:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[4;1H39ed110ca776'[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[1;23r[23;1H
[1;24r[23;1Htest for empty string: ok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for 1 char: '
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785af
[23;80He[24;1He48bb'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:let testcase='test for contains meta char: '
:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[3;1H39ed110ca776'
: let res='ok'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[1;23r[23;1H
[1;24r[23;1Htest for 1 char: ok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for 3 chars: '
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("abc") ==# 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61
[23;80Hf[24;1H20015ad'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8ccc[2;1H39ed110ca776'
: let res='ok'
:else[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[1;23r[1;1H[2M[1;24r[22;1Htest for 3 chars: ok
[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for contains meta char: '
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8c
[23;80Hc[24;1H39ed110ca776'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H: let res='ok'
:else
: let res='ng'
:endif[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[23;1Htest for contains meta char: ok[23;32H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet testcase='test for contains non-ascii char: '
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif sha256("\xde\xad\xbe\xef") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb
[23;80H0[24;1Hb8d27db8d5feaa813953'
[?25l[24;1H[K[24;1H: [?12l[?25h: let res='ok'
[?25l: [?12l[?25h:else
[?25l: [?12l[?25h: let res='ng'
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H: let res='ok'
:else
: let res='ng'
:endif[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =testcase.res
[?25l[1;23r[23;1H
[1;24r[23;1Htest for contains non-ascii char: ok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test91.in" 116 lines, 3240 characters[1;1HTests 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))[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 109 lines, 3127 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Use strings to test for memory leaks.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" First, check that in an empty window, gettabvar() returns the correct value
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet t:testvar='abcd'
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(gettabvar(1,'testvar'))
[?25l[1;23r[23;1H
[1;24r[23;1H'abcd'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(1,'testvar'))
[?25l[1;23r[23;1H
[1;24r[23;1H'abcd'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" Test for getbufvar()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b:var_num = '1234'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet def_num = '5678'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getbufvar(1, 'var_num'))
[?25l[1;23r[23;1H
[1;24r[23;1H'1234'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, 'var_num', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H'1234'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H{'var_num': '1234'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, '', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H{'var_num': '1234'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet b:var_num
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getbufvar(1, 'var_num', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H'5678'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, '', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(9, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(9, '', def_num))
[?25l[1;23r[23;1H
[1;24r[23;1H'5678'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet def_num
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getbufvar(1, '&autoindent'))
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getbufvar(1, '&autoindent', 1))
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Open new window with forced option values
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset fileformats=unix,dos
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew ++ff=dos ++bin ++enc=iso-8859-2
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[14;1H{'var_num': '1234'}
'5678'[16;7H[K[17;1H{}[17;3H[K[19;1H''
'5678'
0[21;2H[K[23;1H[7mtest91.in [+] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet otherff = getbufvar(bufnr('%'), '&fileformat')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet otherbin = getbufvar(bufnr('%'), '&bin')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet otherfenc = getbufvar(bufnr('%'), '&fenc')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hclose
[?25l[1;1H:$put =string(gettabwinvar(9, 3, '', def_dict))
:unlet def_dict[2;16H[K[3;1H:$put =string(gettabwinvar(2, 3, '&nux'))[3;42H[K[4;1H:$put =string(gettabwinvar(2, 3, '&nux', 1))[4;45H[K[5;1H:tabonly[5;9H[K[6;1H:"[6;3H[K[7;1H:/^start/,$wq! test.out[7;24H[K[8;1HENDTEST[8;8H[K[9;1H[K[10;1Hstart:[10;7H[K[11;1H'abcd'[11;7H[K[12;1H'abcd'[12;7H[K[14;1H'1234'[14;7H[K[16;1H{'var_num': '1234'}
'5678'
{}
''[20;3H[K[21;1H'5678'
0[23;2H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =otherff
[?25l[1;23r[23;1H
[1;24r[23;1Hdos[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(otherbin)
[?25l[1;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =otherfenc
[?25l[1;23r[23;1H
[1;24r[23;1Hiso-8859-2[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet otherff otherbin otherfenc
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for getwinvar()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet w:var_str = "Dance"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet def_str = "Chance"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getwinvar(1, 'var_str'))
[?25l[1;23r[23;1H
[1;24r[23;1H'Dance'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, 'var_str', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H'Dance'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H{'var_str': 'Dance'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, '', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H{'var_str': 'Dance'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet w:var_str
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(getwinvar(1, 'var_str', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H'Chance'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, '', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(9, ''))
[?25l[1;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(9, '', def_str))
[?25l[1;23r[23;1H
[1;24r[23;1H'Chance'[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, '&nu'))
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(getwinvar(1, '&nu', 1))
[?25l[1;23r[23;1H
[1;24r[23;1H0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet def_str
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for gettabvar()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabnew
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25htabnew
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [No Name] [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet t:var_list = [1, 2, 3]
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet t:other = 777
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet def_list = [4, 5, 6, 7]
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m + test91.in [m[4m[30m[47m [No Name] [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[2;1H{'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[2;23r[23;1H
[1;24r[23;1H[1, 2, 3][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, 'var_list', def_list))
[?25l[2;23r[23;1H
[1;24r[23;1H[1, 2, 3][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H{'var_list': [1, 2, 3], 'other': 777}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, '', def_list))
[?25l[2;23r[23;1H
[1;24r[23;1H{'var_list': [1, 2, 3], 'other': 777}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25htablast
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [No Name] [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hunlet t:var_list
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m + test91.in [m[4m[30m[47m [No Name] [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[2;1H''
'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[2;23r[23;1H
[1;24r[23;1H[4, 5, 6, 7][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(9, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(9, '', def_list))
[?25l[2;23r[23;1H
[1;24r[23;1H[4, 5, 6, 7][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, '&nu'))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabvar(3, '&nu', def_list))
[?25l[2;23r[23;1H
[1;24r[23;1H[4, 5, 6, 7][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet def_list
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabonly
[?25l[1;1Hdos[1;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" test for gettabwinvar()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabnew
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25htabnew
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [No Name] [m[1m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25htabprev
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [No Name] [m[4m[30m[47m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hsplit
[?25l[1;15H[1m[35m2[m[1mN o[No Name] [m[4m[30m[47m [No Name] [m[42C[7m [m[1;80H[4m[30m[47mX[m[12;1H[1m[7m[No Name] [m[13;1H[K[23;1H[7m[No Name] [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsplit
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [m[1m[35m3[m[1m [No Name] [m[4m[30m[47m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[9;1H[1m[7m[No Name] [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hwincmd w
[?25l[9;1H[7m[No Name][m[1m[7m [m[7m [m[16;1H[1m[7m[No Name] [m[1;80H[7m [m[1;80H[4m[30m[47mX[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hvert split
[?25l[1;15H[1m[35m4[m[1m [m[63C[7m [m[1;80H[4m[30m[47mX[m[10;41H[7m|[11;41H|[12;41H|[13;41H|[14;41H|[15;41H|[m[11;42H[1m[34m~[12;42H~[13;42H~[14;42H~[15;42H~[m[16;42H[7m[No Name] [10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd w
[?25l[16;1H[7m[No Name][m[1m[7m [m[7m [m[1m[7m[No Name] [m[1;80H[7m [m[1;80H[4m[30m[47mX[10;42H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet w:var_dict = {'dict': 'tabwin'}
[?25l[10;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet def_dict = {'dict2': 'newval'}
[?25l[10;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd b
[?25l[16;42H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [m[1;80H[7m [m[1;80H[4m[30m[47mX[17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m + test91.in [m[4m[30m[47m [m[4m[35m[47m4[m[4m[30m[47m [No Name] [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[2;1H1
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[2;23r[23;1H
[1;24r[23;1H{'dict': 'tabwin'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{'dict': 'tabwin'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H{'var_dict': {'dict': 'tabwin'}}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, '', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{'var_dict': {'dict': 'tabwin'}}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25htabnext
[?25l[27m[23m[m[H[2J[1;1H[4m[30m[47m + test91.in [m[1m [m[1m[35m4[m[1m [No Name] [m[4m[30m[47m [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[9;1H[7m[No Name] [10;41H|[11;41H|[12;41H|[13;41H|[14;41H|[15;41H|[m[11;1H[1m[34m~
~
~
~
~ [m
[7m[No Name] [m[11;42H[1m[34m~ [12;42H~ [13;42H~ [14;42H~ [15;42H~ [m[16;42H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [17;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h3wincmd w
[?25l[16;42H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;80H [m[1;80H[4m[30m[47mX[10;42H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hunlet w:var_dict
[?25l[10;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m + test91.in [m[4m[30m[47m [m[4m[35m[47m4[m[4m[30m[47m [No Name] [No Name] [m[7m [m[1;80H[4m[30m[47mX[m[2;1H{'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[2;23r[23;1H
[1;24r[23;1H{'dict2': 'newval'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, '', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 9, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 9, '', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{'dict2': 'newval'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(9, 3, ''))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(9, 3, '', def_dict))
[?25l[2;23r[23;1H
[1;24r[23;1H{'dict2': 'newval'}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet def_dict
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(gettabwinvar(2, 3, '&nux'))
[?25l[2;23r[23;1H
[1;24r[23;1H''[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =string(gettabwinvar(2, 3, '&nux', 1))
[?25l[2;23r[23;1H
[1;24r[23;1H1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25htabonly
[?25l[1;1H0[1;2H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test94.in" 256 lines, 4824 characters[1;1HTest 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()[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for Visual mode and operators[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[18;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 211 lines, 3837 characters written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[19;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hkv3lyjv3lpgvcxxx[34m^[[m
:$put ='---'
:
:$put =''
:$put ='gv in exclusive select mode without operation'
:$put ='zzz '
:set selection=exclusive
0v3l[34m^[[mgvcxxx[34m^[[m
:$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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=utf-8 nocp viminfo+=nviminfo
[?25l[27m[23m[m[H[2J[1;1Hkv3lyjv3lpgvcxxx[34m^[[m
:$put ='---'
:
:$put =''
:$put ='gv in exclusive select mode without operation'
:$put ='zzz '
:set selection=exclusive
0v3l[34m^[[mgvcxxx[34m^[[m
:$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[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" User functions
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction MoveToCap()
[?25l
: [?12l[?25h: call search('\u', 'W')
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1Hkv3lyjv3lpgvcxxx[34m^[[m
:$put ='---'[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[6L[?25l[1;1Hkv3lyjv3lpgvcxxx[34m^[[m
:$put ='---'
:
:$put =''
:$put ='gv in exclusive select mode without operation'
:$put ='zzz '[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Visual modes followed by operator
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^apple
[?25l[16;1H[?12l[?25ha[?25l[24;1H[1m-- VISUAL --[16;2H[?12l[?25h[?25l[m[7mp[?12l[?25h[?25l[mle banana cherry[16;18H[K[24;1H[K[16;2H[?12l[?25h[?25l banana cherry[16;16H[K[16;2H[?12l[?25h [?25l[7mbanan[m[24;1H[1m-- VISUAL --[16;8H[?12l[?25h[?25l[m
a cherry[16;10H[K[24;1H[K[16;3H[?12l[?25h[?25ly[16;4H[K[16;3H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[16;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^line 1
[?25l[18;1H[?12l[?25h[?25ll[7mine 1 line 1 [m[24;1H[1m-- VISUAL LINE --[18;1H[?12l[?25h[?25l[24;4HINSERT --N[m[24;13H[K[24;1H[K[18;1Hnewline[18;8H[K[18;7H[?12l[?25h[19;7H[?25l[24;1H[1m-- INSERT --[m[24;1H[K[19;1Hnewline[19;8H[K[19;7H[?12l[?25h[20;7H[?25l
[7mline 3 line 3
line 4[m [7mline 4 [m
[1m-- VISUAL LINE --[21;7H[?12l[?25h[?25l[m[20;1Hline 5 line 5[20;14H[K[21;1Hline 6 line 6[21;14H[K[22;1H[K[23;1Hxxxxxxxxxxxxx[24;1H[K[20;1H[?12l[?25h[?25l[20;1H[K[21;1Hxxxxxxxxxxxxx
xxxxxxxxxxxxx[20;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^xxxx
[?25l[21;1H[?12l[?25h[?25l
[1m-- VISUAL BLOCK --[21;1H[?12l[?25h[?25l[m[7mx
[?12l[?25h[?25l[21;2Hx
x[?12l[?25h[?25l[m[24;4H[1mINSERT --O[m[24;13H[K[24;1H[K[21;1H
[21;2H[?12l[?25h [?25l
[1m-- INSERT --[m[24;1H[K[21;3H
[21;4H[?12l[?25h [?25l[1;23r[23;1H
[1;24r[20;5H[7mxxxx
[m [7mxxxx
[mxxxx[7mxxxx[m
xxxx[7mxxx[mxxxxxx
[1m-- VISUAL BLOCK --[23;8H[?12l[?25h[?25l
-- INSERT --O[m[24;13H[K[24;1H[K[20;5H----
----
xxxx----
xxxx----[20;8H[?12l[?25h-[?25l[24;1H[1m-- INSERT --[m[24;1H[K[20;9H----[21;9H----[22;9H----[23;9H----[20;12H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Visual mode maps (movement and text object)
[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hvnoremap W /\u/s-1<CR>
[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hvnoremap iW :<C-U>call SelectInCaps()<CR>
[?25l[20;12H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Kiwi
[?25l[1;23r[1;1H[2M[1;24r[23;1HKiwiRaspberryDateWatermelonPeach[24;1H[K[23;1H[?12l[?25h[?25l
[1m-- VISUAL --[23;1H[?12l[?25h[?25l[m[24;1H[K[24;1H/\u/s-1
[23;1H[7mKiw[?12l[?25h[?25l[m
[1m-- INSERT --[m[24;1H[K[23;1HNoRaspberryDateWatermelonPeach[23;31H[K[23;2H[?12l[?25ho[?25l
[1m-- INSERT --[m[24;1H[K[23;3HNoberryDateWatermelonPeach[23;29H[K[23;4H[?12l[?25hoberry[?25l[7mDateWat[m
[1m-- VISUAL --[23;17H[?12l[?25h[?25l[m[23;10HrmelonPeach[23;21H[K[24;1H[K[23;10H[?12l[?25h[?25lach[23;13H[K[23;10H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;10H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Jambu
[?25l[1;23r[23;1H
[1;24r[23;1HJambuRambutanBananaTangerineMango[24;1H[K[23;1H[?12l[?25hJa[?25l
[1m-- VISUAL --[23;3H[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[24;2H[K[24;2Hcall SelectInCaps()
[23;1H[7mJamb[?12l[?25h[?25l[m
[1m-- INSERT --[m[24;13H[K[24;1H[K[23;1H-RambutanBananaTangerineMango[23;30H[K[23;1H[?12l[?25h-[?25l
[1m-- INSERT --[m[24;1H[K[23;2H-tanBananaTangerineMango[23;26H[K[23;2H[?12l[?25h-[?25l[7mtanBanana[m
[1m-- VISUAL --[23;12H[?12l[?25h[?25l[m
--angerineMango[23;16H[K[24;1H[K[23;3H[?12l[?25ha[?25lgo[23;6H[K[23;4H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Operator-pending mode maps (movement and text object)
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25honoremap W /\u/<CR>
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25honoremap <Leader>W :<C-U>call MoveToCap()<CR>
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25honoremap iW :<C-U>call SelectInCaps()<CR>
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Pineapple
[?25l[1;23r[1;1H[2M[1;24r[23;1HPineappleQuinceLoganberryOrangeGrapefruitKiwiZ[24;1H[K[23;1H[?12l[?25h[?25l
/\u/
[24;4H[K[24;1H[24;1H[K[23;1H-QuinceLoganberryOrangeGrapefruitKiwiZ[23;39H[K[23;1H[?12l[?25h-[?25l
/\u/
[24;4H[K[24;1H[1m-- INSERT --[m[24;1H[K[23;2H-LoganberryOrangeGrapefruitKiwiZ[23;34H[K[23;2H[?12l[?25h-[?25l
/\u/
[24;4H[K[24;1H[1m-- INSERT --[m[24;1H[K[23;3H-GrapefruitKiwiZ[23;19H[K[23;3H[?12l[?25h-[?25l
/\u/
[24;4H[K[24;1H[1m-- INSERT --[m[24;1H[K[23;4H-Z[23;6H[K[23;4H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Juniper
[?25l[1;23r[23;1H
[1;24r[23;1HJuniperDurianZ[24;1H[K[23;1H[?12l[?25h[?25l
:call MoveToCap()
[23;1HWhavcre
[?12l[?25h[7C[?25l[24;1H[K[24;1H:call MoveToCap()
[23;8HQhevna[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;8H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^Lemon
[?25l[1;23r[23;1H
[1;24r[23;1HLemonNectarineZ[24;1H[K[23;1H[?12l[?25h[?25l
:call SelectInCaps()
[23;1H[?12l[?25h[?25lLemonLemonNectarineZ
Lemo[?12l[?25hn[?25l[24;1H[K[24;1H:call SelectInCaps()
[24;1H[K[23;6HNewNectarineZ[23;19H[K[23;8H[?12l[?25hwNecta[?25l
:call SelectInCaps()
[24;1H[K[23;11HwZ[23;13H[K[23;11H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;11H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Patch 7.3.879: Properly abort Operator-pending mode for "dv:<Esc>" etc.
[?25l[23;11H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^zzzz
[?25l[1;23r[1;1H[2M[1;24r[23;1Hzzzz[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noma | let v:errmsg = ''
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1m[37m[41mE21: Cannot make changes, 'modifiable' is off[23;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ma | put = v:errmsg =~# '^E21' ? 'ok' : 'failed'
[?25l[1;23r[23;1H
[1;24r[23;1Hok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset noma | let v:errmsg = ''
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset ma | put = v:errmsg =~# '^E21' ? 'failed' : 'ok'
[?25l[1;23r[23;1H
[1;24r[23;1Hok[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise visual mode: replace last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: replace last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet @" = 'x'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet v:errmsg = ''
[?25l[23;1H[?12l[?25h[?25l
[1m-- VISUAL --[m[24;13H[K[23;1H[?12l[?25h[?25l[7ma[?12l[?25h[?25l[mx[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='v:errmsg='.v:errmsg
[?25l[1;23r[23;1H
[1;24r[23;1Hv:errmsg=[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise visual mode: delete middle line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: delete middle line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25l
[1m-- VISUAL --[21;1H[?12l[?25h[?25l[m[7ma[?12l[?25h[?25l[mb
c
[1m[34m~ [m[24;1H[K[21;1H[?12l[?25h
[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise visual mode: delete middle two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: delete middle two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25l
[1m-- VISUAL --[21;1H[?12l[?25h[?25l[m[7ma
[?12l[?25h[?25lb[?12l[?25h[?25l[m[21;1Hc[21;2H[K[22;1H[1m[34m~ [23;1H~ [m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[22;1H---[22;4H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='characterwise visual mode: delete last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: delete last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25l
[1m-- VISUAL --[23;1H[?12l[?25h[?25l[m[7mc[?12l[?25h[?25l[m[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise visual mode: delete last two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise visual mode: delete last two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[?25l
[1m-- VISUAL --[22;1H[?12l[?25h[?25l[m[7mb
[?12l[?25h[?25lc[?12l[?25h[?25l[m[22;1H[K[23;1H[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Select mode maps
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsnoremap <lt>End> <End>
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsnoremap <lt>Down> <Down>
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsnoremap <lt>Del> <Del>
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise select mode: delete middle line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise select mode: delete middle line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25l
[1m-- SELECT --[21;1H[?12l[?25h[?25l[m[7ma[?12l[?25h[?25l[mb
c
[1m[34m~ [m[24;1H[K[21;1H[?12l[?25h
[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise select mode: delete middle two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise select mode: delete middle two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25l
[1m-- SELECT --[21;1H[?12l[?25h[?25l[m[7ma
[?12l[?25h[?25lb[?12l[?25h[?25l[m[21;1Hc[21;2H[K[22;1H[1m[34m~ [23;1H~ [m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[22;1H---[22;4H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='characterwise select mode: delete last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise select mode: delete last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25l
[1m-- SELECT --[23;1H[?12l[?25h[?25l[m[7mc[?12l[?25h[?25l[m[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='characterwise select mode: delete last two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hcharacterwise select mode: delete last two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[?25l
[1m-- SELECT --[22;1H[?12l[?25h[?25l[m[7mb
[?12l[?25h[?25lc[?12l[?25h[?25l[m[22;1H[K[23;1H[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='linewise select mode: delete middle line'
[?25l[1;23r[23;1H
[1;24r[23;1Hlinewise select mode: delete middle line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25la[7m [m
[1m-- SELECT LINE --[21;1H[?12l[?25h[?25l[mb[21;2H[K[22;1Hc
[1m[34m~ [m[24;1H[K[21;1H[?12l[?25h
[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='linewise select mode: delete middle two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hlinewise select mode: delete middle two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[21;1H[?25la[7m [m
[1m-- SELECT LINE --[21;1H[?12l[?25h[?25l[m[7ma
[mb[7m
[?12l[?25h[?25l[m[21;1Hc[21;2H[K[22;1H[1m[34m~ [23;1H~ [m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[22;1H---[22;4H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='linewise select mode: delete last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hlinewise select mode: delete last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[?25lc[7m [m
[1m-- SELECT LINE --[23;1H[?12l[?25h[?25l[m[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[23;1H---[23;4H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='linewise select mode: delete last two line'
[?25l[1;23r[23;1H
[1;24r[23;1Hlinewise select mode: delete last two line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='a'
[?25l[1;23r[23;1H
[1;24r[23;1Ha[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='b'
[?25l[1;23r[23;1H
[1;24r[23;1Hb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='c'
[?25l[1;23r[23;1H
[1;24r[23;1Hc[24;1H[K[23;1H[?12l[?25h[22;1H[?25lb[7m [m
[1m-- SELECT LINE --[22;1H[?12l[?25h[?25l[m[7mb
[mc[7m
[?12l[?25h[?25l[m[22;1H[1m[34m~ [23;1H~ [m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[22;1H---[22;4H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='v_p: replace last character with line register at middle line'
[?25l[1;23r[23;1H
[1;24r[23;1Hv_p: replace last character with line register at middle line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='aaa'
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='bbb'
[?25l[1;23r[23;1H
[1;24r[23;1Hbbb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ccc'
[?25l[1;23r[23;1H
[1;24r[23;1Hccc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h-2yank
[?25l[23;1H[?12l[?25h[22;1Hbb[?25l
[1m-- VISUAL --[22;3H[?12l[?25h[?25l[m[22;3H[K[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[1;1H[2M[1;24r[22;1Hccc
---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='v_p: replace last character with line register at middle line selecting
newline'
[?25l[1;1H[L[2;1Hlinewise select mode: delete middle two line
c[3;2H[K[4;1H---[5;1H[K[6;1Hlinewise select mode: delete last line
a[7;2H[K[8;1Hb
---[10;1H[K[11;1Hlinewise select mode: delete last two line
a[12;2H[K[13;1H---[14;1H[K[15;1Hv_p: replace last character with line register at middle line
aaa[16;4H[K[17;1Hbb[17;3H[K[18;1Haaa[19;1H[K[20;1Hccc
---[22;1H[K[23;1Hv_p: replace last character with line register at middle line selecting newline[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='aaa'
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='bbb'
[?25l[1;23r[23;1H
[1;24r[23;1Hbbb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ccc'
[?25l[1;23r[23;1H
[1;24r[23;1Hccc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h-2yank
[?25l[23;1H[?12l[?25h[22;1Hbb[?25l
[1m-- VISUAL --[22;3H[?12l[?25h[?25l[m[7mb[?12l[?25h[?25l[m[22;3H[K[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1Hccc
[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='v_p: replace last character with line register at last line'
[?25l[1;23r[23;1H
[1;24r[23;1Hv_p: replace last character with line register at last line[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='aaa'
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='bbb'
[?25l[1;23r[23;1H
[1;24r[23;1Hbbb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ccc'
[?25l[1;23r[23;1H
[1;24r[23;1Hccc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h-2yank
[?25l[23;1H[?12l[?25hcc[?25l
[1m-- VISUAL --[23;3H[?12l[?25h[?25l[1;23r[m[23;1H
[1;24r[22;3H[K[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='v_p: replace last character with line register at last line selecting n
[23;80He[24;1Hwline'
[?25l[1;1H[L[1;1Haaa
bb[2;3H[K[3;1Haaa[4;1H[K[5;1Hccc
---[7;1H[K[8;1Hv_p: replace last character with line register at middle line selecting newline
aaa[9;4H[K[10;1Hbb[10;3H[K[11;1Haaa
ccc
---[14;1H[K[15;1Hv_p: replace last character with line register at last line
aaa[16;4H[K[17;1Hbbb
cc[18;3H[K[19;1Haaa[20;1H[K[21;1H---[22;1H[K[23;1Hv_p: replace last character with line register at last line selecting newline[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='aaa'
[?25l[1;23r[23;1H
[1;24r[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='bbb'
[?25l[1;23r[23;1H
[1;24r[23;1Hbbb[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ccc'
[?25l[1;23r[23;1H
[1;24r[23;1Hccc[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h-2yank
[?25l[23;1H[?12l[?25hcc[?25l
[1m-- VISUAL --[23;3H[?12l[?25h[?25l[m[7mc[?12l[?25h[?25l[1;23r[m[23;1H
[1;24r[22;3H[K[23;1Haaa[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='gv in exclusive select mode after operation'
[?25l[1;23r[23;1H
[1;24r[23;1Hgv in exclusive select mode after operation[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='zzz '
[?25l[1;23r[23;1H
[1;24r[23;1Hzzz[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='ä[24;11Hà '
[?25l[1;23r[23;1H
[1;24r[23;1Hä[23;3HÃ[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset selection=exclusive
[?25l[23;1H[?12l[?25h[22;1H[?25l
[1m-- VISUAL --[m[24;13H[K[22;1H[?12l[?25h[?25l[7mzzz[?12l[?25h[?25l[m
zzz[24;1H[K[22;1H[?12l[?25h
[?25l
[1m-- VISUAL --[23;1H[?12l[?25h[?25l[m[7mä[23;3HÃ[?12l[?25h[?25l[m
zzz[24;1H[K[23;3H[?12l[?25h[?25l
[1m-- VISUAL --[m[23;1H[7mzzz[?12l[?25h[?25l[m[24;4H[1mINSERT [m[24;1H[K[23;1Hxxx[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =''
[?25l[1;23r[23;1H
[1;24r[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='gv in exclusive select mode without operation'
[?25l[1;23r[23;1H
[1;24r[23;1Hgv in exclusive select mode without operation[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put ='zzz '
[?25l[1;23r[23;1H
[1;24r[23;1Hzzz[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset selection=exclusive
[?25l[23;1H[?12l[?25h[?25l
[1m-- VISUAL --[m[24;13H[K[23;1H[?12l[?25h[?25l[7mzzz[?12l[?25h[?25l[m
zzz[24;1H[K[23;4H[?12l[?25h[?25l
[1m-- VISUAL --[m[23;1H[7mzzz[?12l[?25h[?25l[m[24;4H[1mINSERT [m[24;1H[K[23;1Hxxx[?12l[?25h[?25l
:[?12l[?25h$put ='---'
[?25l[1;23r[23;1H
[1;24r[23;1H---[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^start:/+2,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New] 123L, 1328C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test95.in" 141 lines, 5827 characters[1;1HTest 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.[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for regexp patterns with multi-byte support, using utf-8.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[7;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 131 lines, 5590 characters written[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[8;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:[8Cendif
: 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:
[1m[34m~ [20;1H[?12l[?25h
[?25l
[m:so! Xdotest
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp encoding=utf-8 viminfo+=nviminfo nomore
[?25l[27m[23m[m[H[2J[1;1H:[8Cendif
: 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:
[1m[34m~ [21;1H[?12l[?25h[?25l
[m:[?12l[?25h" tl is a List of Lists with:
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" 2: test auto/old/new 0: test auto/old 1: test auto/new
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" regexp pattern
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" text to test the pattern on
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected match (optional)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected submatch 1 (optional)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" expected submatch 2 (optional)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" etc.
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" When there is no match use only the first two items.
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tl = []
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" Multi-byte character tests. These will fail unless vim is compiled
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"""" with Multibyte (FEAT_MBYTE) or BIG/HUGE features.
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[[:alpha:][=a=]]\+', '879 aiaãâaiuvna ', 'aiaãâaiuvna'])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[[=a=]]\+', 'ddaãâbcd', 'aãâ'])[34m^I^I^I^I^I^I^I^I[m" equivalence
classes
[?25l[1;1H[L[1;1H:[8Cendif[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hcall add(tl, [2, '[^ม ]\+', 'มม oijasoifjos ifjoisj f osij j มมมมม abcd', 'oij
[23;80Ha[24;1Hsoifjos'])
[?25l[1;1H[L[1;1H:[8Cendif[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hcall add(tl, [2, ' [^ ]\+', 'start มabcdม ', ' มabcdม'])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tl, [2, '[ม[:alpha:][=a=]]\+', '879 aiaãมâมaiuvna ', 'aiaãมâมaiuvna']
[23;80H)[24;1H[?25l[1;1H[L[1;1H:[8Cendif[24;1H[K[21;1H[?12l[?25h[?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 ®expengine = 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
[23;80Hx[24;1Ht . '\", 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
[23;80Hx[24;1Ht . '\", 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
[23;80Hx[24;1Ht . '\", 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:[8C[?12l[?25h: if len(t) <= matchidx + i
[?25l:[10C[?12l[?25h: let e = ''
[?25l:[10C[?12l[?25h: else
[?25l:[10C[?12l[?25h: let e = t[matchidx + i]
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: if l[i] != e
[?25l:[10C[?12l[?25h: $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text:
"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'
[?25l:[10C[?12l[?25h: endif
[?25l:[8C[?12l[?25h: endfor
[?25l: [?12l[?25h: unlet i
[?25l: [?12l[?25h: endif
[?25l: [?12l[?25h: endfor
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[1;1HOK 2 - ק[34m<200d>[mx\Z
OK 0 - ק[34m<200d>[mx\Z
OK 1 - ק[34m<200d>[mx\Z
OK 2 - ק[34m<200d>[mx\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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" check that 'ambiwidth' does not change the meaning of \p
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset regexpengine=1 ambiwidth=single
[?25l[27m[23m[m[H[2J[1;1HOK 2 - ק[34m<200d>[mx\Z
OK 0 - ק[34m<200d>[mx\Z
OK 1 - ק[34m<200d>[mx\Z
OK 2 - ק[34m<200d>[mx\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[1;23r[23;1H
[1;24r[23;1Heng 1 ambi single: 0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset regexpengine=1 ambiwidth=double
[?25l[27m[23m[m[H[2J[1;1HOK 0 - ק[34m<200d>[mx\Z
OK 1 - ק[34m<200d>[mx\Z
OK 2 - ק[34m<200d>[mx\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[1;23r[23;1H
[1;24r[23;1Heng 1 ambi double: 0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset regexpengine=2 ambiwidth=single
[?25l[27m[23m[m[H[2J[1;1HOK 1 - ק[34m<200d>[mx\Z
OK 2 - ק[34m<200d>[mx\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[1;23r[23;1H
[1;24r[23;1Heng 2 ambi single: 0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset regexpengine=2 ambiwidth=double
[?25l[27m[23m[m[H[2J[1;1HOK 2 - ק[34m<200d>[mx\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[1;23r[23;1H
[1;24r[23;1Heng 2 ambi double: 0[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/\%#=1^Results/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test98.in" 43 lines, 908 characters[1;1HTest 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.[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for 'scrollbind' causing an unexpected scroll of one of the windows.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 35 lines, 791 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[3;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[16M[1;24r[8;1H: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(too[20;1HpLineLeft - topLineRight))
:w! test.out
:brewind
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" We don't want the status line to cause problems:
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset laststatus=0
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:totalLines = &lines * 20
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet middle = g:totalLines / 2
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd n
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd o
[?25l[12;1H[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hfor i in range(1, g:totalLines)
[?25l
: [?12l[?25h: call setline(i, 'LINE ' . i)
[?25l: [?12l[?25h:endfor
[1;1H[2L[?25l[1;1HLINE 1
LINE 2
LINE 3[3;7H[K[4;1HLINE 4[4;7H[K[5;1HLINE 5[5;7H[K[6;1HLINE 6[6;7H[K[7;1HLINE 7[7;7H[K[8;1HLINE 8[8;7H[K[9;1HLINE 9[9;7H[K[10;1HLINE 10[10;8H[K[11;1HLINE 11[11;8H[K[12;1HLINE 12[12;8H[K[13;1HLINE 13[13;8H[K[14;1HLINE 14[14;8H[K[15;1HLINE 15[15;8H[K[16;1HLINE 16[16;8H[K[17;1HLINE 17[17;8H[K[18;1HLINE 18[18;8H[K[19;1HLINE 19[19;8H[K[20;1HLINE 20[20;8H[K[21;1HLINE 21[21;8H[K[22;1HLINE 22[22;8H[K[23;1HLINE 23[23;8H[K[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hexe string(middle)
[?25l[27m[23m[m[H[2J[1;1HLINE 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[12;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnormal zt
[?25l[1;23r[1;1H[11M[1;24r[13;1HLINE 252
LINE 253
LINE 254
LINE 255
LINE 256
LINE 257
LINE 258
LINE 259
LINE 260
LINE 261
LINE 262[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnormal M
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25haboveleft vert new
[?25l[1;1H [32C[7m|[2;41H|[3;41H|[4;41H|[5;41H|[6;41H|[7;41H|[8;41H|[9;41H|[10;41H|[11;41H|[12;41H|[13;41H|[14;41H|[15;41H|[16;41H|[17;41H|[18;41H|[19;41H|[20;41H|[21;41H|[22;41H|[23;41H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~ [m[1;42HLINE 240[2;42HLINE 241[3;42HLINE 242[4;42HLINE 243[5;42HLINE 244[6;42HLINE 245[7;42HLINE 246[8;42HLINE 247[9;42HLINE 248[10;42HLINE 249[11;42HLINE 250[12;42HLINE 251[13;42HLINE 252[14;42HLINE 253[15;42HLINE 254[16;42HLINE 255[17;42HLINE 256[18;42HLINE 257[19;42HLINE 258[20;42HLINE 259[21;42HLINE 260[22;42HLINE 261[23;42HLINE 262[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(1, g:totalLines)
[?25l
: [?12l[?25h: call setline(i, 'line ' . i)
[?25l: [?12l[?25h:endfor
[1;1H[2L[?25l[1;1Hline 1[34C[7m|[m
line 2[34C[7m|[m
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 [1;42HLINE 240[2;42HLINE 241[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hexe string(middle)
[?25l[1;6H229[2;7H30[3;6H231[4;6H232[5;6H233[6;6H234[7;6H235[8;6H236[9;6H237[10;6H238[11;6H239[12;6H240[13;6H241[14;6H242[15;6H243[16;6H244[17;6H245[18;6H246[19;6H247[20;7H48[21;7H49[22;7H50[23;7H51[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnormal zt
[?25l[1;1Hline 240
line 241
line 242
line 243
line 244
line 245
line 246
line 247
line 248
line 249
line 250
line 251
[13;1Hline 252
line 253
line 254
line 255
line 256
line 257
line 258
line 259
line 260
line 261
line 262[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hnormal M
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Execute the following two command at once to reproduce the problem.
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl scb | wincmd p
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl scb
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd w
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet topLineLeft = line('w0')
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd p
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet topLineRight = line('w0')
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl noscrollbind
[?25l[12;42H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd p
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl noscrollbind
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq!
[?25l[1;1HLINE[1;41H[K[2;1HLINE[2;41H[K[3;1HLINE[3;41H[K[4;1HLINE[4;41H[K[5;1HLINE[5;41H[K[6;1HLINE[6;41H[K[7;1HLINE[7;41H[K[8;1HLINE[8;41H[K[9;1HLINE[9;41H[K[10;1HLINE[10;41H[K[11;1HLINE[11;41H[K[12;1HLINE[12;41H[K[13;1HLINE[13;41H[K[14;1HLINE[14;41H[K[15;1HLINE[15;41H[K[16;1HLINE[16;41H[K[17;1HLINE[17;41H[K[18;1HLINE[18;41H[K[19;1HLINE[19;41H[K[20;1HLINE[20;41H[K[21;1HLINE[21;41H[K[22;1HLINE[22;41H[K[23;1HLINE[23;41H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%del _
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall setline(1, 'Difference between the top lines (left - right): ' . string(t
[23;80Ho[24;1HpLineLeft - topLineRight))
[?25l[1;1H[L[1;1HDifference between the top lines (left - right): 0[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 1 line, 51 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbrewind
[?25l"test98.in" 43 lines, 908 characters[1;1H:normal M[1;10H[K[2;1H:" Execute the following two command at once to reproduce the problem.[2;71H[K[3;1H:setl scb | wincmd p[3;21H[K[4;1H:setl scb[4;10H[K[5;1H:wincmd w[5;10H[K[6;1H:let topLineLeft = line('w0')[6;30H[K[7;1H:wincmd p[7;10H[K[8;1H:let topLineRight = line('w0')[8;31H[K[9;1H:setl noscrollbind[9;19H[K[10;1H:wincmd p[10;10H[K[11;1H:setl noscrollbind[11;19H[K[12;1H:q![12;4H[K[13;1H:%del _[13;8H[K[14;1H:call setline(1, 'Difference between the top lines (left - right): ' . string(too[15;1HpLineLeft - topLineRight))[15;27H[K[16;1H:w! test.out[16;13H[K[17;1H:brewind[17;9H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1HSTARTTEST[20;10H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[20;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H1 line, 5 characters written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[21;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test99.in" 69 lines, 1400 characters[1;1HTests 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
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for regexp with multi-byte encoding and various magic settings.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[5;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 43 lines, 931 characters written[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[6;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:" 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[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
[?25l[27m[23m[m[H[2J[1;1H:" 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
:[?12l[?25h" Test \%u, [\u] and friends
[?25l[23;3H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h\%u20ac
[?25l[1;23r[23;1H
/[?12l[?25h[\u4f7f\u5929]\+
[?25l[1;23r[23;1H
/[?12l[?25h\%U12345678
[?25l[1;23r[23;1H
/[?12l[?25h[\U1234abcd\u1234\uabcd]
[?25l[1;23r[23;1H
/[?12l[?25h\%d21879b
[?25l[1;23r[23;1H
:[?12l[?25h" Test backwards search from a multi-byte char
[?25l[23;4H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25hx
[?25l[1;23r[23;1H
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" l Test what 7.3.192 fixed
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^l
[?25l[1;23r[23;1H
2 d dd dee deeff
3 g gg ghh ghhii
4 j jj jkk jkkll
5 m mm mnn mnnoo
#@/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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test103.in" 37 lines, 823 characters[1;1HTest for visual mode not being reset causing E315 error.
STARTTEST
:so small.vim
:enew
:let g:msg="Everything's fine."
:function! TriggerTheProblem()
:[7C" At this point there is no visual selection because :call reset it.
:[7C" Let's restore the selection:
:[7Cnormal gv
:[7C'<,'>del _
:[7Ctry
:[15Cexe "normal \<Esc>"
:[7Ccatch /^Vim\%((\a\+)\)\=:E315/
:[15Cechom 'Snap! E315 error!'
:[15Clet g:msg='Snap! E315 error!'
:[7Cendtry
: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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for visual mode not being reset causing E315 error.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 29 lines, 723 characters written[3;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[3;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[10M[1;24r[14;1H:"[7Cex-way will require the colon operator which resets the visual mode thuu[15;1Hs
:"[7Cpreventing the problem:
:"
GV:call TriggerTheProblem()
:%del _
:call append(line('$'), g:msg)
:w! test.out
:brewind
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25henew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet g:msg="Everything's fine."
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! TriggerTheProblem()
[?25l
: [?12l[?25h:[34m^I[m" At this point there is no visual selection because :call reset it.
[?25l: [?12l[?25h:[34m^I[m" Let's restore the selection:
[?25l: [?12l[?25h:[34m^I[mnormal gv
[?25l: [?12l[?25h:[34m^I[m'<,'>del _
[?25l: [?12l[?25h:[34m^I[mtry
[?25l: [?12l[?25h:[34m^I^I[mexe "normal \<Esc>"
[?25l: [?12l[?25h:[34m^I[mcatch /^Vim\%((\a\+)\)\=:E315/
[?25l: [?12l[?25h:[34m^I^I[mechom 'Snap! E315 error!'
[?25l: [?12l[?25h:[34m^I^I[mlet g:msg='Snap! E315 error!'
[?25l: [?12l[?25h:[34m^I[mendtry
[?25l: [?12l[?25h:endfunction
[1;1H[11L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25henew
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetl buftype=nofile
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), 'Delete this line.')
[?25l[2;1HDelete this line.[2;18H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" NOTE: this has to be done by a call to a function because executing :del the
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" ex-way will require the colon operator which resets the visual mode th
[23;80Hu[24;1Hs[?25l[1;1H[L[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h" preventing the problem:
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h
[?25lD[7melete this line.
[?12l[?25h[?25l[m[24;1H[K[24;1H:'<,'>[?12l[?25hcall TriggerTheProblem()
[?25l[2;1H[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h%del _
[?25l--No lines in buffer--[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), g:msg)
[?25l[2;1HEverything's fine.[2;19H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 2 lines, 20 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbrewind
[?25l"test103.in" 37 lines, 823 characters[1;1H:[7Cendtry
:endfunction[2;14H[K[3;1H:enew[3;6H[K[4;1H:setl buftype=nofile[4;21H[K[5;1H:call append(line('$'), 'Delete this line.')[5;45H[K[6;1H:"[6;3H[K[7;1H:"[7;3H[K[8;1H:" NOTE: this has to be done by a call to a function because executing :del the[8;80H[K[9;1H:" ex-way will require the colon operator which resets the visual mode thuu[10;1Hs[10;2H[K[11;1H:" preventing the problem:[11;33H[K[12;1H:"[12;3H[K[13;1HGV:call TriggerTheProblem()[13;28H[K[14;1H:%del _[14;8H[K[15;1H:call append(line('$'), g:msg)[15;31H[K[16;1H:w! test.out[16;13H[K[17;1H:brewind[17;9H[K[18;1HENDTEST[18;8H[K[19;1H[K[20;1HSTARTTEST[20;10H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[20;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H1 line, 5 characters written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[21;1H[?12l[?25h[?25l
/ENDTEST[24;10H[K[24;1H[22;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test104.in" 30 lines, 698 characters[1;1HTests 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 [16;1H== 1 ? "a" : "b"}']
: try
: redir => messages
: execute 'let' letargs
: redir END
: $put ='OK:'
: $put =split(substitute(messages, '\n', '\0 ', 'g'), '\n')
: catch[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :let. vim: set ft=vim ts=8 :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 24 lines, 618 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[6M[1;24r[18;1H: $put ='FAIL: ' . v:exception
: redir END
: endtry
:endfor
:/^Results/,$wq! test.out
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset runtimepath+=./sautest
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test to not autoload when assigning. It causes internal error.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[5L[?25l[1;1H: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 [7;1H== 1 ? "a" : "b"}']
: try[8;7H[K[9;1H: redir => messages
: execute 'let' letargs[11;12HEND[11;15H[K[12;6H$put ='OK:'[12;17H[K[13;6H$put =split(substitute(messages, '\n', '\0 ', 'g'), '\n')
: catch[14;9H[K[15;12H'FAIL: ' . v:exception[15;34H[K[16;4H redir END
: endtry[17;11H[K[18;2Hendfor[18;8H[K[19;2H/^Results/,$wq! test.out
ENDTEST[21;1H[K[22;1HResults of test104:
OK: function('tr')[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet a = 1
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b = 2
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0
== 1 ? "a" : "b"}']
[?25l[24;1H[K[24;1H: [?12l[?25h: try
[?25l: [?12l[?25h: redir => messages
[?25l: [?12l[?25h: execute 'let' letargs
[?25la[21C#1
b[21C#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[21C#2
b[21C#2
a[21C#1
a[21C#1
b[21C#2
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h/^Results/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test107.in" 38 lines, 717 characters[1;1HTests 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)
:[7Clet 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for adjusting window and contents vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 32 lines, 628 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[13M[1;24r[11;1H: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;2H:wincmd p[13;11H[K[14;2Hcall add(r, [line("w0"), s3])[15;2H[K[16;2Hbwipeout!
:$put=r[17;8H[K[18;2Hcall garbagecollect(1)
:"[19;3H[K[20;2H/^start:/,$wq! test.out
ENDTEST[21;8H[K[22;1H[K[23;1H[7mtest107.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall setline(1, range(1,256))
[?25l[1;1H1
2[2;2H[K[3;1H3[3;2H[K[4;1H4[4;2H[K[5;1H5[5;2H[K[6;1H6[6;2H[K[7;1H7[7;2H[K[8;1H8[8;2H[K[9;1H9[9;2H[K[10;1H10[10;3H[K[11;1H11[11;3H[K[12;11H[1m[7m[+][1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet r=[]
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1H1
2
3
4
5
6[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"
[?25l[11;1H[7m[No Name] [+] [m[12;1H:let s3=GetScreenStr(1)[12;24H[K[23;1H[1m[7mtest107.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd p
[?25l[11;1H[1m[7m[No Name] [+] [m[23;1H[7mtest107.in[m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"
[?25l[27m[23m[m[H[2J[1;1H50
51
52
53
54
55
56
57
58
59
[7m[No Name] [+] [m[12;1H:let s3=GetScreenStr(1)
::wincmd p
:call add(r, [line("w0"), s3])
:
:bwipeout!
:$put=r
:call garbagecollect(1)
:"
:/^start:/,$wq! test.out
ENDTEST
[1m[7mtest107.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd p
[?25l[11;1H[1m[7m[No Name] [+] [m[23;1H[7mtest107.in[m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hexe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"
[?25l[27m[23m[m[H[2J[1;1H59
60
61
62
63
64
65
66
67
68
[7m[No Name] [+] [m[12;1H:let s3=GetScreenStr(1)
::wincmd p
:call add(r, [line("w0"), s3])
:
:bwipeout!
:$put=r
:call garbagecollect(1)
:"
:/^start:/,$wq! test.out
ENDTEST
[1m[7mtest107.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hlet s3=GetScreenStr(1)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h:wincmd p
[?25l[11;1H[1m[7m[No Name] [+] [m[23;1H[7mtest107.in[m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, [line("w0"), s3])
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipeout!
[?25l[1;1H:[1;2H[K[2;1H: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])
:[6;2H[K[7;1H: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])
:[11;2H[K[12;2Hexe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"
:let s3=GetScreenStr(1)
::wincmd p[14;11H[K[15;2Hcall add(r, [line("w0"), s3])[16;2H[K[17;2Hbwipeout!
:$put=r[18;8H[K[19;2Hcall garbagecollect(1)
:"[20;3H[K[21;1H:/^start:/,$wq! test.out
ENDTEST[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put=r
[?25l3 more lines[1;23r[1;1H[4M[1;24r[20;1Hstart:
[1, '1 ']
[50, '50 ']
[59, '59 '][24;1H[K[24;1H3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test108.in" 88 lines, 1329 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for backtrace debug commands. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 83 lines, 1251 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Hup
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
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang mess C
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1Hup
b
echo "fil is not frame or finish, it is file"
fil[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1Hup
b
echo "fil is not frame or finish, it is file"
fil[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1Hup
b
echo "fil is not frame or finish, it is file"
fil[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;5H[K[14;1Hecho "\n- final result 19:"
cont[15;6H[K[16;1H:0debuggreedy
:redir END[17;11H[K[18;2H$put =out
:w! test.out
:qa![20;5H[K[21;1HENDTEST[22;1H[K[23;1H[7mtest108.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hdebuggreedy
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredir => out
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[?25l[1m[37m[41mError detected while processing function Foo[2]..Bar[2]..Bazz:[m
[33mline 3:[m
[1m[37m[41mE121: Undefined variable: var3[m
[1m[37m[41mE15: Invalid expression: var3[m
>[?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
[?25l[1m[37m[41mError detected while processing function Foo[2]..Bar:[m
[33mline 3:[m
[1m[37m[41mE121: Undefined variable: var2[m
[1m[37m[41mE15: Invalid expression: var2[m
>[?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
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h0debuggreedy
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1Hfram
echo "\n- final result 19:"
cont
:0debuggreedy
:redir END
:$put =out
:w! test.out
:qa!
ENDTEST
[7mtest108.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hredir END
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =out
[?25l83 more lines[1;1H->1 function Foo[2]
0 Bar[2;8H[K[3;1Hline 3: End of function[3;24H[K[4;1Hframe is zero[4;14H[K[5;1H 1 function Foo[2][5;20H[K[6;1H->0 Bar[6;8H[K[7;1Hline 3: End of function[7;24H[K[8;1H[K[9;1H- final result 19:[9;19H[K[10;1H19[10;3H[K[11;1H[K[12;11H[1m[7m[+][11;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 84 lines, 1390 characters written[12;1H[1m[7mtest.out] [11;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_autocmd_option.in" 77 lines, 2954 characters[1;1HTest for option autocommand
STARTTEST
:so small.vim
:if !has("eval") || !has("autocmd") || !exists("+autochdir") | e! test.ok | w! tt[6;1Hest.out | qa! | endif
:fu! AutoCommand(match)
:[7Clet c=g:testcase
:[7Clet item=remove(g:options, 0)
:[7Clet c.=printf("Expected: Name: <%s>, Oldval: <%s>, NewVal: <%s>, Scope: [11;1H<%s>\n", item[0], item[1], item[2], item[3])
:[7Clet c.=printf("Autocmd Option: <%s>,", a:match)
:[7Clet c.=printf(" OldVal: <%s>,", v:option_old)
:[7Clet c.=printf(" NewVal: <%s>,", v:option_new)
:[7Clet c.=printf(" Scope: <%s>\n", v:option_type)
:[7Ccall 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']][1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for option autocommand[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 72 lines, 2896 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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, secoo[4;1Hnd 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[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has("eval") || !has("autocmd") || !exists("+autochdir") | e! test.ok | w!
[23;80Ht[24;1Hest.out | qa! | endif
[?25l[1;1H[L[1;1H:let g:testcase="13: Setting option backspace through setbufvar()\n"[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hfu! AutoCommand(match)
[?25l
: [?12l[?25h:[34m^I[mlet 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
[23;80Hp[24;1He: <%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
[1;1H[10L[?25l[1;1H: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, secoo[4;1Hnd 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)[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hau OptionSet * :call AutoCommand(expand("<amatch>"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="1: Setting number option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['number', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nu
[?25l[1;1H[33m 56 [m:let g:testcase="13: Setting option backspace through setbufvar()\n"
[33m 57 [m:let g:options=[['backup', '', '1', 'local']]
[33m 58 [m: "try twice, first time, shouldn't trigger because option name is invall[4;1Hid, second time, it should trigger
[33m 59 [m:call setbufvar(1, '&l:bk', 1)
[33m 60 [m: "should trigger, use correct option name
[33m 61 [m:call setbufvar(1, '&backup', 1)
[33m 62 [m:let g:testcase="14: Setting number option using setwinvar\n"
[33m 63 [m:let g:options=[['number', 0, 1, 'local']]
[33m 64 [m:call setwinvar(0, '&number', 1)
[33m 65 [m:" Write register now, because next test shouldn't output anything.
[33m 66 [m:$put r
[33m 67 [m:let @r=''
[33m 68 [m:let g:testcase="\n15: Setting key option, shouldn't trigger\n"
[33m 69 [m:let g:options=[['key', 'invalid', 'invalid1', 'invalid']]
[33m 70 [m:setlocal key=blah
[33m 71 [m:setlocal key=
[33m 72 [m:$put =g:testcase
[33m 73 [m:$put r
[33m 74 [m:/^dummy text/,$w! test.out
[33m 75 [m:qa!
[33m 76 [mENDTEST
[33m 77 [mdummy text[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="2: Setting local number option\n"
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['number', 1, 0, 'local']]
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal nonu
[?25l[1;1H:let g:testcase="13: Setting option backspace through setbufvar()\n"[1;69H[K[2;1H:let g:options=[['backup', '', '1', 'local']][2;46H[K[3;1H: "try twice, first time, shouldn't trigger because option name is invalid, secoo[4;1Hnd time, it should trigger[4;28H[K[5;1H:call setbufvar(1, '&l:bk', 1)[5;31H[K[6;1H: "should trigger, use correct option name[6;43H[K[7;1H:call setbufvar(1, '&backup', 1)[7;33H[K[8;1H:let g:testcase="14: Setting number option using setwinvar\n"[8;62H[K[9;1H:let g:options=[['number', 0, 1, 'local']][9;43H[K[10;1H:call setwinvar(0, '&number', 1)[10;33H[K[11;1H:" Write register now, because next test shouldn't output anything.[11;68H[K[12;1H:$put r[12;8H[K[13;1H:let @r=''[13;11H[K[14;1H:let g:testcase="\n15: Setting key option, shouldn't trigger\n"[14;64H[K[15;1H:let g:options=[['key', 'invalid', 'invalid1', 'invalid']][15;59H[K[16;1H:setlocal key=blah[16;19H[K[17;1H:setlocal key=[17;15H[K[18;1H:$put =g:testcase[18;18H[K[19;1H:$put r[19;8H[K[20;1H:/^dummy text/,$w! test.out[20;28H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1Hdummy text[23;11H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="3: Setting global number option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['number', 1, 0, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal nonu
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="4: Setting local autoindent option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoindent', 0, 1, 'local']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal ai
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="5: Setting global autoindent option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoindent', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal ai
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="6: Setting global autoindent option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoindent', 1, 0, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ai!
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h Should not print anything, use :noa
[?25l[1m[37m[41mE492: Not an editor command: Should not print anything, use :noa[23;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnoa :set nonu
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="7: Setting several global list and number option\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['list', 0, 1, 'global'], ['number', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset list nu
[?25l[1;1H[33m 56 [m:let g:testcase="13: Setting option backspace through setbufvar()\n"[1m[34m$[m
[33m 57 [m:let g:options=[['backup', '', '1', 'local']][1m[34m$[m
[33m 58 [m: "try twice, first time, shouldn't trigger because option name is invall[4;1Hid, second time, it should trigger[1m[34m$[m
[33m 59 [m:call setbufvar(1, '&l:bk', 1)[1m[34m$[m
[33m 60 [m: "should trigger, use correct option name[1m[34m$[m
[33m 61 [m:call setbufvar(1, '&backup', 1)[1m[34m$[m
[33m 62 [m:let g:testcase="14: Setting number option using setwinvar\n"[1m[34m$[m
[33m 63 [m:let g:options=[['number', 0, 1, 'local']][1m[34m$[m
[33m 64 [m:call setwinvar(0, '&number', 1)[1m[34m$[m
[33m 65 [m:" Write register now, because next test shouldn't output anything.[1m[34m$[m
[33m 66 [m:$put r[1m[34m$[m
[33m 67 [m:let @r=''[1m[34m$[m
[33m 68 [m:let g:testcase="\n15: Setting key option, shouldn't trigger\n"[1m[34m$[m
[33m 69 [m:let g:options=[['key', 'invalid', 'invalid1', 'invalid']][1m[34m$[m
[33m 70 [m:setlocal key=blah[1m[34m$[m
[33m 71 [m:setlocal key=[1m[34m$[m
[33m 72 [m:$put =g:testcase[1m[34m$[m
[33m 73 [m:$put r[1m[34m$[m
[33m 74 [m:/^dummy text/,$w! test.out[1m[34m$[m
[33m 75 [m:qa![1m[34m$[m
[33m 76 [mENDTEST[1m[34m$[m
[33m 77 [mdummy text[1m[34m$[23;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnoa set nolist nonu
[?25l[1;1H:let g:testcase="13: Setting option backspace through setbufvar()\n"[1;69H[K[2;1H:let g:options=[['backup', '', '1', 'local']][2;46H[K[3;1H: "try twice, first time, shouldn't trigger because option name is invalid, secoo[4;1Hnd time, it should trigger[4;28H[K[5;1H:call setbufvar(1, '&l:bk', 1)[5;31H[K[6;1H: "should trigger, use correct option name[6;43H[K[7;1H:call setbufvar(1, '&backup', 1)[7;33H[K[8;1H:let g:testcase="14: Setting number option using setwinvar\n"[8;62H[K[9;1H:let g:options=[['number', 0, 1, 'local']][9;43H[K[10;1H:call setwinvar(0, '&number', 1)[10;33H[K[11;1H:" Write register now, because next test shouldn't output anything.[11;68H[K[12;1H:$put r[12;8H[K[13;1H:let @r=''[13;11H[K[14;1H:let g:testcase="\n15: Setting key option, shouldn't trigger\n"[14;64H[K[15;1H:let g:options=[['key', 'invalid', 'invalid1', 'invalid']][15;59H[K[16;1H:setlocal key=blah[16;19H[K[17;1H:setlocal key=[17;15H[K[18;1H:$put =g:testcase[18;18H[K[19;1H:$put r[19;8H[K[20;1H:/^dummy text/,$w! test.out[20;28H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1Hdummy text[23;11H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="8: Setting global acd\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autochdir', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal acd
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="9: Setting global autoread\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoread', 0, 1, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="10: Setting local autoread\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoread', 0, 1, 'local']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal ar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="11: Setting global autoread\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['autoread', 1, 0, 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetglobal invar
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="12: Setting option backspace through :let\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['backspace', '', 'eol,indent,start', 'global']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet &bs="eol,indent,start"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="13: Setting option backspace through setbufvar()\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['backup', '', '1', 'local']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h "try twice, first time, shouldn't trigger because option name is invalid, sec
[23;80Ho[24;1Hnd time, it should trigger
[?25l[1;1H[L[1;1H:let g:testcase="13: Setting option backspace through setbufvar()\n"[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcall setbufvar(1, '&l:bk', 1)
[?25l[1m[37m[41mE355: Unknown option: l:bk[m[24;27H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h "should trigger, use correct option name
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall setbufvar(1, '&backup', 1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="14: Setting number option using setwinvar\n"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['number', 0, 1, 'local']]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall setwinvar(0, '&number', 1)
[?25l[1;1H[33m 56 [m:let g:testcase="13: Setting option backspace through setbufvar()\n"
[33m 57 [m:let g:options=[['backup', '', '1', 'local']]
[33m 58 [m: "try twice, first time, shouldn't trigger because option name is invall[4;1Hid, second time, it should trigger
[33m 59 [m:call setbufvar(1, '&l:bk', 1)
[33m 60 [m: "should trigger, use correct option name
[33m 61 [m:call setbufvar(1, '&backup', 1)
[33m 62 [m:let g:testcase="14: Setting number option using setwinvar\n"
[33m 63 [m:let g:options=[['number', 0, 1, 'local']]
[33m 64 [m:call setwinvar(0, '&number', 1)
[33m 65 [m:" Write register now, because next test shouldn't output anything.
[33m 66 [m:$put r
[33m 67 [m:let @r=''
[33m 68 [m:let g:testcase="\n15: Setting key option, shouldn't trigger\n"
[33m 69 [m:let g:options=[['key', 'invalid', 'invalid1', 'invalid']]
[33m 70 [m:setlocal key=blah
[33m 71 [m:setlocal key=
[33m 72 [m:$put =g:testcase
[33m 73 [m:$put r
[33m 74 [m:/^dummy text/,$w! test.out
[33m 75 [m:qa!
[33m 76 [mENDTEST
[33m 77 [mdummy text[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Write register now, because next test shouldn't output anything.
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put r
[?25l60 more lines[1;5H[33m117[m[1CAutocmd Option: <autoread>, OldVal: <0>, NewVal: <1>, Scope: <global>[2;5H[33m118[m[2;9H[K[3;5H[33m119[m[1C10: Setting local autoread[3;35H[K[4;1H[33m 120 [mExpected: Name: <autoread>, Oldval: <0>, NewVal: <1>, Scope: <local>[5;5H[33m121[m[1CAutocmd Option: <autoread>, OldVal: <1>, NewVal: <1>, Scope: <local>[6;5H[33m122[m[6;9H[K[7;5H[33m123[m[1C11: Setting global autoread[7;36H[K[8;5H[33m124[m[1CExpected: Name: <autoread>, Oldval: <1>, NewVal: <0>, Scope: <global>[9;5H[33m125[m[1CAutocmd Option: <autoread>, OldVal: <1>, NewVal: <0>, Scope: <global>[10;5H[33m126[m[10;9H[K[11;5H[33m127[m[1C12: Setting option backspace through :let[11;50H[K[12;5H[33m128[m[1CExpected: Name: <backspace>, Oldval: <>, NewVal: <eol,indent,start>, Scoo[13;1Hpe: <global>[13;14H[K[14;5H[33m129[m[1CAutocmd Option: <backspace>, OldVal: <>, NewVal: <eol,indent,start>, Scoo[15;1Hpe: <global>[15;14H[K[16;5H[33m13[m[16;9H[K[17;5H[33m13[m[2C13: Setting option backspace through setbufvar()[18;5H[33m13[m[2CExpected: Name: <backup>, Oldval: <>, NewVal: <1>, Scope: <local>[19;5H[33m13[m[2CAutocmd Option: <backup>, OldVal: <0>, NewVal: <1>, Scope: <local>[20;5H[33m13[m[20;9H[K[21;5H[33m13[m[2C14: Setting number option using setwinvar[22;5H[33m13[m[3Cxpected: Name: <number>, Oldval: <0>, NewVal: <1>, Scope: <local>[23;5H[33m13[m[2CAutocmd Option: <number>, OldVal: <0>, NewVal: <1>, Scope: <local>[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet @r=''
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:testcase="\n15: Setting key option, shouldn't trigger\n"
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:options=[['key', 'invalid', 'invalid1', 'invalid']]
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal key=blah
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsetlocal key=
[?25l[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:testcase
[?25l[1;23r[1;1H[2M[1;24r[22;1H[33m 138
139 [m15: Setting key option, shouldn't trigger[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25h$put r
[?25l[1;23r[23;1H
[1;24r[23;1H[33m 140 [m[24;1H[K[23;9H[?12l[?25h[?25l
:[?12l[?25h/^dummy text/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 64 lines, 2700 characters written[23;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_autoformat_join.in" 23 lines, 524 characters[1;1HTests 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
ENDTEST[16;17HO 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:[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for setting the '[,'] marks when joining lines.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 9 lines, 265 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^\t\t/
[?25l[16;17H[?12l[?25h[16;8H[?25l[36Cattamen consulite per voster honur.
Tua pulchra facies me fay planszer milies[17;42H[K[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet a=string(getpos("'[")).'/'.string(getpos("']"))
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^This line/;'}-join
[?25l[19;23r[19;1H[2M[1;24r[19;1HThis line. Should be joined with the next line and with this line
[1m[34m~ [23;1H~ [m[24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet b=string(getpos("'[")).'/'.string(getpos("']"))
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='First test: Start/End '.string(a)
[?25l[22;1HFirst test: Start/End '[0, 16, 1, 0]/[0, 17, 1, 0]'[22;52H[K[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='Second test: Start/End '.string(b)
[?25l[23;1HSecond test: Start/End '[0, 19, 11, 0]/[0, 19, 67, 0]'[23;55H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^\t\t/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_changelist.in" 22 lines, 288 characters[1;1HTest 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[34m^[[m
:catch
: normal ggVGcfail[34m^[[m
:finally
: %w! test.out
:endtry
:qa!
ENDTEST
1
2
[1m[34m~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest changelist position after splitting window[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 14 lines, 163 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h
[21;1H[?25l11[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ul=100
[?25l[21;2H[?12l[?25h
[?25l22[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ul=100
[?25l[22;2H[?12l[?25h[1;1H
[?25l[24;1H[K[24;1H:[?12l[?25hvsplit
[?25l[1;41H[7m|[m
window [7m|[m
Set 'undolevels' to make changelist for [7m|[m
sourced file[28C[7m|[m
[27C[7m|[m
STARTTEST [24C[7m|[m
:so small.vim [25C[7m|[m
Gkylp:set ul=100[24C[7m|[m
Gylp:set ul=100[25C[7m|[m
gg [36C[7m|[m
:vsplit [28C[7m|[m
:try [18C[7m|[m
: normal g;[28C[7m|[m[14;16Hpass[21C[7m|[m
:catch [32C[7m|[m
: normal ggVGcfail[34m^[[m[19C[7m|[m
:finally[32C[7m|[m
: %w! test.out[25C[7m|[m
:endtry[33C[7m|[m
:qa![36C[7m|[m
ENDTEST[33C[7m|[m
[38C[7m|[m
[1m[7mtest_changelist.in [+] [m[1;42HTest changelist position after splittin[2;42Hg window[2;50H[K[3;42HSet 'undolevels' to make changelist for[4;43Hsourced file[6;42HSTARTTEST[7;42H:so small.vim[8;42HGkylp:set ul=100[9;42HGylp:set ul=100[10;42Hgg[11;42H:vsplit[12;42H:try[13;42H: normal g;[14;42H: normal ggVGcpass[34m^[[m[15;42H:catch[16;42H: normal ggVGcfail[34m^[[m[17;42H:finally[18;42H: %w! test.out[19;42H:endtry[20;42H:qa![21;42HENDTEST[23;42H[7mtest_changelist.in [+] [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25htry
[?25l
: [?12l[?25h: normal g;
[?25l: [?12l[?25h: normal ggVGcpass
[?25l21 fewer lines[24;15H[K[24;1H
:
: [?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
[1;1H[10L[?25l[1;1Hpass[36C[7m|[2;41H|[3;41H|[4;41H|[5;41H|[6;41H|[7;41H|[8;41H|[9;41H|[10;41H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~ [m[23;20H[1m[7m [m[1;42Hpass[2;42H[1m[34m~ [3;42H~ [4;42H~ [5;42H~ [6;42H~ [7;42H~ [8;42H~ [9;42H~ [10;42H~ [11;42H~ [12;42H~ [13;42H~ [14;42H~ [15;42H~ [16;42H~ [17;42H~ [18;42H~ [19;42H~ [20;42H~ [21;42H~ [22;42H~ [m[23;61H[7m [m[24;1H[K[1;4H[?12l[?25h[?25l[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_close_count.in" 153 lines, 2665 characters[1;1HTests 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![1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for :[count]close! and :[count]hide vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 41 lines, 749 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tests = []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(5)
[?25l
: [?12l[?25h:new
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [m[4;1H[1m[7m[No Name] [m[6;1H[1m[34m~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[7mtest_close_count.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h4wincmd w
[?25l[4;1H[7m[No Name][m[1m[7m [m[7m [m[16;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hclose!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[7m[No Name] [m[7;1H[1m[34m~ [8;1H~ [m[9;1H[7m[No Name] [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [m[14;1H[7m[No Name] [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[1m[7m[No Name] [m[20;1H:b1
ENDTEST
[7mtest_close_count.in [15;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[19;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7m[No Name] [m[18;1H:only!
:b1
ENDTEST
STARTTEST
[1m[7mtest_close_count.in [21;1H[?12l[?25h[?25l
[m:[?12l[?25hlet buffers = []
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7m[No Name] [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [16;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[8;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h2close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[12;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[1m[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [m[18;1H[7m[No Name] [m[20;1H[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h2wincmd w
[?25l[6;1H[7m[No Name][m[1m[7m [m[7m [m[12;1H[1m[7m[No Name] [7;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h-1close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[8;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h2wincmd w
[?25l[16;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [9;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h+1close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [m[11;1H[7m[No Name] [m[13;1H[1m[34m~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [12;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [New File][23;1H[1m[7mtest.out] [12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(0, map(copy(tests), 'join(v:val, " ")'))
[?25l[12;22r[12;1H[6L[1;24r[12;1H6 5 4 2 1
5 4 2 1
5 4 2
5 2
7 5 2
7 5[23;10H[1m[7m[+][m[24;1H[K[18;1H[?12l[?25h[?25l[24;1H:[?12l[?25hw
[?25l"test.out" [New File] 7 lines, 39 characters written[23;10H[1m[7m [18;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25honly!
[?25l[1;1H6 5 4 2 1
5 4 2 1[2;8H[K[3;1H5 4 2[3;6H[K[4;1H5 2[4;4H[K[5;1H7 5 2[5;6H[K[6;1H7 5[6;4H[K[7;1H[K[11;1H[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [23;1H~ [7;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hb1
[?25l"test_close_count.in" 153 lines, 2665 characters[1;1H: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[8;3H[K[9;1H:only![9;7H[K[10;1H:b1[10;4H[K[11;1HENDTEST[11;8H[K[12;1H[K[13;1HSTARTTEST[13;10H[K[14;1H:let tests = [][14;16H[K[15;1H:for i in range(5)[15;19H[K[16;1H:new[16;5H[K[17;1H:endfor[17;8H[K[18;1H:let buffers = [][18;18H[K[19;1H:windo call add(buffers, bufnr('%'))[19;37H[K[20;1H:call add(tests, buffers)[20;26H[K[21;1H:4wincmd w[21;11H[K[22;1H:.hide[22;7H[K[23;1H:let buffers = [][23;18H[K[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H44 lines, 815 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[34m^[[m
: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('%'))[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tests = []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(5)
[?25l
: [?12l[?25h:new
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [m[4;1H[1m[7m[No Name] [m[6;1H[1m[34m~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[7mtest_close_count.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[4;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h4wincmd w
[?25l[16;1H[1m[7m[No Name] [m[23;1H[7mtest_close_count.in[m[1m[7m [m[7m [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[7m[No Name] [m[7;1H[1m[34m~ [8;1H~ [m[9;1H[7m[No Name] [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [m[14;1H[7m[No Name] [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[1m[7m[No Name] [m[20;1H:b1
ENDTEST
[7mtest_close_count.in [15;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[19;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7m[No Name] [m[18;1H:only!
:b1
ENDTEST
STARTTEST
[1m[7mtest_close_count.in [21;1H[?12l[?25h[?25l
[m:[?12l[?25hlet buffers = []
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7m[No Name] [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [16;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[8;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h2hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[12;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[1m[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [m[18;1H[7m[No Name] [m[20;1H[1m[34m~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h3wincmd w
[?25l[6;1H[7m[No Name][m[1m[7m [m[7m [m[18;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h-hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[1m[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [9;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[16;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h2wincmd w
[?25l[16;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [9;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h+hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [m[11;1H[7m[No Name] [m[13;1H[1m[34m~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [12;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[12;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H7 lines, 39 characters[12;1H6 5 4 2 1
5 4 2 1[13;8H[K[14;1H5 4 2[14;6H[K[15;1H5 2[15;4H[K[16;1H7 5 2[16;6H[K[17;1H7 5[17;4H[K[18;1H[K[23;1H[1m[7mtest.out] [12;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l[19;1H13 12 11 10 9 1[19;16H[K[20;1H13 12 11 9 1[20;13H[K[21;1H12 11 9 1[21;10H[K[22;1H12 11 9[22;8H[K[23;10H[1m[7m[+][12;1H[?12l[?25h[?25l[12;22r[m[12;1H[3M[1;24r[20;1H12 9
15 12 9
15 12[24;1H[K[22;1H[?12l[?25h[?25l[12;22r[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25hw
[?25l"test.out" 15 lines, 106 characters written[23;10H[1m[7m [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25honly!
[?25l[1;1H6 5 4 2 1
5 4 2 1[2;8H[K[3;1H5 4 2[3;6H[K[4;1H5 2[4;4H[K[5;1H7 5 2[5;6H[K[6;1H7 5[6;4H[K[7;1H[K[8;1H13 12 11 10 9 1[8;16H[K[9;1H13 12 11 9 1[9;13H[K[10;1H12 11 9 1[10;10H[K[11;1H12 11 9[11;8H[K[12;1H12 9[12;5H[K[13;1H15 12 9
15 12[15;1H[K[16;1H[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [15;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hb1
[?25l[1;1H:+hide[1;7H[K[2;1H:let buffers = []
:windo call add(buffers, bufnr('%'))
:call add(tests, buffers)
:e! test.out
:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))
Go[34m^[[m
:w[8;4H[K[9;1H:only![9;7H[K[10;1H:b1[10;4H[K[11;1HENDTEST[12;1H[K[13;1HSTARTTEST
:let tests = []
:set hidden
:for i in range(5)[16;19H[K[17;1H:new[17;5H[K[18;1H:endfor[18;8H[K[19;1H:1wincmd w[19;11H[K[20;1H:$ hide[20;8H[K[21;1H:let buffers = [][21;18H[K[22;1H:windo call add(buffers, bufnr('%'))[22;37H[K[23;1H:call add(tests, buffers)[23;26H[K[24;1H"test_close_count.in" line 93 of 153 --60%-- col 1[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H25 lines, 448 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[34m^[[m
:w
:only!
:b1
ENDTEST
STARTTEST
:let tests = []
:set hidden
:for i in range(5)
:new
:endfor
:4wincmd w
[34m^W[mc
:let buffers = []
:windo call add(buffers, bufnr('%'))[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tests = []
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(5)
[?25l
: [?12l[?25h:new
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [m[4;1H[1m[7m[No Name] [m[6;1H[1m[34m~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[7mtest_close_count.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h1wincmd w
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$ hide
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[1m[7m[No Name] [m[7;1H[1m[34m~ [8;1H~ [9;1H~ [m[10;1H[7m[No Name] [m[12;1H[1m[34m~ [13;1H~ [m[14;1H[7m[No Name] [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[7m[No Name] [m[21;1H[1m[34m~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[5;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [20;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$-1 close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7m[No Name] [m[19;1H[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [18;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[6;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h.+close!
[?25l[27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[8;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [24;12H[K[24;12H15 lines, 106 characters[17;1H6 5 4 2 1
5 4 2 1[18;8H[K[19;1H5 4 2[19;6H[K[20;1H5 2[20;4H[K[21;1H7 5 2[21;6H[K[22;1H7 5[22;4H[K[23;1H[1m[7mtest.out] [17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l[23;10H[1m[7m[+][17;1H[?12l[?25h[?25l[m15 12 9[17;9H[K[18;1H15 1[18;7H[K[19;1H[K[20;1H20 19 18 17 16
20 19 18 16
20 18 16
[?12l[?25h[?25l[17;22r[22;1H
[1;24r[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25hw
[?25l"test.out" 19 lines, 143 characters written[23;10H[1m[7m [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25honly!
[?25l[27m[23m[m[H[2J[1;1H6 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
[1m[34m~ [21;1H~ [22;1H~ [23;1H~ [19;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hb1
[?25l[1;1H:.+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[34m^[[m
:w[8;4H[K[9;1H:only![9;7H[K[10;1H:b1[10;4H[K[11;1HENDTEST[12;1H[K[13;1HSTARTTEST
:let tests = []
:set hidden
:for i in range(5)
:new[17;5H[K[18;1H:endfor[18;8H[K[19;1H:4wincmd w
[34m^W[mc[20;4H[K[21;1H:let buffers = [][21;18H[K[22;1H:windo call add(buffers, bufnr('%'))[22;37H[K[23;1H:call add(tests, buffers)[23;26H[K[24;1H"test_close_count.in" line 121 of 153 --79%-- col 1[12;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[13;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H28 lines, 511 characters written[14;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[14;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[19M[1;24r[5;1H1[34m^W[mc
:let buffers = []
:windo call add(buffers, bufnr('%'))
:call add(tests, buffers)
9[34m^W[mc
:let buffers = []
:windo call add(buffers, bufnr('%'))
:call add(tests, buffers)
:1wincmd w
2[34m^W[mc
: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[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tests = []
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset hidden
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor i in range(5)
[?25l
: [?12l[?25h:new
[?25l: [?12l[?25h:endfor
[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [m[4;1H[1m[7m[No Name] [m[6;1H[1m[34m~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [m[16;1H[7m[No Name] [m[18;1H[1m[34m~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[7mtest_close_count.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h4wincmd w
[?25l[4;1H[7m[No Name][m[1m[7m [m[7m [m[16;1H[1m[7m[No Name] [13;1H[?12l[?25h[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[7m[No Name] [m[7;1H[1m[34m~ [8;1H~ [m[9;1H[7m[No Name] [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [m[14;1H[7m[No Name] [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[1m[7m[No Name] [m[20;1H:qa!
ENDTEST
[7mtest_close_count.in [15;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[19;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[7m[No Name] [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7m[No Name] [m[18;1H:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))
:w
:qa!
ENDTEST
[1m[7mtest_close_count.in [22;1H[?12l[?25h[?25l[18;22r[m[22;1H
[1;24r[22;1H[?12l[?25h[?25l
:[?12l[?25hlet buffers = []
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[22;1H[?12l[?25h[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[7m[No Name] [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [m[15;1H[7m[No Name] [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [16;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1wincmd w
[?25l[8;1H[1m[7m[No Name] [m[23;1H[7m[No Name][m[1m[7m [m[7m [1;1H[?12l[?25h[27m[23m[m[H[2J[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7m[No Name] [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet buffers = []
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwindo call add(buffers, bufnr('%'))
[?25l[12;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7m[No Name] [13;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(tests, buffers)
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25honly!
[?25l[12;1H[1m[34m~ [13;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" line 19 of 19 --100%-- col 1[1;1H6 5 4 2 1
5 4 2 1[2;8H[K[3;1H5 4 2[3;6H[K[4;1H5 2[4;4H[K[5;1H7 5 2[5;6H[K[6;1H7 5[6;4H[K[7;1H[K[8;1H13 12 11 10 9 1[8;16H[K[9;1H13 12 11 9 1[9;13H[K[10;1H12 11 9 1[10;10H[K[11;1H12 11 9[11;8H[K[12;1H12 9[12;5H[K[13;1H15 12 9[13;8H[K[14;1H15 12[14;6H[K[15;1H[K[16;1H20 19 18 17 16[16;15H[K[17;1H20 19 18 16[17;12H[K[18;1H20 18 16[18;9H[K[19;1H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall append(line('$'), map(copy(tests), 'join(v:val, " ")'))
[?25l[20;1H25 24 23 21 1[20;14H[K[21;1H24 23 21 1[21;11H[K[22;1H24 23 21[22;9H[K[23;1H24 21[23;6H[K[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" 23 lines, 183 characters written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_comparators.in" 21 lines, 283 characters[1;1H" 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
[1m[34m~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1H" Test for expression comparators. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 14 lines, 200 characters written[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[5;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[19;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[10L[?25l[1;1H" Test for expression comparators. vim: set ft=vim :
STARTTEST
:so small.vim
:try
: let oldisident=&isident
: set isident+=#
: if 1 is#1
: $put ='ok'[22;1Hok[22;3H[K[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^marker/+1,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_erasebackword.in" 19 lines, 427 characters[1;1HTest for erasing backword
STARTTEST
:so small.vim
:so mbyte.vim
:set encoding=utf-8
G
:/^test/,$w! test.out
:qa!
ENDTEST
test starts here:
[1m[34m~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for erasing backword[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 12 lines, 362 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1HTest for erasing backword
STARTTEST
:so small.vim
:so mbyte.vim
:set encoding=utf-8
G
o wwwこんにちわ世界ワールドvim [34m^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^W^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^W^W^W^[[m
o wwwこんにちわ世界ワールドvim [34m^W^W^W^W^W^W^[[m
:/^test/,$w! test.out
:qa!
ENDTEST
test starts here:
[1m[34m~ [21;1H~ [22;1H~ [23;1H~ [17;1H[?12l[?25h
[?25l[m
www[20;5H[K[20;5H[?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[21;5H[K[21;5H[?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[21;19H[K[21;17H[?12l[?25h[?25l
www[22;5H[K[22;5H[?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[22;15H[K[22;13H[?12l[?25h[?25l
www[23;5H[K[23;5H[?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[23;5H[K[23;4H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Hwww[?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[23;2H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;2Hwww[?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[23;2H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h/^test/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 8 lines, 111 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_eval.in" 247 lines, 6201 characters[1;1HTest 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:rr[15;1Heg, 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[19;1H:type, a:cont, a:strcont, a:cont1, a:strcont1))
endfun
:command -nargs=? AR :call AppendRegContents(<q-args>)
:fun SetReg(...)
call call('setreg', a:000)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for various eval features. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 233 lines, 6010 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[9;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:$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:[18;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=latin1
[?25l[27m[23m[m[H[2J[1;1H:$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:[19;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset noswapfile
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang C
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfun AppendRegContents(reg)
[?25l
: [?12l[?25h call AppendRegParts(a:reg, getregtype(a:reg), getreg(a:reg), string(getreg
[23;80H([24;1Ha:reg, 0, 1)), getreg(a:reg, 1), string(getreg(a:reg, 1, 1)))
[?25l: [?12l[?25h:endfun
[1;1H[3L[?25l[1;1H:$put =str[:n]
:$put =str[n:n]
:unlet n[24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?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
[23;80Hg[24;1H, a:type, a:cont, a:strcont, a:cont1, a:strcont1))
[?25l: [?12l[?25hendfun
[1;1H[3L[?25l[1;1H:$put =str[:n]
:$put =str[n:n]
:unlet n[24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?12l[?25hcommand -nargs=? AR :call AppendRegContents(<q-args>)
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[7L[?25l[1;1H:$put =str[:n]
:$put =str[n:n]
:unlet n
:let nn = 3
:$put =str[nn:]
:$put =str[:nn]
:$put =str[nn:nn][24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[7L[?25l[1;1H:$put =str[:n]
:$put =str[n:n]
:unlet n
:let nn = 3
:$put =str[nn:]
:$put =str[:nn]
:$put =str[nn:nn][24;1H[K[19;1H[?12l[?25h[?25l[24;1H:[?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
[23;80H-[24;1H4-2"])
[?25l: [?12l[?25hcall SetReg('b', ['abcB4c-0', "\n", "abcB4c-2\n", "\nabcB4c-3", "abcB4c-4\na
[23;80Hb[24;1HcB4c-4-2"], 'c')
[?25l: [?12l[?25hcall SetReg('c', ['abcC4l-0', "\n", "abcC4l-2\n", "\nabcC4l-3", "abcC4l-4\na
[23;80Hb[24;1HcC4l-4-2"], 'l')
[?25l: [?12l[?25hcall SetReg('d', ['abcD4b-0', "\n", "abcD4b-2\n", "\nabcD4b-3", "abcD4b-4\na
[23;80Hb[24;1HcD4b-4-2"], 'b')
[?25l: [?12l[?25hcall SetReg('e', ['abcE4b10-0', "\n", "abcE4b10-2\n", "\nabcE4b10-3", "abcE4
[23;80Hb[24;1H10-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
[23;80Hn[24;1Hts']", "clipboard contents\n", "['clipboard contents']")
[?25l: [?12l[?25h call AppendRegParts('*', 'V', "something else\n", "['something else']",
[23;80H"[24;1Hsomething 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
[27m[23m[m[H[2J[?25l[1;1H:$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:[19;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Test()
[?25l[1;1H*: type V; value: something else[34m^@[m (['something else']), expr: something else[34m^@[m [2;1H(['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 moo[18;1Hre lines
Executing call setreg("=", ["1", "2"])
Vim(call):E883: search pattern and expression register may not contain two or moo[21;1Hre lines[21;9H[K[22;1HExecuting call setreg(1, ["", "", [], ""])
Vim(call):E730: using List as a String
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction SetReg
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction AppendRegContents
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction ErrExe
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelfunction Test
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hdelcommand AR
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" function name not starting with capital
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1H{{{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)[7;14H8: Too many arguments for function: setreg[7;56H[K[8;23H[], 2)[8;29H[K[9;12H730: using List as a String[9;40H[K[10;23H1, {}[11;14H1[8CDictionary as a String[12;26H2, [])[13;14H0[8CList as a String[13;39H[K[14;23H"/", ["1", "2"])[15;12H883: search pattern and expression register may not contain two or moo[16;1Hre lines[16;9H[K[17;1HExecuting call setreg("=", ["1", "2"])[17;39H[K[18;1HVim(call):E883: search pattern and expression register may not contain two or moo[19;1Hre lines[19;9H[K[20;1HExecuting call setreg(1, ["", "", [], ""])[20;43H[K[21;1HVim(call):E730: using List as a String
Vim(function):E128: Function name must start with a capital or "s:": g:test()
[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" function name includes a colon
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1H{{{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)[23;1HVim(function):E128: Function name must start with a capital or "s:": b:test()[23;78H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" function name folowed by #
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[6L[?25l[1;1HExecuting 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)[7;29H[K[8;1HVim(call):E730: using List as a String
Executing call setreg(1, {})[9;29H[K[10;1HVim(call):E731: using Dictionary as a String
Executing call setreg(1, 2, [])[11;32H[K[12;1HVim(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 moo[15;1Hre lines[15;9H[K[16;1HExecuting call setreg("=", ["1", "2"])
Vim(call):E883: search pattern and expression register may not contain two or moo[18;1Hre lines[18;9H[K[19;1HExecuting call setreg(1, ["", "", [], ""])
Vim(call):E730: using List as a String[20;39H[K[21;5Hfunction):E128: Function name must start with a capital or "s:": g:test()[22;70Hb[23;70Htest2() "#[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" function name starting with/without "g:", buffer-local funcref.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! g:Foo(n)
[?25l
: [?12l[?25h: $put ='called Foo(' . a:n . ')'
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1HExecuting call setreg()
Vim(call):E119: Not enough arguments for function: setreg[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet b:my_func = function('Foo')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall b:my_func(1)
[?25l[1;23r[23;1H
[1;24r[23;1Hcalled Foo(1)[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hecho g:Foo(2)
[?25l0[24;2H[K[1;23r[23;1H
[1;24r[23;1Hcalled Foo(2)[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hecho Foo(3)
[?25l0[24;2H[K[1;23r[23;1H
[1;24r[23;1Hcalled Foo(3)[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" script-local function used in Funcref must exist.
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso test_eval_func.vim
[?25l[1;23r[1;1H[4M[1;24r[20;1Hs:Testje exists: 0
func s:Testje exists: 1
Bar exists: 1
func Bar exists: 1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Using $ instead of '$' must give an error
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htry
[?25l
: [?12l[?25h: call append($, 'foobar')
[?25l: [?12l[?25h:catch
[?25l: [?12l[?25h:$put =v:exception
[?25l: [?12l[?25h:endtry
[1;1H[4L[?25l[1;1HExecuting 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 moo[7;1Hre lines[7;9H[K[8;1HExecuting call setreg("=", ["1", "2"])
Vim(call):E883: search pattern and expression register may not contain two or moo[10;1Hre lines[10;9H[K[11;1HExecuting call setreg(1, ["", "", [], ""])
Vim(call):E730: using List as a String[12;39H[K[13;5Hfunction):E128: Function name must start with a capital or "s:": g:test()[14;70Hb[15;70Htest2() "#
called Foo(1[16;14H[K[17;12H2[18;12H3
s:Testje exists: 0
func s:Testje exists: 1
Bar exists: 1[21;15H[K[22;1Hfunc Bar exists: 1
Vim(call):E116: Invalid arguments for function append[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put ='{{{1 getcurpos/setpos'
[?25l[1;23r[23;1H
[1;24r[23;1H{{{1 getcurpos/setpos[24;1H[K[23;1H[?12l[?25h[?25l
/[?12l[?25h^012345678
[?25l[31msearch hit BOTTOM, continuing at TOP[27m[23m[m[H[2J[1;1H: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[34m^@[m (['abc']), expr: abc[34m^@[m (['abc'])
": type V; value: abc[34m^M^@[m (['abc[34m^M[m']), expr: abc[34m^M^@[m (['abc[34m^M[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'])
[31msearch hit BOTTOM, continuing at TOP[12;1H[?12l[?25h[m012345[?25l[24;1H[K[24;1H:[?12l[?25hlet sp = getcurpos()
[?25l[12;7H[?12l[?25h
[?25l[24;1H[K[24;1H:[?12l[?25hcall setpos('.', sp)
[?25l[12;7H[?12l[?25h[13;7H[?25l[24;1H[K[24;1H:[?12l[?25h$put
[?25l[27m[23m[m[H[2J[1;1HExecuting 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 moo[5;1Hre lines
Executing call setreg("=", ["1", "2"])
Vim(call):E883: search pattern and expression register may not contain two or moo[8;1Hre 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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" substring and variable name
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet str = 'abcdef'
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet n = 3
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[n:]
[?25l[1;23r[23;1H
[1;24r[23;1Hdef[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =str[:n]
[?25l[1;23r[23;1H
[1;24r[23;1Habcd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$put =str[n:n]
[?25l[1;23r[23;1H
[1;24r[23;1Hd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet n
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet nn = 3
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[nn:]
[?25l[1;23r[1;1H[2M[1;24r[22;1Hdef
[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put =str[:nn]
[?25l[23;1Habcd[23;5H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[nn:nn]
[?25l[1;23r[23;1H
[1;24r[23;1Hd[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet nn
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet b:nn = 4
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[b:nn:]
[?25l[1;23r[1;1H[2M[1;24r[22;1Hef
[1m[34m~ [m[24;1H[K[22;1H[?12l[?25h[?25l
:[?12l[?25h$put =str[:b:nn]
[?25l[23;1Habcde[23;6H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =str[b:nn:b:nn]
[?25l[1;23r[23;1H
[1;24r[23;1He[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hunlet b:nn
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/+1,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_fixeol.in" 40 lines, 780 characters[1;1HTests for 'fixeol'[25Cvim: set ft=vim :
STARTTEST
:" use Unix fileformat for consistency
:set ff=unix
:enew!
awith eol[34m^[[m:w! XXEol
:enew!
:set noeol nofixeol
awithout eol[34m^[[m:w! XXNoEol
:set eol fixeol
:bwipe XXEol XXNoEol
:"
:" try editing files with 'fixeol' disabled
:e! XXEol
ostays eol[34m^[[m:set nofixeol
:w! XXTestEol
:e! XXNoEol
ostays without[34m^[[m:set nofixeol
:w! XXTestNoEol
:bwipe XXEol XXNoEol XXTestEol XXTestNoEol
:set fixeol[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for 'fixeol'[25Cvim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 35 lines, 698 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[16M[1;24r[8;1H:"
:" Append "END" to each file so that we can see what the last written char was.
ggdGaEND[34m^[[m:w >>XXEol
:w >>XXNoEol
:w >>XXTestEol
:w >>XXTestNoEol
:"
:" Concatenate the results
:e! test.out
a0[34m^[[m:$r XXEol
:$r XXNoEol
Go1[34m^[[m:$r XXTestEol
:$r XXTestNoEol
:w
:qa!
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
2 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[2L[1;1H:w! XXTestEol
:e! XXNoEol
ostays without[34m^[[m:set nofixeol[3;30H[K[4;1H:w! XXTestNoEol[4;16H[K[5;1H:bwipe XXEol XXNoEol XXTestEol XXTestNoEol[5;43H[K[6;1H:set fixeol[6;12H[K[7;1H:"[7;3H[K[8;1H:" Append "END" to each file so that we can see what the last written char was.[8;80H[K[9;1HggdGaEND[34m^[[m:w >>XXEol[9;21H[K[10;1H:w >>XXNoEol[10;13H[K[11;1H:w >>XXTestEol[11;15H[K[12;1H:w >>XXTestNoEol[12;17H[K[13;1H:"[13;3H[K[14;1H:" Concatenate the results[14;27H[K[15;1H:e! test.out[15;13H[K[16;1Ha0[34m^[[m:$r XXEol[16;14H[K[17;1H:$r XXNoEol[17;12H[K[18;1HGo1[34m^[[m:$r XXTestEol[18;19H[K[19;1H:$r XXTestNoEol[19;16H[K[20;1H:w[20;3H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" try editing files with 'fixeol' disabled
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXEol
[?25l"XXEol" [24;9H[K[24;9H1 line, 9 characters[1;1Hwith eol[1;9H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m
stays eol[2;10H[K[2;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nofixeol
[?25l[2;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXTestEol
[?25l"XXTestEol" [24;13H[K[24;13H[New File] 2 lines, 19 characters written[2;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! XXNoEol
[?25l"XXNoEol" [24;11H[K[24;11H[Incomplete last line] 1 line, 11 characters[1;5Hout eol
[1m[34m~ [1;1H[?12l[?25h[?25l[m
stays without[2;14H[K[2;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nofixeol
[?25l[2;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! XXTestNoEol
[?25l"XXTestNoEol" [24;15H[K[24;15H[New File][Incomplete last line] 2 lines, 25 characters written[2;13H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipe XXEol XXNoEol XXTestEol XXTestNoEol
[?25l"test_fixeol.in" [24;18H[K[24;18H40 lines, 780 characters
4 buffers wiped out
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset fixeol
[?25l[1;1H[2L[1;1H:w! XXTestEol
:e! XXNoEol
ostays without[34m^[[m:set nofixeol[3;30H[K[4;1H:w! XXTestNoEol[4;16H[K[5;1H:bwipe XXEol XXNoEol XXTestEol XXTestNoEol[5;43H[K[6;1H:set fixeol[6;12H[K[7;1H:"[7;3H[K[8;1H:" Append "END" to each file so that we can see what the last written char was.[8;80H[K[9;1HggdGaEND[34m^[[m:w >>XXEol[9;21H[K[10;1H:w >>XXNoEol[10;13H[K[11;1H:w >>XXTestEol[11;15H[K[12;1H:w >>XXTestNoEol[12;17H[K[13;1H:"[13;3H[K[14;1H:" Concatenate the results[14;27H[K[15;1H:e! test.out[15;13H[K[16;1Ha0[34m^[[m:$r XXEol[16;14H[K[17;1H:$r XXNoEol[17;12H[K[18;1HGo1[34m^[[m:$r XXTestEol[18;19H[K[19;1H:$r XXTestNoEol[19;16H[K[20;1H:w[20;3H[K[21;1H:qa![21;5H[K[22;1HENDTEST[22;8H[K[23;1H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Append "END" to each file so that we can see what the last written char was.
[?25l[23;1H[?12l[?25h[?25l[1;23r[1;1H[17L[1;24r[1;1HTests for 'fixeol'[25Cvim: set ft=vim :
STARTTEST
:" use Unix fileformat for consistency
:set ff=unix
:enew!
awith eol[34m^[[m:w! XXEol
:enew!
:set noeol nofixeol
awithout eol[34m^[[m:w! XXNoEol
:set eol fixeol
:bwipe XXEol XXNoEol
:"
:" try editing files with 'fixeol' disabled
:e! XXEol
ostays eol[34m^[[m:set nofixeol[24;1H[K[1;1H[?12l[?25h[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H--No lines in buffer--[1;1H[?12l[?25h[?25lEND[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXEol
[?25l"XXEol" [24;9H[K[24;9H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXNoEol
[?25l"XXNoEol" [24;11H[K[24;11H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXTestEol
[?25l"XXTestEol" [24;13H[K[24;13H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw >>XXTestNoEol
[?25l"XXTestNoEol" [24;15H[K[24;15H1 line, 4 characters appended[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Concatenate the results
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out
[?25l"test.out" [New File][1;1H[K[1;1H[?12l[?25h[?25l0[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXEol
[?25l"XXEol" [24;9H[K[24;9H2 lines, 13 characters[2;1Hwith eol[2;9H[K[3;1HEND[3;4H[K[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXNoEol
[?25l"XXNoEol" [24;11H[K[24;11H1 line, 15 characters[4;1Hwithout eolEND[4;15H[K[4;1H[?12l[?25h[?25l
1[5;2H[K[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXTestEol
[?25l"XXTestEol" [24;13H[K[24;13H3 lines, 23 characters[6;1Hwith eol[6;9H[K[7;1Hstays eol[7;10H[K[8;1HEND[8;4H[K[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r XXTestNoEol
[?25l"XXTestNoEol" [24;15H[K[24;15H2 lines, 29 characters[9;1Hwithout eol[9;12H[K[10;1Hstays withoutEND[10;17H[K[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" [New File] 10 lines, 84 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_getcwd.in" 96 lines, 2374 characters[1;1HTests for getcwd(), haslocaldir(), and :lcd[19Cvim: 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for getcwd(), haslocaldir(), and :lcd[19Cvim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 90 lines, 2273 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Do all test in a separate window to avoid E211 when we recursively
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" delete the Xtopdir directory during cleanup
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" This will cause a few errors, do it silently.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset visualbell
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocp viminfo+=nviminfo
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" On windows a swapfile in Xtopdir prevents it from being cleaned up.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noswapfile
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[27m[23m[m[H[2J[?25l[1;1H: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[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" we start from a clean state.
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall delete("Xtopdir", "rf")
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet r=[]
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[23;1H[7mtest_getcwd.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet cwd=getcwd()
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet test_out = cwd . '/test.out'
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xtopdir')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcd Xtopdir
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir[23;1H[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/test_getcwd.in[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xdir1')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xdir2')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall mkdir('Xdir3')
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew a
[?25l"a" [New File][27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [m[8;1H[1m[7ma [m[10;1H[1m[34m~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7m[No Name] [m[17;1H:q
:exec "cd " . cwd
:call delete("Xtopdir", "rf")
:qa!
ENDTEST
[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/test_getcwd.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew b
[?25l"b" [New File][27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[6;1H[1m[7mb [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7ma [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [17;1H~ [m[18;1H[7m[No Name] [m[19;1H:call delete("Xtopdir", "rf")
:qa!
ENDTEST
[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/test_getcwd.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew c
[?25l"c" [New File][27m[23m[m[H[2J[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[5;1H[1m[7mc [m[7;1H[1m[34m~ [8;1H~ [9;1H~ [m[10;1H[7mb [m[12;1H[1m[34m~ [13;1H~ [m[14;1H[7ma [m[16;1H[1m[34m~ [17;1H~ [18;1H~ [m[19;1H[7m[No Name] [m[20;1H:qa!
ENDTEST
[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/test_getcwd.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h3wincmd w
[?25l[5;1H[7mc[m[1m[7m [m[7m [m[14;1H[1m[7ma [11;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlcd Xdir1
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/Xdir1[5;1H[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/c[10;1H/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/b[m[14;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/a[11;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[5;1H[7mc [m[10;1H[1m[7mb [m[14;1H[7ma[m[1m[7mb[m[7m [6;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[6;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[5;1H[1m[7mc [m[10;1H[7mb[m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlcd Xdir3
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/Xdir3[5;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/c[m[10;1H[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/b[14;1H/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/a[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("a"), 0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("b"), 0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("c"), 0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[5;1H[7mc[m[1m[7mb[m[7m [10;1Hb [14;1Ha [m[23;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("a"), tabpagenr()))
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("b"), tabpagenr()))
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("c"), tabpagenr()))
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabnew x
[?25l"x" [New File][27m[23m[m[H[2J[1;1H[4m[30m[47m [m[4m[35m[47m5[m[4m[30m[47m /b/v/v/s/v/t/test_getcwd.in [m[1m x [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hnew y
[?25l"y" [New File][1;33H[1m[35m2[m[1m y [m[43C[7m [m[1;80H[4m[30m[47mX[m[12;1H[1m[7my[m[1m[34m [m[1m[7m [m[13;1H[K[23;1H[7mx[m[1m[34m [m[7m [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnew z
[?25l"z" [New File][27m[23m[m[H[2J[1;1H[4m[30m[47m [m[4m[35m[47m5[m[4m[30m[47m /b/v/v/s/v/t/test_getcwd.in [m[1m [m[1m[35m3[m[1m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [m[9;1H[1m[7mz [m[11;1H[1m[34m~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [m[16;1H[7my [m[18;1H[1m[34m~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[7mx [2;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h3wincmd w
[?25l[9;1H[7mz[m[1m[7m [m[7m [m[23;1H[1m[7mx [m[1;35H[1mx [m[43C[7m [m[1;80H[4m[30m[47mX[17;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[16;1H[1m[7my [m[23;1H[7mx[m[1m[7m [m[7m [m[1;35H[1my [m[43C[7m [m[1;80H[4m[30m[47mX[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlcd Xdir2
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/Xdir2[1;35H[1m/b/v/v/s/v/t/X/y [m[28C[7m [m[1;80H[4m[30m[47mX[m[9;1H[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/z[m[16;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/y[m[23;1H[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/x[10;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd W
[?25l[1;35H[1mzb /[m[7m [28C [m[1;80H[4m[30m[47mX[m[9;1H[1m[7mz [m[16;1H[7my[m[1m[7mb[m[7m [23;1Hx [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlcd Xdir3
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/Xdir3[1;35H[1m/b/v/v/s/v/t/X/z [m[28C[7m [m[1;80H[4m[30m[47mX[m[9;1H[1m[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/z[m[16;1H[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/y[23;1H/<<PKGBUILDDIR>>/src/vim-nox/testdir/Xtopdir/x[2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(0, 0))
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("x"), 0))
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("y"), 0))
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall add(r, GetCwdInfo(bufwinnr("z"), 0))
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tp_nr = tabpagenr()
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25htabrewind
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m5[m[1m /b/v/v/s/v/t/test_getcwd.in [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [m[11;1H[7mb [m[13;1H[1m[34m~ [14;1H~ [m[15;1H[7ma [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[1m[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hcall add(r, GetCwdInfo(3, tp_nr))
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m5[m[1m /b/v/v/s/v/t/test_getcwd.in [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [m[11;1H[7mb [m[13;1H[1m[34m~ [14;1H~ [m[15;1H[7ma [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[1m[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hcall add(r, GetCwdInfo(2, tp_nr))
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m5[m[1m /b/v/v/s/v/t/test_getcwd.in [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [m[11;1H[7mb [m[13;1H[1m[34m~ [14;1H~ [m[15;1H[7ma [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[1m[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25hcall add(r, GetCwdInfo(1, tp_nr))
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m5[m[1m /b/v/v/s/v/t/test_getcwd.in [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [m[11;1H[7mb [m[13;1H[1m[34m~ [14;1H~ [m[15;1H[7ma [m[17;1H[1m[34m~ [18;1H~ [19;1H~ [m[20;1H[7m[No Name] [m[21;1HENDTEST
[1m[7m/<<PKGBUILDDIR>>/src/vim-nox/testdir/test_getcwd.in [22;1H[?12l[?25h[?25l
[m:[?12l[?25h"
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall writefile(r, test_out, "a")
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq
[?25l[27m[23m[m[H[2J[1;1H[1m [m[1m[35m4[m[1m [No Name] [m[4m[30m[47m [m[4m[35m[47m3[m[4m[30m[47m z [m[7m [m[1;80H[4m[30m[47mX[m[3;1H[1m[34m~ [4;1H~ [5;1H~ [m[6;1H[7mc [m[8;1H[1m[34m~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[7mb [m[14;1H[1m[34m~ [15;1H~ [16;1H~ [m[17;1H[7ma [m[19;1H[1m[34m~ [20;1H~ [21;1H~ [22;1H~ [m[23;1H[1m[7m[No Name] [18;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hexec "cd " . cwd
[?25l/<<PKGBUILDDIR>>/src/vim-nox/testdir[1;17H[4m[30m[47mX/z [m[59C[7m [m[1;80H[4m[30m[47mX[m[6;1H[7mXtopdir/c[12;1HXtopdir/b[17;1HXtopdir/a
[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall delete("Xtopdir", "rf")
[?25l[18;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_insertcount.in" 14 lines, 204 characters[1;1HTests for repeating insert and replace.
STARTTEST
:so small.vim
:/Second
4gro
:/^First/,$wq! test.out
:" get here when failed and in Insert mode
[34m^[[m:.wq! test.out
ENDTEST
First line
Second line
Last line
[1m[34m~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for repeating insert and replace.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 6 lines, 111 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/Second
[?25l[13;1H[?12l[?25h[?25looooecond line
ooo[?12l[?25h
Las[?25l[24;1H[K[24;1H:[?12l[?25h/^First/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_listchars.in" 54 lines, 705 characters[1;1HTests 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))'))[9;1H, '')
:endfunction
:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\\[12;1H<CR>"
:set listchars+=tab:>-,space:.,trail:<
:set list
:
/^start:/
:normal! jzt
GG
GG
GG
GG
GGH:
:set listchars-=trail:<[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for 'listchars' display with 'list' and :list[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 25 lines, 431 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[9M[1;24r[15;1HGG
GG
GG
GG
GG:
:put =g:lines
:'[,']w! test.out
ENDTEST[24;1H[K[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ff=unix
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:lines = []
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction GetScreenCharsForLine(lnum)
[?25l
: [?12l[?25h: return join(map(range(1, virtcol('$')), 'nr2char(screenchar(a:lnum, v:val
[23;80H)[24;1H)'), '')
[?25l: [?12l[?25h:endfunction
[1;1H[3L[?25l[1;1H:endfunction
:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\\[3;1H<CR>"[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hnnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))
[23;80H\[24;1H<CR>"
[?25l[1;1H[L[1;1H:endfunction[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hset listchars+=tab:>-,space:.,trail:<
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset list
[?25l[1;13H[1m[34m$[m[2;10H[34m.[m<expr>[34m.[mGG[34m.[m":call[34m.[12C.[m[39C\\[3;1H<CR>"[1m[34m$[m
:set[34m.[m[33C[1m[34m$[m
:set[34m.[mlist[1m[34m$
[m:[1m[34m$[7;10H$[m[8;9H[34m.[mjzt[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGGH:[1m[34m$[m
:set[34m.[m[18C[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG[1m[34m$
[mGG:[1m[34m$[m
:put[34m.[m[8C[1m[34m$[m[21;9H[34m.[m[8C[1m[34m$[22;8H$
$[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start:/
[?25l[24;9H[K[24;1H[1;23r[23;1H
[1;24r[23;1Hstart:[1m[34m$[m[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hnormal! jzt
[?25l[27m[23m[m[H[2J[1;1H[34m>-------[maa[34m>-----[m[1m[34m$[m
[34m..[mbb[34m>---<<[m[1m[34m$[m
[34m...[mcccc[34m><[m[1m[34m$[m
dd[34m........[mee[34m<<>-[m[1m[34m$[m
[34m<[m[1m[34m$
$
$[m
STARTTEST[1m[34m$[m
:set[34m.[mlistchars+=trail:<[1m[34m$[m
:set[34m.[mnolist[1m[34m$[m
:[1m[34m$[m
/^start:/[1m[34m$[m
:redir![34m.[m>>[34m.[mtest.out[1m[34m$[m
:+1,$list[1m[34m$[m
:redir[34m.[mEND[1m[34m$[m
:q![1m[34m$[m
ENDTEST[1m[34m$
$[m
start:[1m[34m$[m
[34m..[mfff[34m>--<<[m[1m[34m$[m
[34m>-------[mgg[34m>-----[m[1m[34m$[m
[34m.....[mh[34m>-[m[1m[34m$[m
iii[34m<<<<><<[m[1m[34m$[1;1H[?12l[?25h[?25l[24;1H[m:call add(g:lines, GetScreenCharsForLine(1))
[1;1H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(2))
[2;1H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(3))
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(4))
[4;1H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(5))
[5;1H[?12l[?25h[1;9H[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[1;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset listchars-=trail:<
[?25l[2;9H[34m..[3;9H.[4;13H..
.[20;9H..[23;4H....>..[1;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(1))
[1;9H[?12l[?25h[2;9H[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(2))
[2;9H[?12l[?25h[3;9H[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(3))
[3;9H[?12l[?25h[4;9H[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(4))
[4;9H[?12l[?25h
[?25l[24;1H[K[24;1H:call add(g:lines, GetScreenCharsForLine(5))
[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hput =g:lines
[?25l10 more [6;23r[6;1H[10L[1;24r[6;1H>-------aa>-----$[1m[34m$[m
..bb>---<<$[1m[34m$[m
...cccc><$[1m[34m$[m
dd........ee<<>-$[1m[34m$[m
<$[1m[34m$[m
>-------aa>-----$[1m[34m$[m
..bb>---..$[1m[34m$[m
...cccc>.$[1m[34m$[m
dd........ee..>-$[1m[34m$[m
.$[1m[34m$[m[24;1H[K[24;1H10 more lines[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h'[,']w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 10 lines, 124 characters written[15;1H[?12l[?25h[?25l[24;1H[K[24;1H/^STARTTEST
[18;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H8 lines, 93 characters written[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[19;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[1;23r[1;1H[4M[1;24r[20;1H:+1,$list[1m[34m$[m
:redir[34m.[mEND[1m[34m$[m
:q![1m[34m$[m
ENDTEST[1m[34m$[m[24;1H[K[23;1H[?12l[?25h[?25l[1;23r[23;1H
[1;24r[23;1H[1m[34m$[?12l[?25h[?25l
[m:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset listchars+=trail:<
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nolist
[?25l[1;18H[K[2;12H[K[3;11H[K[4;18H[K[5;3H[K[6;18H[K[7;12H[K[8;11H[K[9;18H[K[10;3H[K[11;1H[K[12;1H[K[13;10H[K[14;5H [14;24H[K[15;5H [15;12H[K[16;2H[K[17;10H[K[18;8H >> [18;20H[K[19;10H[K[20;7H [20;11H[K[21;4H[K[22;8H[K[23;1H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^start:/
[?25l[24;9H[K[24;1H[1;23r[23;1H
[1;24r[23;1Hstart:[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hredir! >> test.out
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h+1,$list
[?25l[34m..[mfff[34m>--<<[m[1m[34m$[m
[34m>-------[mgg[34m>-----[m[1m[34m$[m
[34m.....[mh[34m>-[m[1m[34m$[m
iii[34m<<<<><<[m[1m[34m$[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hredir END
[?25l[1;1H[4L[1;1H>-------aa>-----$
..bb>---..$
...cccc>.$
dd........ee..>-$
.$[5;3H[K[6;1H[K[7;1H[K[8;1HSTARTTEST[8;10H[K[9;1H:set listchars+=trail:<
:set nolist
:
/^start:/
:redir! >> test.out[13;20H[K[14;2H+1,$list[14;10H[K[15;2Hredir END
:q![16;4H[K[17;1HENDTEST[17;9H[K[18;1H[K[19;1Hstart:[19;8H[K[20;1H fff
gg[22;6Hh
iii [24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hq!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_listlbr.in" 119 lines, 2868 characters[1;1HTest for linebreak and list option (non-utf8)
STARTTEST
:so small.vim
:if !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! | [6;1Hendif
: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)
:[7Clet c=''
:[7Cfor j in range(1,4)
:[11Cfor i in range(1,a:width)
:[15Clet c.=nr2char(screenchar(j, i))
:[11Cendfor
:[11Clet c.="\n"
:[7Cendfor
:[7Creturn c
:endfu
:fu! DoRecordScreen()
:[7Cwincmd l
:[7C$put =printf(\"\n%s\", g:test)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for linebreak and list option (non-utf8)[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 114 lines, 2792 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1Habcd{ef
ghijklm
no}pqrs[34m^[[m2k0f{[34m^V^V[mc%[34m^[[m
:"
:let g:test ="Test 11: using block replace mode after wrapping"
:$put =g:test
:set linebreak wrap
Go[34m^[[m150aa[34m^[[myypk147|[34m^V[mjr0
:"
:let g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$"[11;1H: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[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! |
endif
[?25l[1;1H[L[1;1Habcd{ef[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h10new|:vsp|:vert resize 20
[?25l[1;1H [13C[7m|[2;21H|[3;21H|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [m[2;22H[1m[34m~ [3;22H~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [m[12;2Hlet line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line[13;12H[K[14;3H[K[15;2Hnorm! zt
:redraw![16;9H[K[17;2Hlet line=ScreenChar(winwidth(0))
:call DoRecordScreen()[18;23H[K[19;2H%w! test.out[19;14H[K[20;2Hqa[20;6H[K[21;1HENDTEST
dummy text
[7mtest_listlbr.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hput =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"
[?25l[2;1H abcdef hijkl
mn pqrstuvwxyz_1060
ABCDEFGHIJKLMNOP [11;11H[1m[7m[+][m[2;22H abcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP [2;79H[K[11;32H[7m[+][2;9H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H abcdef hijkl
mn pqrstuvwxyz_1060
ABCDEFGHIJKLMNOP
[1m[34m~
~
~
~
~
~ [m
[1m[34m~ [m[24;1H[K[1;9H[?12l[?25h[?25l[24;1H:[?12l[?25hset ts=4 sw=4 sts=4 linebreak sbr=+ wrap
[?25l[1;5Habcdef
[1m[34m+[mhijklmn
[1m[34m+[mpqrstuvwxyz_1060ABC
[1m[34m+[mDEFGHIJKLMNOP [2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP [2;75H[K[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfu! ScreenChar(width)
[?25l
: [?12l[?25h:[34m^I[mlet c=''
[?25l: [?12l[?25h:[34m^I[mfor j in range(1,4)
[?25l: [?12l[?25h:[34m^I[m for i in range(1,a:width)
[?25l: [?12l[?25h:[34m^I[m [34m^I[mlet c.=nr2char(screenchar(j, i))
[?25l: [?12l[?25h:[34m^I[m endfor
[?25l: [?12l[?25h: let c.="\n"
[?25l: [?12l[?25h:[34m^I[mendfor
[?25l: [?12l[?25h:[34m^I[mreturn c
[?25l: [?12l[?25h:endfu
[1;1H[9L[?25l[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[m[5;1H[1m[34m~
~
~
~
~ [m[2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hfu! DoRecordScreen()
[?25l
: [?12l[?25h:[34m^I[mwincmd l
[?25l: [?12l[?25h:[34m^I[m$put =printf(\"\n%s\", g:test)
[?25l: [?12l[?25h:[34m^I[m$put =g:line
[?25l: [?12l[?25h:[34m^I[mwincmd p
[?25l: [?12l[?25h:endfu
[1;1H[5L[?25l[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[m
[1m[34m~ [m[2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [m[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 1: set linebreak"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[5;1H[1m[34m~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP[3;22H[1m[34m~ [4;22H~ [5;22H~ [6;22H~ [7;22H~ [8;22H~ [9;22H~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;5H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[5;1H
Test 1: set
[1m[34m+[mlinebreak
abcdef
+hijklmn
+pqrstuvwxyz_1060ABC[3;22H[K[4;22HTest 1: set linebreak[4;43H[K[5;22H abcdef [5;42H[K[6;22H+hijklmn [6;42H[K[7;22H+pqrstuvwxyz_1060ABC[7;42H[K[8;22H+DEFGHIJKLMNOP [8;42H[K[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 2: set linebreak + set list"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset linebreak list listchars=
[?25l[1;1H[34m^I[mabcdef hijklmn[34m^I [m[2;2Hpqrstuvwxyz_1060ABC[3;2HDEFGHIJKLMNOP
Test 1: set
[1m[34m+[mlinebreak
abcdef
+hijklmn
+pqrstuvwxyz_1060ABC
+DEFGHIJKLMNOP [1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H[34m^I[mabcdef hijklmn[34m^I [m[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[4;21H|[m
Test 1: set[9C[7m|[m
[1m[34m+[mlinebreak[10C[7m|[m
abcdef[10C[7m|[m
+hijklmn[12C[7m|[m
+pqrstuvwxyz_1060ABC[7m|[m
+DEFGHIJKLMNOP [7m|[m
[1m[7m[No Name] [+] [m[2;26Habcdef hijklmn pqrstuvwxyz_1060ABCDEFGHIJKLMNOP[4;22HTest 1: set linebreak[5;26Habcdef[6;22H+hijklmn[7;22H+pqrstuvwxyz_1060ABC[8;22H+DEFGHIJKLMNOP[9;22H[1m[34m~ [10;22H~ [m[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;3H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[1;22H abcdef [2;22H+hijklmn [3;22H+pqrstuvwxyz_1060ABC [4;22H+DEFGHIJKLMNOP [5;22H[1m[34m~ [6;22H~ [m[7;22H [8;22H [9;22H [10;22H [5;22H[K[6;22HTest 2: set linebreak + set list[6;54H[K[7;22H^Iabcdef hijklmn^I[8;22H+pqrstuvwxyz_1060ABC[9;22H+DEFGHIJKLMNOP[24;1H[K[24;1H4 more lines[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 3: set linebreak nolist"
[?25l[1;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nolist linebreak
[?25l[1;1H abcdef [2;2Hhijklmn [3;2Hpqrstuvwxyz_1060ABC
[1m[34m+[mDEFGHIJKLMNOP
Test 1: set
[1m[34m+[mlinebreak
abcdef
+hijklmn
+pqrstuvwxyz_1060ABC[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;5Habcdef[10C[7m|[m
[1m[34m+[mhijklmn[12C[7m|[m
[1m[34m+[mpqrstuvwxyz_1060ABC[7m|[m
[1m[34m+[mDEFGHIJKLMNOP [7m|[5;21H|[m
Test 1: set[9C[7m|[m
[1m[34m+[mlinebreak[10C[7m|[m
abcdef[10C[7m|[m
+hijklmn[12C[7m|[m
+pqrstuvwxyz_1060ABC[7m|[m
[1m[7m[No Name] [+] [m[1;26Habcdef[2;22H+hijklmn[3;22H+pqrstuvwxyz_1060ABC[4;22H+DEFGHIJKLMNOP[6;22HTest 2: set linebreak + set list[7;22H^Iabcdef hijklmn^I[8;22H+pqrstuvwxyz_1060ABC[9;22H+DEFGHIJKLMNOP[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;5H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[1;22H^Iabcdef hijklmn^I [2;22H+pqrstuvwxyz_1060ABC [3;22H+DEFGHIJKLMNOP [4;22H [5;22H [6;22H [7;22H [8;22H [9;22H [10;22H [6;22HTest 3: set linebreak nolist[7;26Habcdef[8;22H+hijklmn[9;22H+pqrstuvwxyz_1060ABC[10;22H+DEFGHIJKLMNOP[24;1H[K[24;1H4 more lines[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;5H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 4: set linebreak with tab and 1 line as long as screen: shou
[23;80Hl[24;1Hd break!"
[?25l[1;1H[L[1;5Habcdef[10C[7m|[m^Iabcdef hijklmn^I[24;1H[K[1;5H[?12l[?25h[?25l[24;1H:[?12l[?25hset nolist linebreak ts=8
[?25l[1;5H abcdef[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet line="1\t".repeat('a', winwidth(0)-2)
[?25l[1;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[1;9H
Test 3: set [4;2Hlinebreak nolist
abcdef
+hijklmn
+pqrstuvwxyz_1060ABC
+DEFGHIJKLMNOP
1
[1m[34m+[maaaaaaaaaaaaaaaaaa [9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$
[?25l[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H1
[1m[34m+[maaaaaaaaaaaaaaaaaa
[3;1H[1m[34m~
~
~
~
~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1H1[19C[7m|[m
[1m[34m+[maaaaaaaaaaaaaaaaaa [7m|[3;21H|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[3;1H[1m[34m~
~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[1;22H^Iabcdef hijklmn^I[2;22H+pqrstuvwxyz_1060ABC[3;22H+DEFGHIJKLMNOP[6;22HTest 3: set linebreak nolist[7;26Habcdef[8;22H+hijklmn[9;22H+pqrstuvwxyz_1060ABC[10;22H+DEFGHIJKLMNOP[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l4 more lines[24;13H[K[3;1H
Test 4: set
[1m[34m+[mlinebreak with tab
[1m[34m+[mand 1 line as long
[1m[34m+[mas screen: should
[1m[34m+[mbreak!
1
+aaaaaaaaaaaaaaaaaa [1;22H+pqrstuvwxyz_1060ABC [2;22H+DEFGHIJKLMNOP [3;22H [4;22H [5;22H [6;22H [7;22H [8;22H [9;22H [10;22H [3;22H1[7Caaaaaaaaaaaaaaaaaa[5;22HTest 4: set linebreak with tab and 1 line as long as screen[6;22H[1m[34m+[m: should break![7;22H1[8;22H+aaaaaaaaaaaaaaaaaa[9;22H~[10;22H~[24;1H[K[24;1H4 more lines[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet line="_S_\t bla"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[1;1HTest 4: set
[1m[34m+[mlinebreak with tab
[1m[34m+[mand 1 line as long
[1m[34m+[mas screen: should
[1m[34m+[mbreak!
1
+aaaaaaaaaaaaaaaaaa
[8;1H~
~
_S_ bla[24;1H[K[10;1H[?12l[?25h[?25l[24;1H:[?12l[?25h$
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1H_S_ bla
[2;1H[1m[34m~
~
~
~
~
~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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[1;1H[L[1;1H_S_ bla[8C[7m|[m+pqrstuvwxyz_1060ABC[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset cpo&vim list linebreak conceallevel=2 concealcursor=nv listchars=tab:ab
[?25l[1;4H[34mabbbb[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hsyn match ConcealVar contained /_/ conceal
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsyn match All /.*/ contains=ConcealVar
[?25l[1;1HS[34mabb[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l[24;1H4 more lines[24;13H[K[2;1H
Test 5: set
[1m[34m+[mlinebreak with
[1m[34m+[mconceal and set
[1m[34m+[mlist and tab
[1m[34m+[mdisplayed by
[1m[34m+[mdifferent char
[1m[34m+[m(line may not be
[1m[34m+[mtruncated) [1;22H~ [2;22H~ [3;22H [4;22H [5;22H [6;22H [7;22H [8;22H [9;22H [10;22H [3;22H_S_ bla[5;22HTest 5: set linebreak with conceal and set list and tab dis[6;22H[1m[34m+[mplayed by different char (line may not be truncated)[7;22HSabbbbbb bla[8;22H~[9;22H~[10;22H~[24;1H[K[24;1H4 more lines[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&vim linebreak
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 6: set linebreak with visual block mode"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet line="REMOVE: this not"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;2Habbbbbb
~
~
~
Test 6: set [6;4Hnebreak with[7;2Hvisual block mode
[1m[34m~
~
~ [5;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[8;1HREMOVE: this not [8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet line="REMOVE: aaaaaaaaaaaaa"
[?25l[8;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[9;1HREMOVE:
[1m[34m+[maaaaaaaaaaaaa [9;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1/^REMOVE:
[?25l[8;1H[?12l[?25h[8;1H[?25l[8;1H[?12l[?25h[?25l[7mR[9;1H[?12l[?25h[?25l[8;2HEMOVE:
REMOVE:[9;8H[?12l[?25h[?25l[m[8;1Hthis not
aaaaaaaaaaaaa
[1m[34m~ [8;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put
[?25l[1;1H~
~
~
Test 6: set
[1m[34m+[mlinebreak with
[1m[34m+[mvisual block mode
this not
aaaaaaaaaaaaa
[1m[34m~ [m
[9;1HREMOVE:
REMOVE:[24;1H[K[10;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset cpo&vim linebreak
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 7: set linebreak with visual block mode and v_b_A"
[?25l[10;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1Hthis not
aaaaaaaaaaaaa
REMOVE:
REMOVE:
[5;1HTest 7: set
[1m[34m+[mlinebreak with
[1m[34m+[mvisual block mode
[1m[34m+[mand vbA
[1m[34m~
~ [m[24;1H[K[5;1H[?12l[?25h[5;1H[?25l[9;1Hlong line: [9;11H[?12l[?25h[?25l foobar
[1m[34m+[mfoobar foobar [9;1H[1m[34m@
@ [m[1;1H
[1;1H[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar[10;8H[?12l[?25h[1;1H[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar foobar
[1m[34m+[mfoobar
[?25l[9;9HTARGET at
[1m[34m+[mend[10;4H[?12l[?25h[10;4H[?25l[24;1H:[?12l[?25hexe "norm! $3B\<C-v>eAx\<Esc>"
[?25l[9;15Hx at[9;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cpo&vim linebreak sbr=
[?25l[1;1Hfoobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar foobar
foobar TARGETx at
end [6;22Hplayed by different char (line may not be truncated)[6;74H[K[9;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[9;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 8: set linebreak with visual char mode and changing block"
[?25l[9;8H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1HTest 8: set
linebreak with
visual char mode
and changing block
[1m[34m~
~
~
~
~
~ [1;1H[?12l[?25h[1;1H[?25l[m[5;1H1111-1111-1111-11-
1111-1111-1111 [6;14H[?12l[?25h[5;1H[5;5H[5;6H[?25l[5;6H[?12l[?25h[?25l[7m111[5;9H[?12l[?25h[?25l[m2222[5;9H[?12l[?25h[5;6H[6;6H[?25l2222[6;9H[?12l[?25h[6;9H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[6;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 9: using redo after block visual mode"
[?25l[6;9H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[7;1HTest 9: using redo
after block visual
mode [7;1H[?12l[?25h[7;1H[?25l[1;1H1111-2222-1111-11-
1111-2222-1111
Test 9: using redo
after block visual
mode
[1m[34m~ [m
[6;1H
aaa
aaa
a
[1m[34m~ [m[24;1H[K[9;1H[?12l[?25h[7;1H[?25l[7;1H[?12l[?25h[?25l[7ma
a[9;1H[?12l[?25h[?25l[m[24;1H3 lines changed[7;1HA
A
A[7;1H[?12l[?25h[7;3H[?25lA
AaA[7;3H[?12l[?25h[8;3H[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[8;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 10: using normal commands after block-visual"
[?25l[8;3H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1HTest 9: using redo
after block visual
mode
AaA
AaA
A
[1m[34m~ [m
[8;1HTest 10: using
normal commands
after block-visual[24;1H[K[8;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset linebreak
[?25l[8;1H[?12l[?25h[8;1H[?25l[1;1HAaA
AaA
A
Test 10: using
normal commands
after block-visual
[8;1Habcd{ef
ghijklm
no}pqrs[24;1H[K[10;7H[?12l[?25h[8;7H[8;1H[8;5H[?25l[8;5H[?12l[?25h[?25l[8;5H[?12l[?25h[8;5H[?25lpqrs
[1m[34m~
~ [8;4H[?12l[?25h[8;4H[?25l[24;1H[m:[?12l[?25h"
[?25l[8;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 11: using block replace mode after wrapping"
[?25l[8;4H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1HAaA
A
Test 10: using
normal commands
after block-visual
abcdpqrs
[1m[34m~
~ [m
[8;1HTest 11: using
block replace mode
after wrapping[24;1H[K[8;1H[?12l[?25h[?25l[24;1H:[?12l[?25hset linebreak wrap
[?25l[8;1H[?12l[?25h[8;1H[?25l[1;1HA
Test 10: using
normal commands
after block-visual
abcdpqrs
Test 11: using
block replace mode
after wrapping
[24;1H[K[10;1H[?12l[?25h[?25l[1;1Haaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaa
[1m[34m~
~ [8;10H[?12l[?25h[8;10H[8;10H[?25l[1;1H[?12l[?25h[?25l[m[9;1Haaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa[9;1H[1m[34m@
@ [1;1H[?12l[?25h[8;7H[?25l[8;7H[?12l[?25h[?25l[m[1;1H[1m[34m@
@ [m
[1;1Haaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaa
[1m[34m~
~ [8;7H[?12l[?25h[?25l[m0
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa[9;1H[1m[34m@
@ [8;7H[?12l[?25h[?25l[m[1;1H[1m[34m@
@ [m
[1;1Haaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaa0aaa
[1m[34m~
~ [8;7H[?12l[?25h[?25l[24;1H[m:[?12l[?25h"
[?25l[8;7H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test ="Test 12: set linebreak list listchars=space:_,tab:>-,tail:-,eol:$
[23;80H"[24;1H[?25l[1;1H[L[1;1Haaaaaaaaaaaaaaaaaaaa[7m|[m~[24;1H[K[8;7H[?12l[?25h[?25l[24;1H:[?12l[?25hset list listchars=space:_,trail:-,tab:>-,eol:$
[?25l[8;11H[1m[34m$[8;7H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h$put =g:test
[?25l[1;1HTest[34m_[m12:[34m_[mset[34m_[m
linebreak[34m_[mlist[34m_[m
listchars=space:,
tab:>-,tail:-,eol:$[1m[34m$
~
~
~
~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =line
[?25l[5;1Ha[34m_[m
aaaaaaaaaaaaaaaaaaaa
aa[34m>-----[ma[34m-[m[1m[34m$[m [5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$
[?25l[5;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnorm! zt
[?25l[1;1Ha[34m_[m
aaaaaaaaaaaaaaaaaaaa
aa[34m>-----[ma[34m-[m[1m[34m$[m
[1m[34m~
~
~ [m
[7;1H[1m[34m~
~
~
~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hredraw!
[?25l[27m[23m[m[H[2J[1;1Ha[34m_[m[18C[7m|[m
aaaaaaaaaaaaaaaaaaaa[7m|[m
aa[34m>-----[ma[34m-[m[1m[34m$[m[9C[7m|[4;21H|[5;21H|[6;21H|[7;21H|[8;21H|[9;21H|[10;21H|[m[4;1H[1m[34m~
~
~
~
~
~
~ [m
[1m[7m[No Name] [+] [m[1;22H~[2;22H~[3;22H_S_ bla[5;22HTest 5: set linebreak with conceal and set list and tab dis[6;22Hplayed by different char (line may not be truncated)[7;22HSabbbbbb bla[8;22H~[9;22H~[10;22H~[11;22H[7m[No Name] [+] [m[12;1H:let line="a aaaaaaaaaaaaaaaaaaaaaa\ta "
:$put =line
:$
:norm! zt
:redraw!
:let line=ScreenChar(winwidth(0))
:call DoRecordScreen()
:%w! test.out
:qa!
ENDTEST
dummy text
[7mtest_listlbr.in [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hlet line=ScreenChar(winwidth(0))
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall DoRecordScreen()
[?25l[24;1H4 more lines[24;13H[K[4;1H[1m[34m$[m
Test[34m_[m12:[34m_[mset[34m_[m
linebreak[34m_[mlist[34m_[m
listchars=space:,
tab:>-,tail:-,eol:$[1m[34m$[m
a[34m------------------[m
[1m[34m$[m [1;22HTest 12: set linebreak list listchars=space:_,tab:>-,tail:-[2;22H,eol:$[3;22Ha aaaaaaaaaaaaaaaaaaaaaa[8Ca[5;27H12: set linebreak list listchars=space:_,tab:>-,tail:-[6;22H,eol:$[6;29H[K[7;22Ha_ [8;22Haaaaaaaaaaaaaaaaaaaa[9;22Haa>-----a-$[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h%w! test.out
[?25l"test.out" [24;12H[K[24;12H[New File] 62 lines, 2030 characters written[11;1H[1m[7mtest.out] [m[7C[7mtest.out [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_search_mbyte.in" 15 lines, 226 characters[1;1HTest 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
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for search('multi-byte char', 'bce')[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 6 lines, 140 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[10;1H[?12l[?25h
[?25l[24;1H[K[24;1H:so! Xdotest
[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsource small.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hsource mbyte.vim
[?25l[11;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1HTest 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
[1m[34m~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [11;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25h/^Test bce:/+1
[?25l[15;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =search('A', 'bce', line('.'))
[?25l[16;1H15[16;3H[K[16;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h1;/^Results:/,$wq! test.out
[?25l"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_utf8.in" 46 lines, 1245 characters[1;1HTests for Unicode manipulations[16Cvim: 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()
:[7C$put=strchars(str)
:[7C$put=strchars(str, 0)
:[7C$put=strchars(str, 1)
:endfor
:"
:" Test for customlist completion[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for Unicode manipulations[16Cvim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 40 lines, 1151 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:"
:" 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[1;23r[23;1H
[1;24r[23;1H[?12l[?25h[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=utf-8
[?25l[27m[23m[m[H[2J[1;1H:" Test for customlist completion
:function! CustomComplete1(lead, line, pos)
:[7Creturn ['あ', 'い']
:endfunction
:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo
:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')
:"
:function! CustomComplete2(lead, line, pos)
:[7Creturn ['あたし', 'あたま', 'あたりめ']
:endfunction
:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo
:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')
:"
:function! CustomComplete3(lead, line, pos)
:[7Creturn ['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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Visual block Insert adjusts for multi-byte char
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;2Hfunction! CustomComplete3(lead, line, pos)
: return ['Nこ', 'Nん', 'Nぶ'][14;37H[K[15;2Hendfunction[15;13H[K[16;2Hcommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo
:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')[17;56H[K[18;2H"[18;3H[K[19;2Hcall garbagecollect(1)
:/^start:/,$wq! test.out
ENDTEST[21;8H[K[22;1H [22;2H[K[23;1H[7mtest_utf8.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall setline(1, ["aaa", "あああ", "bbb"])
[?25l[1;1Haaa
あああ[2;7H[K[3;1Hbbb[3;4H[K[12;11H[1m[7m[+][1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hexe ":norm! gg0l\<C-V>jjIx\<Esc>"
[?25l[1;2Hxaa
xあああ
bxbb[1;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet r = getline(1, '$')
[?25l[1;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[1;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hbwipeout!
[?25l[1;1H:" Test for customlist completion
:function! CustomComplete1(lead, line, pos)
: return ['あ', 'い']
:endfunction[4;13H[K[5;1H:command -nargs=1 -complete=customlist,CustomComplete1 Test1 echo[5;66H[K[6;1H:call feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')[6;56H[K[7;1H:"[7;3H[K[8;1H:function! CustomComplete2(lead, line, pos)[8;44H[K[9;1H: return ['あたし', 'あたま', 'あたりめ'][9;48H[K[10;1H:endfunction[10;13H[K[11;1H:command -nargs=1 -complete=customlist,CustomComplete2 Test2 echo[11;66H[K[12;1H:call feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')[12;56H[K[13;2H"[13;3H[K[14;2Hfunction! CustomComplete3(lead, line, pos)
: return ['Nこ', 'Nん', 'Nぶ']
:endfunction[16;13H[K[17;3Hommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo
:call feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')
:"[19;3H[K[20;2Hcall garbagecollect(1)[20;24H[K[21;1H:/^start:/,$wq! test.out
ENDTEST
[23;2H[K[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put=r
[?25l3 more lines[1;23r[1;1H[4M[1;24r[20;1Hstart:
axaa
xあああ
bxbb[24;1H[K[24;1H3 more lines[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for built-in function strchars()
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfor str in ["a", "あいa", "A\u20dd", "A\u20dd\u20dd", "\u20dd"]
[?25l
: [?12l[?25h:[34m^I[m$put=strchars(str)
[?25l: [?12l[?25h:[34m^I[m$put=strchars(str, 0)
[?25l: [?12l[?25h:[34m^I[m$put=strchars(str, 1)
[?25l: [?12l[?25h:endfor
[1;1H[4L[?25l[1;1H:call garbagecollect(1)
:/^start:/,$wq! test.out
ENDTEST
start:[5;9H[K[6;1Haxaa[6;5H[K[7;1Hxあああ[7;8H[K[8;1Hbxbb[8;5H[K[9;1H1[9;2H[K[10;1H1[10;2H[K[11;1H1[11;9H[K[12;1H3[12;2H[K[13;1H3[13;2H[K[14;1H3[14;2H[K[15;1H2[15;2H[K[16;1H2[16;2H[K[17;1H1[17;2H[K[18;1H3[18;2H[K[19;1H3
1[20;2H[K[21;1H1[21;2H[K[22;1H1[22;2H[K[23;1H1[23;2H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" Test for customlist completion
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! CustomComplete1(lead, line, pos)
[?25l
: [?12l[?25h:[34m^I[mreturn ['あ', 'い']
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1H:call garbagecollect(1)
:/^start:/,$wq! test.out[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete1 Test1 echo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall feedkeys(":Test1 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:Test1 ...[24;8H[K[24;8H'
:$Test1 '
:$pTest1 '
:$puTest1 '
:$putTest1 '
:$put=Test1 '[24;7H'Test1 '[24;8H
[1;23r[23;1H
[1;24r[23;1HTest1[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! CustomComplete2(lead, line, pos)
[?25l
: [?12l[?25h:[34m^I[mreturn ['あたし', 'あたま', 'あたりめ']
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1H:/^start:/,$wq! test.out
ENDTEST[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete2 Test2 echo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall feedkeys(":Test2 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:Test2 ...あた'
:$Test2 あた'
:$pTest2 あた'
:$puTest2 あた'
:$putTest2 あた'
:$put=Test2 あた'[24;7H'Test2 あた'[24;8H
[1;23r[23;1H
[1;24r[23;1HTest2 あた[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hfunction! CustomComplete3(lead, line, pos)
[?25l
: [?12l[?25h:[34m^I[mreturn ['Nこ', 'Nん', 'Nぶ']
[?25l: [?12l[?25h:endfunction
[1;1H[2L[?25l[1;1HENDTEST[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcommand -nargs=1 -complete=customlist,CustomComplete3 Test3 echo
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall feedkeys(":Test3 \<C-L>'\<C-B>$put='\<CR>", 'it')
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:Test3 ...N[24;9H[K[24;9H'
:$Test3 N'
:$pTest3 N'
:$puTest3 N'
:$putTest3 N'
:$put=Test3 N'[24;7H'Test3 N'[24;8H
[1;23r[23;1H
[1;24r[23;1HTest3 N[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect(1)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start:/,$wq! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test_wordcount.in" 126 lines, 2815 characters[1;1HTest for wordcount() function
STARTTEST
:so small.vim
:so mbyte.vim
:set enc=utf8
:set selection=inclusive fileformat=unix fileformats=unix
:new
:fu DoRecordWin(...)
:[7Cwincmd k
:[7Cif exists("a:1")
:[11Ccall cursor(a:1)
:[7Cendif
:[7Clet result=[]
:[7Ccall add(result, g:test)
:[7Ccall add(result, getline(1, '$'))
:[7Ccall add(result, wordcount())
:[7Cwincmd j
:[7Creturn result
:endfu
:fu PutInWindow(args)
:[7Cwincmd k
:[7C%d _[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for wordcount() function[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 121 lines, 2753 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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:[22;1H[?12l[?25h
[?25l
:so! Xdotest
[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset enc=utf8
[?25l[27m[23m[m[H[2J[1;1H: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¤[9;27Hne Mü[9;32Hh', 'und raus bist dü[9;53H!'])
: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[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hnew
[?25l[1;1H[K[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[12;1H[1m[7m[No Name] [m[13;1H0v$y
:set stl= ls=1
:let log=DoRecordWin([3,99,0])[16;9H[2]=g:visual_stat[16;26H[K[17;2Hcall Log()[17;12H[K[18;2H"[18;3H[K[19;2H/^RESULT test/,$w! test.out
:qa![20;5H[K[21;1HENDTEST
RESULT test:
[7mtest_wordcount.in [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hfu DoRecordWin(...)
[?25l
: [?12l[?25h:[34m^I[mwincmd 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:[34m^I[mwincmd j
[?25l: [?12l[?25h: return result
[?25l: [?12l[?25h:endfu
[1;1H[11L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hfu PutInWindow(args)
[?25l
: [?12l[?25h: wincmd k
[?25l: [?12l[?25h: %d _
[?25l: [?12l[?25h: call append(1, a:args)
[?25l: [?12l[?25h:[34m^I[mwincmd j
[?25l: [?12l[?25h:endfu
[1;1H[5L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[4L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?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
[1;1H[5L[?25l[2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [m[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet g:test="Test 1: empty window"
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin()
[?25l[12;1H[7m[No Name][m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [22;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 1: empty window
[[''], {'chars': 0, 'cursor_chars': 0, 'words': 0, 'cursor_words': 0, 'bytes': 00[22;1H, 'cursor_bytes': 0}][23;19H[1m[7m[+][m[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 2: some words, cursor at start"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow('one two three')
[?25l[2;1Hone two three[2;14H[K[12;11H[7m[+][21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([1,1,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 2: some words, cursor at start
[['', 'one two three'], {'chars': 15, 'cursor_chars': 1, 'words': 3, 'cursor_worr[22;1Hds': 0, 'bytes': 15, 'cursor_bytes': 1}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 3: some words, cursor at end"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow('one two three')
[?25l--No lines in buffer--[24;24H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 3: some words, cursor at end
[['', 'one two three'], {'chars': 15, 'cursor_chars': 14, 'words': 3, 'cursor_woo[22;1Hrds': 3, 'bytes': 15, 'cursor_bytes': 14}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 4: some words, cursor at end, ve=all"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset ve=all
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow('one two three')
[?25l--No lines in buffer--[24;24H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 4: some words, cursor at end, ve=all
[['', 'one two three'], {'chars': 15, 'cursor_chars': 15, 'words': 3, 'cursor_woo[22;1Hrds': 3, 'bytes': 15, 'cursor_bytes': 15}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hset ve=
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 5: several lines with words"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['one two three', 'one two three', 'one two three'])
[?25l[3;1Hone two three[3;14H[K[4;1Hone two three[4;14H[K[24;1H--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([4,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 5: several lines with words
[['', 'one two three', 'one two three', 'one two three'], {'chars': 43, 'cursor__[22;1Hchars': 42, 'words': 9, 'cursor_words': 9, 'bytes': 43, 'cursor_bytes': 42}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 6: one line with BOM set"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow('one two three')
[?25l[3;1H[1m[34m~ [4;1H~ [m[24;1H--No lines in buffer--[24;24H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd k
[?25l[12;1H[1m[7m[No Name] [+] [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset bomb
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw! Xtest
[?25l"Xtest" [24;9H[K[24;9H[New File] 2 lines, 18 characters written[12;1H[1m[7mXtesta [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd j
[?25l[12;1H[7mXtest[m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 6: one line with BOM set
[['', 'one two three'], {'chars': 15, 'cursor_chars': 14, 'words': 3, 'cursor_woo[22;1Hrds': 3, 'bytes': 18, 'cursor_bytes': 14}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hwincmd k
[?25l[12;1H[1m[7mXtest [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [2;13H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset nobomb
[?25l[12;7H[1m[7m[+][2;13H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw!
[?25l"Xtest" 2 lines, 15 characters written[12;7H[1m[7m [2;13H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hwincmd j
[?25l[12;1H[7mXtest[m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 7: one line with multibyte words"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh'])
[?25l[2;1HÄne M¤[2;7Hne Mü[2;12Hh[2;13H[K[12;7H[7m[+][m[24;1H--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([2,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 7: one line with multibyte words
[['', 'Äne M¤[21;14Hne Mü[21;19Hh'], {'chars': 14, 'cursor_chars': 13, 'words': 3, 'cursor_worr[22;1Hds': 3, 'bytes': 17, 'cursor_bytes': 16}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 8: several lines with multibyte words"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh', 'und raus bist dü[24;53H!'])
[?25l[3;1Hund raus bist dü[3;17H![3;18H[K[24;1H--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 8: several lines with multibyte words
[['', 'Äne M¤[21;14Hne Mü[21;19Hh', 'und raus bist dü[21;40H!'], {'chars': 32, 'cursor_chars': 31, 'ww[22;1Hords': 7, 'cursor_words': 7, 'bytes': 36, 'cursor_bytes': 35}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 9: visual mode, complete buffer"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh', 'und raus bist dü[24;53H!'])
[?25l--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd k
[?25l[12;1H[1m[7mXtest [+] [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ls=2 stl=%{STL()}
[?25l[12;1H[1m[7m<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[m[23;1H[7m<: 3985, 'words': 579, 'cursor_words': 560, 'bytes': 4153, 'cursor_bytes': 4007}[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h0
[?25l[1;1H[?12l[?25h[?25l[12;2H[1m[7mords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 0, 'visual_[1;1H[?12l[?25h[?25l[m[7m
Äne M¤[2;7Hne Mü[2;12Hh
[mu[7mnd raus bist dü[3;17H! [m[12;2H[1m[7mds': 7, 'bytes': 36, 'visual_chars': 32, 'visual_words': 7, 'visual_bytes': 36}[3;1H[?12l[?25h[?25l[m[1;1H[K[2;1HÄne M¤[2;7Hne Mü[2;12Hh[2;13H[K[3;2Hnd raus bist dü[3;17H![3;18H[K[24;1H3 lines yanked[12;2H[1m[7mursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[1;1H[?12l[?25h[12;16H2,[29C1,[30C3}[2;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset stl= ls=1
[?25l[12;1H[1m[7mXtest [+]a [m[23;1H[7mtest_wordcount.in [+] [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[12;1H[7mXtest [+][m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log[2]=g:visual_stat
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 9: visual mode, complete buffer
[['', 'Äne M¤[21;14Hne Mü[21;19Hh', 'und raus bist dü[21;40H!'], {'chars': 32, 'words': 7, 'bytes': 33[22;1H6, 'visual_chars': 32, 'visual_words': 7, 'visual_bytes': 36}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 10: visual mode (empty)"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh', 'und raus bist dü[24;53H!'])
[?25l--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd k
[?25l[12;1H[1m[7mXtest [+] [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ls=2 stl=%{STL()}
[?25l[12;1H[1m[7m<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[m[23;1H[7m<: 4170, 'words': 606, 'cursor_words': 587, 'bytes': 4342, 'cursor_bytes': 4196}[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h0
[?25l[1;1H[?12l[?25h[?25l[12;2H[1m[7mords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 0, 'visual_[1;1H[?12l[?25h[?25l[?12l[?25h[?25l[12;2Hursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_[1;1H[?12l[?25h[12;16H2,[29C1,[30C3}[2;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset stl= ls=1
[?25l[12;1H[1m[7mXtest [+]a [m[23;1H[7mtest_wordcount.in [+] [2;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[12;1H[7mXtest [+][m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log[2]=g:visual_stat
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 10: visual mode (empty)
[['', 'Äne M¤[21;14Hne Mü[21;19Hh', 'und raus bist dü[21;40H!'], {'chars': 32, 'words': 7, 'bytes': 33[22;1H6, 'visual_chars': 1, 'visual_words': 0, 'visual_bytes': 1}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet g:test="Test 11: visual mode, single line"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall PutInWindow(['Äne M¤[24;27Hne Mü[24;32Hh', 'und raus bist dü[24;53H!'])
[?25l--No lines in buffer--[24;23H[K[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hwincmd k
[?25l[12;1H[1m[7mXtest [+] [m[23;1H[7mtest_wordcount.in [+][m[1m[7m [m[7m [1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hset ls=2 stl=%{STL()}
[?25l[12;1H[1m[7m<ursor_chars': 1, 'words': 7, 'cursor_words': 0, 'bytes': 36, 'cursor_bytes': 1}[m[23;1H[7m<: 4347, 'words': 632, 'cursor_words': 613, 'bytes': 4521, 'cursor_bytes': 4377}[1;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h" start visual mode quickly and select complete buffer
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h2
[?25l[12;16H[1m[7m2,[29C1,[30C3}[2;1H[?12l[?25h[?25l[12;2Hords': 7, 'bytes': 36, 'visual_chars': 1, 'visual_words': 1, 'visual_[8C2}[2;1H[?12l[?25h[?25l[m[7mÄne M¤[2;7Hne Mü[2;12Hh[m[12;2H[1m[7mds': 7, 'bytes': 36, 'visual_chars': 13, 'visual_words': 3, 'visual_bytes': 16}[2;13H[?12l[?25h[?25l[m
Äne M¤[2;7Hne Mü[2;12Hh[12;2H[1m[7mursor_chars': 2, 'words': 7, 'cursor_words': 1, 'bytes': 36, 'cursor_bytes': 3}[2;1H[?12l[?25h[12;2Hsor_chars': 15, 'words': 7, 'cursor_words': 4, 'bytes': 36, 'cursor_bytes': 18}[3;1H[?25l[m[24;1H[K[24;1H:[?12l[?25hset stl= ls=1
[?25l[12;1H[1m[7mXtest [+]s [m[23;1H[7mtest_wordcount.in [+] [3;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log=DoRecordWin([3,99,0])
[?25l[12;1H[7mXtest [+][m[1m[7m [m[7m [m[23;1H[1m[7mtest_wordcount.in [+] [21;1H[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hlet log[2]=g:visual_stat
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall Log()
[?25l[13;22r[13;1H[4M[1;24r[19;1H----
Test 11: visual mode, single line
[['', 'Äne M¤[21;14Hne Mü[21;19Hh', 'und raus bist dü[21;40H!'], {'chars': 32, 'words': 7, 'bytes': 33[22;1H6, 'visual_chars': 13, 'visual_words': 3, 'visual_bytes': 16}][24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25h"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^RESULT test/,$w! test.out
[?25l[31msearch hit BOTTOM, continuing at TOP[m
"test.out" [24;12H[K[24;12H[New File] 34 lines, 1905 characters written[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test11.in" 84 lines, 3366 characters[1;1HTests for autocommands:
- FileWritePre[10Cwriting a compressed file
- FileReadPost[10Creading a compressed file
- BufNewFile[12Creading a file template
- BufReadPre[12Cdecompressing the file to be read
- FilterReadPre[9Csubstituting characters in the temp file
- FilterReadPost[8Csubstituting characters after filtering
- FileReadPre[11Cset options for decompression
- FileReadPost[10Cdecompress 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for autocommands:[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[16;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 48 lines, 2298 characters written[17;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[17;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H:au! FileReadPre *.gz exe 'silent !gzip -d ' . shellescape(expand("<afile>""[2;1H))
:au FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
:au! FileReadPost *.gz '[,']s/l/L/
:$r Xtestfile.gz[13C" Read compressed file
:w[27C" write it, after filtering
:au![13C" remove all autocommands
:e[15C" 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[12;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" drop out when there is no gzip program
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !executable("gzip")
[?25l
: [?12l[?25h: e! test.ok
[?25l: [?12l[?25h: w! test.out
[?25l: [?12l[?25h: qa!
[?25l: [?12l[?25h:endif
[1;1H[4L[?25l[1;1H:au! FileReadPre *.gz exe 'silent !gzip -d ' . shellescape(expand("<afile>""[2;1H))
:au FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
:au! FileReadPost *.gz '[,']s/l/L/[24;1H[K[13;1H[?12l[?25h[?25l[24;1H:[?12l[?25hlet $GZIP = ""
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileChangedShell * echo "caught FileChangedShell"
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset bin
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileWritePre *.gz '[,']!gzip
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau FileWritePost *.gz undo
[?25l[13;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start of testfile/,/^end of testfile/w! Xtestfile.gz
[?25l[?12l[?25h[?25l11 lines filtered[24;18H[K[24;1H
"Xtestfile.gz" [New File][Incomplete last line] 1 line, 111 characters written
10 more lines; before #1 0 seconds ago
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau FileReadPost *.gz '[,']!gzip -d
[?25l[1;1H[3L[1;1H:au FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
:au! FileReadPost *.gz '[,']s/l/L/
:$r Xtestfile.gz[13C" Read compressed file
:w " write it, after filtering
:au! " remove all autocommands[5;43H[K[6;2He[15C" Edit test.out again[6;39H[K[7;2Hset nobin ff& " use the default fileformat for writing
:w[8;18H[K[9;2Hqa![9;6H[K[10;1HENDTEST[11;1H[K[12;1Hstartstart
start of testfile
line 2 Abcdefghijklmnopqrstuvwxyz
line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[16;6H4[17;6H5[18;6H6[19;6H7[20;6H8[21;6H9[22;6H10
end of testfile[23;16H[K[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h$r Xtestfile.gz " Read and decompress the testfile
[?25l"Xtestfile.gz" [24;16H[K[24;16H[Incomplete last line] 1 line, 111 characters
[?12l[?25h[60C[?25l[1;23r[1;1H[7M[1;24r[18;1Hstart of test.c
/*
* Here is a new .c file
*/
end of test.c
start of testfile[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h?startstart?,$w! test.out " Write contents of this file
[?25l"test.out" [24;12H[K[24;12H[New File] 29 lines, 788 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufNewFile *.c read Xtest.c
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^start of test.c/+1,/^end of test.c/-1w! Xtest.c
[?25l[31msearch hit BOTTOM, continuing at TOP[m[24;37H[K[24;1H"Xtest.c" [24;11H[K[24;11H[New File] 3 lines, 32 characters written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! foo.c " Will load Xtest.c
[?25l"foo.c" [New File][24;33H[K[24;1H
"Xtest.c" 3 lines, 32 characters
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau FileAppendPre *.out '[,']s/new/NEW/
[?25l[1;1H[2L[2;1H/*
* Here is a new .c file
*/
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [m[24;1H[K[2;1H[?12l[?25h[?25l[24;1H:[?12l[?25hau FileAppendPost *.out !cat Xtest.c >>test.out
[?25l[2;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw>>test.out " Append it to the output file
[?25l"test.out" [24;12H[K[24;12H4 lines, 33 characters appended
:!cat Xtest.c >>test.out
[?12l[?25h[m
[32mPress ENTER or type command to continue[?25l[m[24;1H[K[24;1H:[?12l[?25hau! FileAppendPre
[?25l[27m[23m[m[H[2J[2;1H/*
* Here is a NEW .c file
*/
[1m[34m~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [3;2H[?12l[?25h[?25l[24;1H[m:[?12l[?25h" setup autocommands to decompress before reading and re-compress afterwards
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPre *.gz exe '!gzip -d ' . shellescape(expand("<afile>"))
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPost *.gz call rename(expand("<afile>"), expand("<afile>:r"))
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau BufReadPost *.gz exe '!gzip ' . shellescape(expand("<afile>:r"))
[?25l[3;2H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! Xtestfile.gz " Edit compressed file
[?25l:!gzip -d 'Xtestfile.gz'[24;33H[K[24;25H
[?12l[?25h[?25l[m"Xtestfile.gz"[23;1H"Xtestfile.gz" 11 lines, 357 characters[24;1H[K[24;1H:!gzip 'Xtestfile'
[?12l[?25h[?25l[mcaught FileChangedShell
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw>>test.out " Append it to the output file
[?25l"test.out" [24;12H[K[24;12H11 lines, 357 characters appended
:!cat Xtest.c >>test.out
[?12l[?25h[m
[32mPress ENTER or type command to continue[?25l[m[24;1H[K[24;1H:[?12l[?25hset shelltemp " need temp files here
[?25l[27m[23m[m[H[2J[1;1Hstart 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
[1m[34m~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[24;1H[m:[?12l[?25hau FilterReadPre *.out call rename(expand("<afile>"), expand("<afile>") . "
[23;80H.[24;1Ht")
[?25l[1;1H[L[1;1Hstart of testfile[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hau FilterReadPre *.out exe 'silent !sed s/e/E/ ' . shellescape(expand("<afi
[23;80Hl[24;1He>")) . ".t >" . shellescape(expand("<afile>"))
[?25l[1;1H[L[1;1Hstart of testfile[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hau FilterReadPre *.out exe 'silent !rm ' . shellescape(expand("<afile>")) .
'.t'
[?25l[1;1H[L[1;1Hstart of testfile[24;1H[K[1;1H[?12l[?25h[?25l[24;1H:[?12l[?25hau FilterReadPost *.out '[,']s/x/X/g
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25he! test.out " Edit the output file
[?25l"test.out" [24;12H[K[24;12H50 lines, 1242 characters[1;6Hstar[1;11H[K[2;1Hstart of testfile[2;18H[K[3;6H2 Abcdefghijklmnopqrstuvwxyz[3;35H[K[4;6H3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[5;6H4 Abcdefghijklmnopqrstuvwxyz[5;35H[K[6;6H5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[7;6H6 Abcdefghijklmnopqrstuvwxyz[7;35H[K[8;6H7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[9;6H8 Abcdefghijklmnopqrstuvwxyz[9;35H[K[10;6H9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 10 Abcdefghijklmnopqrstuvwxyz
end of testfile[12;16H[K[13;1H[K[14;1Hstart of test.c[14;16H[K[15;1H/*[15;3H[K[16;1H * Here is a new .c file[16;25H[K[17;1H */[17;4H[K[18;1Hend of test.c[18;14H[K[19;1Hstart of testfile[19;18H[K[20;1Hline 2 Abcdefghijklmnopqrstuvwxyz[20;35H[K[21;1Hline 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[21;39H[K[22;1Hline 4 Abcdefghijklmnopqrstuvwxyz[22;35H[K[23;1Hline 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[23;39H[K[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h23,$!cat
[?25l[?12l[?25h[?25l218 substitutions on 15 lines
28 lines filtered
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25h23,$s/\r$// " remove CR for when sed adds them
[?25l[1m[37m[41mE486: Pattern not found: \r$[m[24;30H[K[24;1H
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau! FileReadPre *.gz exe 'silent !gzip -d ' . shellescape(expand("<afile>
[23;80H"[24;1H))
[?25l[1;1H[4L[1;1Hstartstart
start of testfile
line 2 Abcdefghijklmnopqrstuvwxyz
line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[23;4HE 5 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hau FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hau! FileReadPost *.gz '[,']s/l/L/
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$r Xtestfile.gz " Read compressed file
[?25l[?12l[?25h[?25l"Xtestfile.gz" [24;16H[K[24;16H11 lines, 357 characters
11 substitutions on 11 lines
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hw " write it, after filtering
[?25l"test.out"[24;30H[K[24;12H61 lines, 1599 characters written
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25hau! " remove all autocommands
[?25l[1m[37m[41mE216: No such group or event: " remove all autocommands[m
[32mPress ENTER or type command to continue[?12l[?25h[?25l[m[24;1H[K[24;1H:[?12l[?25he " Edit test.out again
[?25l"test.out"[24;18H[K[24;12H61 lines, 1599 characters[1;1H[4L[1;1Hstartstart
start of testfile
line 2 Abcdefghijklmnopqrstuvwxyz
line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[24;1H[K[24;1H"test.out" 61 lines, 1599 characters[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nobin ff& " use the default fileformat for writing
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hw
[?25l"test.out" 61 lines, 1599 characters written[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test52.in" 65 lines, 1645 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for reading and writing files with conversion for Win32.[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 57 lines, 1333 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[24;1H:so! Xdotest
[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso mbyte.vim
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" make this a dummy test for non-Win32 systems
[?25l[19;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has("win32") | e! test.ok | wq! test.out | endif
[?25l"test.ok" [24;11H[K[24;11H18 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test85.in" 85 lines, 1868 characters[1;1HTest 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)[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTest for Lua interface and luaeval() function[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 77 lines, 1775 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: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[19;1H[?12l[?25h
[?25l[24;1H:so! Xdotest
[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso lua.vim
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset nocompatible viminfo+=nviminfo
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l = vim.list():add"item0":add"dictionary with list OK":add"item2"
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua h = vim.dict(); h.list = l
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hcall garbagecollect()
[?25l[20;1H[?12l[?25h[?25l[24;1H[K[24;1H/[?12l[?25h^1
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" change buffer contents
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua curbuf = vim.buffer()
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua curline = vim.eval"line('.')"
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua curbuf[curline] = "1 changed line 1"
[?25l[21;3Hchanged line 1
[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" scalar test
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tmp_string = luaeval('"string"')
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tmp_1000 = luaeval('1000')
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1H:lua d = vim.eval("d")
:lua d[0] = 123
:lua d[1] = "abc"
:lua d[2] = vim.eval("[1, 2, 3]")[24;1H[K[21;1H[?12l[?25h[?25l
:[?12l[?25hcall append(search("^1"), "scalar test " . scalar_res)
[?25l[22;1Hscalar test OK
2 line 2[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h" dictionary containing a list
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet tmp = luaeval("h").list[1]
[?25l[21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h/^2/put =tmp
[?25l[1;23r[23;1H
[1;24r[23;1Hdictionary with list OK[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h" circular list (at the same time test lists containing lists)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[2] = l
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlet l2 = luaeval("h").list
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[1;1H[4L[?25l[1;1H: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}")[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hcall setline(search("^3"), "circular test " . res)
[?25l[1;23r[23;1H
[1;24r[23;1Hcircular test OK[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet l = []
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l = vim.eval("l")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:add(123)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:add("abc")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:add(vim.eval("[1, 2, 3]"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:add(vim.eval("{'a':1, 'b':2, 'c':3}"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:insert(123)
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:insert("abc")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:insert(vim.eval("[1, 2, 3]"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l:insert(vim.eval("{'a':1, 'b':2, 'c':3}"))
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[0] = l[0]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[1] = l[1]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[2] = l[2]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[3] = l[3]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[0] = 123
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[1] = "abc"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[2] = vim.eval("[1, 2, 3]")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[3] = vim.eval("{'a':1, 'b':2, 'c':3}")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[3] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[2] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[1] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l[0] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua l = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(l)
[?25l[1;23r[23;1H
[1;24r[23;1H[123.0, 'abc', [1, 2, 3], {'a': 1, 'b': 2, 'c': 3}][24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25hlet d = {}
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d = vim.eval("d")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[0] = 123
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[1] = "abc"
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[2] = vim.eval("[1, 2, 3]")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[3] = vim.eval("{'a':1, 'b':2, 'c':3}")
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[4] = d[0]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[5] = d[1]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[6] = d[2]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[7] = d[3]
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[3] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[2] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[1] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d[0] = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlua d = nil
[?25l[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25h$put =string(d)
[?25l[1;23r[23;1H
[1;24r[23;1H{'4': 123.0, '5': 'abc', '6': [1, 2, 3], '7': {'a': 1, 'b': 2, 'c': 3}}[24;1H[K[23;1H[?12l[?25h[?25l
:[?12l[?25h?^1?,$w! test.out
[?25l"test.out" [24;12H[K[24;12H[New] 7L, 206C written[23;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hqa!
[?25l[24;1H[K[24;1H[?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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test86.in" 1711 lines, 48481 characters[1;1HTests 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])[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for various python features. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[8;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1700 lines, 48188 characters written[9;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[9;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: endif
: call Test()
: if i == 0
:[7Clet 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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset encoding=latin1
[?25l[27m[23m[m[H[2J[1;1H: endif
: call Test()
: if i == 0
:[7Clet 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:[22;1H[?12l[?25h[?25l
:[?12l[?25hset noswapfile
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has('python') | e! test.ok | wq! test.out | endif
[?25l"test.ok" [24;11H[K[24;11H1445 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=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"test87.in" 1707 lines, 49069 characters[1;1HTests 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[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset cp
[?25l[1;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hmap dotest /^STARTTEST^[34m^M[mj:set ff=unix cpo-=A^[34m^M[m:.,/ENDTEST/-1w! Xdotest^[34m^M[m:set f
[23;80Hf[24;1H& cpo+=A^[34m^M[mnj0:so! Xdotest^[34m^M[mdotest
[?25l[1;1H[L[1;1HTests for various python features. vim: set ft=vim :[24;1H[K[1;1H[?12l[?25h[?25l[24;1H/^STARTTEST
[3;1H[?12l[?25h
[?25l[24;1H[K[24;1H:set ff=unix cpo-=A
[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:.,/ENDTEST/-1w! Xdotest
"Xdotest" [24;11H[K[24;11H[New File] 1701 lines, 48985 characters written[4;1H[?12l[?25h[?25l[24;1H[K[24;1H:set ff& cpo+=A
[4;1H[?12l[?25h[?25l[24;1H/ENDTEST[24;10H[K[24;1H[27m[23m[m[H[2J[1;1H: call Test()
: if i == 0
:[7Clet 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:[21;1H[?12l[?25h
[?25l
:so! Xdotest
[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hso small.vim
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hset noswapfile
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hif !has('python3') | e! test.ok | wq! test.out | endif
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hlang C
[?25l[22;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?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
[23;80Hr[24;1H 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
[23;80Ht[24;1Hr(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(
[23;80He[24;1H).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
[23;80Ht[24;1H ({1} given)'.format(m.group(1), m.group(2))
[?25l: [?12l[?25h cb.append(expr + ':' + repr((e.__class__, TypeError(ms
[23;80Hg[24;1H))))
[?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
[23;80Ha[24;1Hnd str(e) == 'embedded null byte':
[?25l: [?12l[?25h cb.append(expr + ':' + repr((TypeError, TypeError('expecte
[23;80Hd[24;1H 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:[8C[?12l[?25h: return ['DictNewStart']+a:000+['DictNewEnd', self]
[?25l:[8C[?12l[?25h:endfun
[?25l:[8C[?12l[?25h:let l=[function('New'), function('DictNew')]
[?25l:[8C[?12l[?25h:py3 l=vim.bindeval('l')
[?25l:[8C[?12l[?25h:py3 l.extend(list(l[0](1, 2, 3)))
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:py3 l.extend(list(l[1](1, 2, 3, self={'a': 'b'})))
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:py3 l+=[l[0].name]
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:py3 ee('l[1](1, 2, 3)')
[?25l:[8C[?12l[?25h:py3 f=l[0]
[?25l:[8C[?12l[?25h:delfunction New
[?25l:[8C[?12l[?25h:py3 ee('f(1, 2, 3)')
[?25l:[8C[?12l[?25h:if has('float')
[?25l:[10C[?12l[?25h: let l=[0.0]
[?25l:[10C[?12l[?25h: py3 l=vim.bindeval('l')
[?25l:[10C[?12l[?25h: py3 l.extend([0.0])
[?25l:[10C[?12l[?25h: $put =string(l)
[?25l:[10C[?12l[?25h:else
[?25l:[10C[?12l[?25h: $put ='[0.0, 0.0]'
[?25l:[10C[?12l[?25h:endif
[?25l:[8C[?12l[?25h:let messages=[]
[?25l:[8C[?12l[?25h:delfunction DictNew
[?25l:[8C[?12l[?25hpy3 <<EOF
[?25l:[8C[?12l[?25himport sys
[?25l:[8C[?12l[?25hd=vim.bindeval('{}')
[?25l:[8C[?12l[?25hm=vim.bindeval('messages')
[?25l:[8C[?12l[?25hdef em(expr, g=globals(), l=locals()):
[?25l:[8C[?12l[?25h try:
[?25l:[8C[?12l[?25h exec(expr, g, l)
[?25l:[8C[?12l[?25h except Exception as e:
[?25l:[8C[?12l[?25h if sys.version_info >= (3, 5) and e.__class__ is ValueError an
[23;80Hd[24;1H str(e) == 'embedded null byte':
[?25l:[8C[?12l[?25h m.extend([TypeError.__name__])
[?25l:[8C[?12l[?25h else:
[?25l:[8C[?12l[?25h m.extend([e.__class__.__name__])
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25hem('d["abc1"]')
[?25l:[8C[?12l[?25hem('d["abc1"]="\\0"')
[?25l:[8C[?12l[?25hem('d["abc1"]=vim')
[?25l:[8C[?12l[?25hem('d[""]=1')
[?25l:[8C[?12l[?25hem('d["a\\0b"]=1')
[?25l:[8C[?12l[?25hem('d[b"a\\0b"]=1')
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25hem('d.pop("abc1")')
[?25l:[8C[?12l[?25hem('d.popitem()')
[?25l:[8C[?12l[?25hdel em
[?25l:[8C[?12l[?25hdel m
[?25l:[8C[?12l[?25hEOF
[?25l:[8C[?12l[?25h:$put =messages
[?25l:[8C[?12l[?25h:unlet messages
[?25l:[8C[?12l[?25h:" locked and scope attributes
[?25l:[8C[?12l[?25h:let d={} | let dl={} | lockvar dl
[?25l:[8C[?12l[?25h:for s in split("d dl v: g:")
[?25l:[10C[?12l[?25h: let name=tr(s, ':', 's')
[?25l:[10C[?12l[?25h: execute 'py3 '.name.'=vim.bindeval("'.s.'")'
[?25l:[10C[?12l[?25h: let toput=s.' : '.join(map(['locked', 'scope'], 'v:val.":".py3e
[23;80Hv[24;1Hal(name.".".v:val)'), ';')
[?25l:[10C[?12l[?25h: $put =toput
[?25l:[10C[?12l[?25h:endfor
[?25l:[8C[?12l[?25h:silent! let d.abc2=1
[?25l:[8C[?12l[?25h:silent! let dl.abc3=1
[?25l:[8C[?12l[?25h:py3 d.locked=True
[?25l:[8C[?12l[?25h:py3 dl.locked=False
[?25l:[8C[?12l[?25h:silent! let d.def=1
[?25l:[8C[?12l[?25h:silent! let dl.def=1
[?25l:[8C[?12l[?25h:put ='d:'.string(d)
[?25l:[8C[?12l[?25h:put ='dl:'.string(dl)
[?25l:[8C[?12l[?25h:unlet d dl
[?25l:[8C[?12l[?25h:
[?25l:[8C[?12l[?25h:let l=[] | let ll=[] | lockvar ll
[?25l:[8C[?12l[?25h:for s in split("l ll")
[?25l:[10C[?12l[?25h: let name=tr(s, ':', 's')
[?25l:[10C[?12l[?25h: execute 'py3 '.name.'=vim.bindeval("'.s.'")'
[?25l:[10C[?12l[?25h: let toput=s.' : locked:'.py3eval(name.'.locked')
[?25l:[10C[?12l[?25h: $put =toput
[?25l:[10C[?12l[?25h:endfor
[?25l:[8C[?12l[?25h:silent! call extend(l, [0])
[?25l:[8C[?12l[?25h:silent! call extend(ll, [0])
[?25l:[8C[?12l[?25h:py3 l.locked=True
[?25l:[8C[?12l[?25h:py3 ll.locked=False
[?25l:[8C[?12l[?25h:silent! call extend(l, [1])
[?25l:[8C[?12l[?25h:silent! call extend(ll, [1])
[?25l:[8C[?12l[?25h:put ='l:'.string(l)
[?25l:[8C[?12l[?25h:put ='ll:'.string(ll)
[?25l:[8C[?12l[?25h:unlet l ll
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" py3eval()
[?25l:[8C[?12l[?25h:let l=py3eval('[0, 1, 2]')
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:let d=py3eval('{"a": "b", "c": 1, "d": ["e"]}')
[?25l:[8C[?12l[?25h:$put =sort(items(d))
[?25l:[8C[?12l[?25h:let v:errmsg = ''
[?25l:[8C[?12l[?25h:$put ='py3eval(\"None\") = ' . py3eval('None') . v:errmsg
[?25l:[8C[?12l[?25h:if has('float')
[?25l:[10C[?12l[?25h: let f=py3eval('0.0')
[?25l:[10C[?12l[?25h: $put =string(f)
[?25l:[10C[?12l[?25h:else
[?25l:[10C[?12l[?25h: $put ='0.0'
[?25l:[10C[?12l[?25h:endif
[?25l:[8C[?12l[?25h:" Invalid values:
[?25l:[8C[?12l[?25h:for e in ['"\0"', '{"\0": 1}', 'undefined_name', 'vim']
[?25l:[10C[?12l[?25h: try
[?25l:[12C[?12l[?25h: let v=py3eval(e)
[?25l:[12C[?12l[?25h: catch
[?25l:[12C[?12l[?25h: let toput=e.":\t".v:exception[:13]
[?25l:[12C[?12l[?25h: $put =toput
[?25l:[12C[?12l[?25h: endtry
[?25l:[10C[?12l[?25h:endfor
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" threading
[?25l:[8C[?12l[?25h:let l = [0]
[?25l:[8C[?12l[?25h:py3 l=vim.bindeval('l')
[?25l:[8C[?12l[?25hpy3 <<EOF
[?25l:[8C[?12l[?25himport threading
[?25l:[8C[?12l[?25himport time
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25hclass T(threading.Thread):
[?25l:[8C[?12l[?25h def __init__(self):
[?25l:[8C[?12l[?25h threading.Thread.__init__(self)
[?25l:[8C[?12l[?25h self.t = 0
[?25l:[8C[?12l[?25h self.running = True
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25h def run(self):
[?25l:[8C[?12l[?25h while self.running:
[?25l:[8C[?12l[?25h self.t += 1
[?25l:[8C[?12l[?25h time.sleep(0.1)
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25ht = T()
[?25l:[8C[?12l[?25hdel T
[?25l:[8C[?12l[?25ht.start()
[?25l:[8C[?12l[?25hEOF
[?25l:[8C[?12l[?25h:sleep 1
[?25l:[8C[?12l[?25h:py3 t.running = False
[?25l:[8C[?12l[?25h:py3 t.join()
[?25l:[8C[?12l[?25h:" Check if the background thread is working. Count should be 10, but
on a
[?25l:[8C[?12l[?25h:" busy system (AppVeyor) it can be much lower.
[?25l:[8C[?12l[?25h:py3 l[0] = t.t > 4
[?25l:[8C[?12l[?25h:py3 del time
[?25l:[8C[?12l[?25h:py3 del threading
[?25l:[8C[?12l[?25h:py3 del t
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" settrace
[?25l:[8C[?12l[?25h:let l = []
[?25l:[8C[?12l[?25h:py3 l=vim.bindeval('l')
[?25l:[8C[?12l[?25hpy3 <<EOF
[?25l:[8C[?12l[?25himport sys
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25hdef traceit(frame, event, arg):
[?25l:[8C[?12l[?25h global l
[?25l:[8C[?12l[?25h if event == "line":
[?25l:[8C[?12l[?25h l += [frame.f_lineno]
[?25l:[8C[?12l[?25h return traceit
[?25l:[8C[?12l[?25h
[?25l:[8C[?12l[?25hdef trace_main():
[?25l:[8C[?12l[?25h for i in range(5):
[?25l:[8C[?12l[?25h pass
[?25l:[8C[?12l[?25hEOF
[?25l:[8C[?12l[?25h:py3 sys.settrace(traceit)
[?25l:[8C[?12l[?25h:py3 trace_main()
[?25l:[8C[?12l[?25h:py3 sys.settrace(None)
[?25l:[8C[?12l[?25h:py3 del traceit
[?25l:[8C[?12l[?25h:py3 del trace_main
[?25l:[8C[?12l[?25h:$put =string(l)
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Slice
[?25l:[8C[?12l[?25h:py3 ll = vim.bindeval('[0, 1, 2, 3, 4, 5]')
[?25l:[8C[?12l[?25h:py3 l = ll[:4]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[2:]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[:-4]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[-2:]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[2:4]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[4:2]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[-4:-2]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[-2:-4]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[:]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[0:6]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[-10:10]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[4:2:-1]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[::2]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 l = ll[4:2:1]
[?25l:[8C[?12l[?25h:$put =string(py3eval('l'))
[?25l:[8C[?12l[?25h:py3 del l
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Vars
[?25l:[8C[?12l[?25h:let g:foo = 'bac'
[?25l:[8C[?12l[?25h:let w:abc3 = 'def'
[?25l:[8C[?12l[?25h:let b:baz = 'bar'
[?25l:[8C[?12l[?25h:let t:bar = 'jkl'
[?25l:[8C[?12l[?25h:try
[?25l:[10C[?12l[?25h: throw "Abc"
[?25l:[10C[?12l[?25h:catch
[?25l:[10C[?12l[?25h: put =py3eval('vim.vvars[''exception'']')
[?25l:[10C[?12l[?25h:endtry
[?25l:[8C[?12l[?25h:put =py3eval('vim.vars[''foo'']')
[?25l:[8C[?12l[?25h:put =py3eval('vim.current.window.vars[''abc3'']')
[?25l:[8C[?12l[?25h:put =py3eval('vim.current.buffer.vars[''baz'']')
[?25l:[8C[?12l[?25h:put =py3eval('vim.current.tabpage.vars[''bar'']')
[?25l:[8C[?12l[?25h:"
[?25l:[8C[?12l[?25h:" Options
[?25l:[8C[?12l[?25h:" paste: boolean, global
[?25l:[8C[?12l[?25h:" previewheight number, global
[?25l:[8C[?12l[?25h:" operatorfunc: string, global
[?25l:[8C[?12l[?25h:" number: boolean, window-local
[?25l:[8C[?12l[?25h:" numberwidth: number, window-local
[?25l:[8C[?12l[?25h:" colorcolumn: string, window-local
[?25l:[8C[?12l[?25h:" statusline: string, window-local/global
[?25l:[8C[?12l[?25h:" autoindent: boolean, buffer-local
[?25l:[8C[?12l[?25h:" shiftwidth: number, buffer-local
[?25l:[8C[?12l[?25h:" omnifunc: string, buffer-local
[?25l:[8C[?12l[?25h:" preserveindent: boolean, buffer-local/global
[?25l:[8C[?12l[?25h:" path: string, buffer-local/global
[?25l:[8C[?12l[?25h:let g:bufs=[bufnr('%')]
[?25l:[8C[?12l[?25h:new
[?25l:[8C[?12l[?25h:let g:bufs+=[bufnr('%')]
[?25l:[8C[?12l[?25h:vnew
[?25l:[8C[?12l[?25h:let g:bufs+=[bufnr('%')]
[?25l:[8C[?12l[?25h:wincmd j
[?25l:[8C[?12l[?25h:vnew
[?25l:[8C[?12l[?25h:let g:bufs+=[bufnr('%')]
[?25l:[8C[?12l[?25h:wincmd l
[?25l:[8C[?12l[?25h:fun RecVars(opt)
[?25l:[10C[?12l[?25h: let gval =string(eval('&g:'.a:opt))
[?25l:[10C[?12l[?25h: let wvals=join(map(range(1, 4), 'v:val.":".string(getwinvar(v:va
[23;80Hl[24;1H, "&".a:opt))'))
[?25l:[10C[?12l[?25h: let bvals=join(map(copy(g:bufs), 'v:val.":".string(getbufvar(v:va
[23;80Hl[24;1H, "&".a:opt))'))
[?25l:[10C[?12l[?25h: put =' G: '.gval
[?25l:[10C[?12l[?25h: put =' W: '.wvals
[?25l:[10C[?12l[?25h: put =' B: '.wvals
[?25l:[10C[?12l[?25h:endfun
[?25l:[10C[?12l[?25hpy3 << EOF
[?25l:[10C[?12l[?25hdef e(s, g=globals(), l=locals()):
[?25l:[10C[?12l[?25h try:
[?25l:[10C[?12l[?25h exec(s, g, l)
[?25l:[10C[?12l[?25h except Exception as e:
[?25l:[10C[?12l[?25h vim.command('return ' + repr(e.__class__.__name__))
[?25l:[10C[?12l[?25h
[?25l:[10C[?12l[?25hdef ev(s, g=globals(), l=locals()):
[?25l:[10C[?12l[?25h try:
[?25l:[10C[?12l[?25h return eval(s, g, l)
[?25l:[10C[?12l[?25h except Exception as e:
[?25l:[10C[?12l[?25h vim.command('let exc=' + repr(e.__class__.__name__))
[?25l:[10C[?12l[?25h return 0
[?25l:[10C[?12l[?25hEOF
[?25l:[10C[?12l[?25h:fun E(s)
[?25l:[12C[?12l[?25h: python3 e(vim.eval('a:s'))
[?25l:[12C[?12l[?25h:endfun
[?25l:[12C[?12l[?25h:fun Ev(s)
[?25l:[14C[?12l[?25h: let r=py3eval('ev(vim.eval("a:s"))')
[?25l:[14C[?12l[?25h: if exists('exc')
[?25l:[16C[?12l[?25h: throw exc
[?25l:[16C[?12l[?25h: endif
[?25l:[14C[?12l[?25h: return r
[?25l:[14C[?12l[?25h:endfun
[?25l:[14C[?12l[?25h:py3 gopts1=vim.options
[?25l:[14C[?12l[?25h:py3 wopts1=vim.windows[2].options
[?25l:[14C[?12l[?25h:py3 wopts2=vim.windows[0].options
[?25l:[14C[?12l[?25h:py3 wopts3=vim.windows[1].options
[?25l:[14C[?12l[?25h:py3 bopts1=vim.buffers[vim.bindeval("g:bufs")[2]].options
[?25l:[14C[?12l[?25h:py3 bopts2=vim.buffers[vim.bindeval("g:bufs")[1]].options
[?25l:[14C[?12l[?25h:py3 bopts3=vim.buffers[vim.bindeval("g:bufs")[0]].options
[?25l:[14C[?12l[?25h:$put ='wopts iters equal: '.py3eval('list(wopts1) == list(wopts
[23;80H2[24;1H)')
[?25l:[14C[?12l[?25h:$put ='bopts iters equal: '.py3eval('list(bopts1) == list(bopts
[23;80H2[24;1H)')
[?25l:[14C[?12l[?25h:py3 gset=set(iter(gopts1))
[?25l:[14C[?12l[?25h:py3 wset=set(iter(wopts1))
[?25l:[14C[?12l[?25h:py3 bset=set(iter(bopts1))
[?25l:[14C[?12l[?25h:set path=.,..,,
[?25l:[14C[?12l[?25h:let lst=[]
[?25l:[14C[?12l[?25h:let lst+=[['paste', 1, 0, 1, 2, 1,
1, 0 ]]
[?25l:[14C[?12l[?25h:let lst+=[['previewheight', 5, 1, 6, 'a', 0,
1, 0 ]]
[?25l:[14C[?12l[?25h:let lst+=[['operatorfunc', 'A', 'B', 'C', 2, 0,
1, 0 ]]
[?25l:[14C[?12l[?25h:let lst+=[['number', 0, 1, 1, 0, 1,
0, 1 ]]
[?25l:[14C[?12l[?25h:let lst+=[['numberwidth', 2, 3, 5, -100, 0,
0, 1 ]]
[?25l:[14C[?12l[?25h:let lst+=[['colorcolumn', '+1', '+2', '+3', 'abc4', 0,
0, 1 ]]
[?25l:[14C[?12l[?25h:let lst+=[['statusline', '1', '2', '4', 0, 0,
1, 1 ]]
[?25l:[14C[?12l[?25h:let lst+=[['autoindent', 0, 1, 1, 2, 1,
0, 2 ]]
[?25l:[14C[?12l[?25h:let lst+=[['shiftwidth', 0, 2, 1, 3, 0,
0, 2 ]]
[?25l:[14C[?12l[?25h:let lst+=[['omnifunc', 'A', 'B', 'C', 1, 0,
0, 2 ]]
[?25l:[14C[?12l[?25h:let lst+=[['preserveindent', 0, 1, 1, 2, 1,
1, 2 ]]
[?25l:[14C[?12l[?25h:let lst+=[['path', '.,,', ',,', '.', 0, 0,
1, 2 ]]
[?25l:[14C[?12l[?25h:for [oname, oval1, oval2, oval3, invval, bool,
global, local] in lst
[?25l:[16C[?12l[?25h: py3 oname=vim.eval('oname')
[?25l:[16C[?12l[?25h: py3 oval1=vim.bindeval('oval1')
[?25l:[16C[?12l[?25h: py3 oval2=vim.bindeval('oval2')
[?25l:[16C[?12l[?25h: py3 oval3=vim.bindeval('oval3')
[?25l:[16C[?12l[?25h: if invval is 0 || invval is 1
[?25l:[18C[?12l[?25h: py3 invval=bool(vim.bindeval('invval'))
[?25l:[18C[?12l[?25h: else
[?25l:[18C[?12l[?25h: py3 invval=vim.bindeval('invval')
[?25l:[18C[?12l[?25h: endif
[?25l:[16C[?12l[?25h: if bool
[?25l:[18C[?12l[?25h: py3 oval1=bool(oval1)
[?25l:[18C[?12l[?25h: py3 oval2=bool(oval2)
[?25l:[18C[?12l[?25h: py3 oval3=bool(oval3)
[?25l:[18C[?12l[?25h: endif
[?25l:[16C[?12l[?25h: put ='>>> '.oname
[?25l:[16C[?12l[?25h: $put =' g/w/b:'.py3eval('oname in gset').'/'.py3eval('ona
[23;80Hm[24;1He in wset').'/'.py3eval('oname in bset')
[?25l:[16C[?12l[?25h: $put =' g/w/b (in):'.py3eval('oname in gopts1').'/'.py3ev
[23;80Ha[24;1Hl('oname in wopts1').'/'.py3eval('oname in bopts1')
[?25l:[16C[?12l[?25h: for v in ['gopts1', 'wopts1', 'bopts1']
[?25l:[18C[?12l[?25h: try
[?25l:[20C[?12l[?25h: put =' p/'.v.': '.Ev('repr('.v.'['''.oname.''
[23;80H'[24;1H])')
[?25l:[20C[?12l[?25h: catch
[?25l:[20C[?12l[?25h: put =' p/'.v.'! '.v:exception
[?25l:[20C[?12l[?25h: endtry
[?25l:[18C[?12l[?25h: let r=E(v.'['''.oname.''']=invval')
[?25l:[18C[?12l[?25h: if r isnot 0
[?25l:[20C[?12l[?25h: put =' inv: '.string(invval).'! '.r
[?25l:[20C[?12l[?25h: endif
[?25l:[18C[?12l[?25h: for vv in (v is# 'gopts1' ? [v] : [v, v[:-2].'2', v[
[23;80H:[24;1H-2].'3'])
[?25l:[20C[?12l[?25h: let val=substitute(vv, '^.opts', 'oval', '')
[?25l:[20C[?12l[?25h: let r=E(vv.'['''.oname.''']='.val)
[?25l:[20C[?12l[?25h: if r isnot 0
[?25l:[22C[?12l[?25h: put =' '.vv.'! '.r
[?25l:[22C[?12l[?25h: endif
[?25l:[20C[?12l[?25h: endfor
[?25l:[18C[?12l[?25h: endfor
[?25l:[16C[?12l[?25h: call RecVars(oname)
[?25l:[16C[?12l[?25h: for v in ['wopts3', 'bopts3']
[?25l:[18C[?12l[?25h: let r=E('del '.v.'["'.oname.'"]')
[?25l:[18C[?12l[?25h: if r isnot 0
[?25l:[20C[?12l[?25h: put =' del '.v.'! '.r
[?25l:[20C[?12l[?25h: endif
[?25l:[18C[?12l[?25h: endfor
[?25l:[16C[?12l[?25h: call RecVars(oname)
[?25l:[16C[?12l[?25h:endfor
[?25l:[14C[?12l[?25h:delfunction RecVars
[?25l:[14C[?12l[?25h:delfunction E
[?25l:[14C[?12l[?25h:delfunction Ev
[?25l:[14C[?12l[?25h:py3 del ev
[?25l:[14C[?12l[?25h:py3 del e
[?25l:[14C[?12l[?25h:only
[?25l:[14C[?12l[?25h:for buf in g:bufs[1:]
[?25l:[16C[?12l[?25h: execute 'bwipeout!' buf
[?25l:[16C[?12l[?25h:endfor
[?25l:[14C[?12l[?25h:py3 del gopts1
[?25l:[14C[?12l[?25h:py3 del wopts1
[?25l:[14C[?12l[?25h:py3 del wopts2
[?25l:[14C[?12l[?25h:py3 del wopts3
[?25l:[14C[?12l[?25h:py3 del bopts1
[?25l:[14C[?12l[?25h:py3 del bopts2
[?25l:[14C[?12l[?25h:py3 del bopts3
[?25l:[14C[?12l[?25h:py3 del oval1
[?25l:[14C[?12l[?25h:py3 del oval2
[?25l:[14C[?12l[?25h:py3 del oval3
[?25l:[14C[?12l[?25h:py3 del oname
[?25l:[14C[?12l[?25h:py3 del invval
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test buffer object
[?25l:[14C[?12l[?25h:vnew
[?25l:[14C[?12l[?25h:put ='First line'
[?25l:[14C[?12l[?25h:put ='Second line'
[?25l:[14C[?12l[?25h:put ='Third line'
[?25l:[14C[?12l[?25h:1 delete _
[?25l:[14C[?12l[?25h:py3 b=vim.current.buffer
[?25l:[14C[?12l[?25h:wincmd w
[?25l:[14C[?12l[?25h:mark a
[?25l:[14C[?12l[?25h:augroup BUFS
[?25l:[14C[?12l[?25h: autocmd BufFilePost * python3 cb.append(vim.eval('expand("<a
[23;80Hb[24;1Huf>")') + ':BufFilePost:' + vim.eval('bufnr("%")'))
[?25l:[14C[?12l[?25h: autocmd BufFilePre * python3 cb.append(vim.eval('expand("<ab
[23;80Hu[24;1Hf>")') + ':BufFilePre:' + vim.eval('bufnr("%")'))
[?25l:[14C[?12l[?25h:augroup END
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25h# Tests BufferAppend and BufferItem
[?25l:[14C[?12l[?25hcb.append(b[0])
[?25l:[14C[?12l[?25h# Tests BufferSlice and BufferAssSlice
[?25l:[14C[?12l[?25hcb.append('abc5') # Will be overwritten
[?25l:[14C[?12l[?25hcb[-1:] = b[:-2]
[?25l:[14C[?12l[?25h# Test BufferLength and BufferAssSlice
[?25l:[14C[?12l[?25hcb.append('def') # Will not be overwritten
[?25l:[14C[?12l[?25hcb[len(cb):] = b[:]
[?25l:[14C[?12l[?25h# Test BufferAssItem and BufferMark
[?25l:[14C[?12l[?25hcb.append('ghi') # Will be overwritten
[?25l:[14C[?12l[?25hcb[-1] = repr((len(cb) - cb.mark('a')[0], cb.mark('a')[1]))
[?25l:[14C[?12l[?25h# Test BufferRepr
[?25l:[14C[?12l[?25hcb.append(repr(cb) + repr(b))
[?25l:[14C[?12l[?25h# Modify foreign buffer
[?25l:[14C[?12l[?25hb.append('foo')
[?25l:[14C[?12l[?25hb[0]='bar'
[?25l:[14C[?12l[?25hb[0:0]=['baz']
[?25l:[14C[?12l[?25hvim.command('call append("$", getbufline(%i, 1, "$"))' % b.numbe
[23;80Hr[24;1H)
[?25l:[14C[?12l[?25h# Test assigning to name property
[?25l:[14C[?12l[?25himport os
[?25l:[14C[?12l[?25hold_name = cb.name
[?25l:[14C[?12l[?25hcb.name = 'foo'
[?25l:[14C[?12l[?25hcb.append(cb.name[-11:].replace(os.path.sep, '/'))
[?25l:[14C[?12l[?25hb.name = 'bar'
[?25l:[14C[?12l[?25hcb.append(b.name[-11:].replace(os.path.sep, '/'))
[?25l:[14C[?12l[?25hcb.name = old_name
[?25l:[14C[?12l[?25hcb.append(cb.name[-17:].replace(os.path.sep, '/'))
[?25l:[14C[?12l[?25hdel old_name
[?25l:[14C[?12l[?25h# Test CheckBuffer
[?25l:[14C[?12l[?25hfor _b in vim.buffers:
[?25l:[14C[?12l[?25h if _b is not cb:
[?25l:[14C[?12l[?25h vim.command('bwipeout! ' + str(_b.number))
[?25l:[14C[?12l[?25hdel _b
[?25l:[14C[?12l[?25hcb.append('valid: b:%s, cb:%s' % (repr(b.valid), repr(cb.valid))
[23;80H)[24;1H
[?25l:[14C[?12l[?25hfor expr in ('b[1]','b[:] = ["A", "B"]','b[:]','b.append("abc6")
[23;80H'[24;1H):
[?25l:[14C[?12l[?25h try:
[?25l:[14C[?12l[?25h exec(expr)
[?25l:[14C[?12l[?25h except vim.error:
[?25l:[14C[?12l[?25h pass
[?25l:[14C[?12l[?25h else:
[?25l:[14C[?12l[?25h # Usually a SEGV here
[?25l:[14C[?12l[?25h # Should not happen in any case
[?25l:[14C[?12l[?25h cb.append('No exception for ' + expr)
[?25l:[14C[?12l[?25hvim.command('cd .')
[?25l:[14C[?12l[?25hdel b
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test vim.buffers object
[?25l:[14C[?12l[?25h:set hidden
[?25l:[14C[?12l[?25h:edit a
[?25l:[14C[?12l[?25h:buffer #
[?25l:[14C[?12l[?25h:edit b
[?25l:[14C[?12l[?25h:buffer #
[?25l:[14C[?12l[?25h:edit c
[?25l:[14C[?12l[?25h:buffer #
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25h# Check GCing iterator that was not fully exhausted
[?25l:[14C[?12l[?25hi = iter(vim.buffers)
[?25l:[14C[?12l[?25hcb.append('i:' + str(next(i)))
[?25l:[14C[?12l[?25h# and also check creating more than one iterator at a time
[?25l:[14C[?12l[?25hi2 = iter(vim.buffers)
[?25l:[14C[?12l[?25hcb.append('i2:' + str(next(i2)))
[?25l:[14C[?12l[?25hcb.append('i:' + str(next(i)))
[?25l:[14C[?12l[?25h# The following should trigger GC and not cause any problems
[?25l:[14C[?12l[?25hdel i
[?25l:[14C[?12l[?25hdel i2
[?25l:[14C[?12l[?25hi3 = iter(vim.buffers)
[?25l:[14C[?12l[?25hcb.append('i3:' + str(next(i3)))
[?25l:[14C[?12l[?25hdel i3
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hprevnum = 0
[?25l:[14C[?12l[?25hfor b in vim.buffers:
[?25l:[14C[?12l[?25h # Check buffer order
[?25l:[14C[?12l[?25h if prevnum >= b.number:
[?25l:[14C[?12l[?25h cb.append('!!! Buffer numbers not in strictly ascending
[23;80Ho[24;1Hrder')
[?25l:[14C[?12l[?25h # Check indexing: vim.buffers[number].number == number
[?25l:[14C[?12l[?25h cb.append(str(b.number) + ':' + repr(vim.buffers[b.number])
[23;80H+[24;1H '=' + repr(b))
[?25l:[14C[?12l[?25h prevnum = b.number
[?25l:[14C[?12l[?25hdel prevnum
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hcb.append(str(len(vim.buffers)))
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hbnums = list(map(lambda b: b.number, vim.buffers))[1:]
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25h# Test wiping out buffer with existing iterator
[?25l:[14C[?12l[?25hi4 = iter(vim.buffers)
[?25l:[14C[?12l[?25hcb.append('i4:' + str(next(i4)))
[?25l:[14C[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(0)))
[?25l:[14C[?12l[?25htry:
[?25l:[14C[?12l[?25h next(i4)
[?25l:[14C[?12l[?25hexcept vim.error:
[?25l:[14C[?12l[?25h pass
[?25l:[14C[?12l[?25helse:
[?25l:[14C[?12l[?25h cb.append('!!!! No vim.error')
[?25l:[14C[?12l[?25hi4 = iter(vim.buffers)
[?25l:[14C[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(-1)))
[?25l:[14C[?12l[?25hvim.command('bwipeout! ' + str(bnums.pop(-1)))
[?25l:[14C[?12l[?25hcb.append('i4:' + str(next(i4)))
[?25l:[14C[?12l[?25htry:
[?25l:[14C[?12l[?25h next(i4)
[?25l:[14C[?12l[?25hexcept StopIteration:
[?25l:[14C[?12l[?25h cb.append('StopIteration')
[?25l:[14C[?12l[?25hdel i4
[?25l:[14C[?12l[?25hdel bnums
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test vim.{tabpage,window}list and vim.{tabpage,window} object
[23;80Hs[24;1H
[?25l:[14C[?12l[?25h:tabnew 0
[?25l:[14C[?12l[?25h:tabnew 1
[?25l:[14C[?12l[?25h:vnew a.1
[?25l:[14C[?12l[?25h:tabnew 2
[?25l:[14C[?12l[?25h:vnew a.2
[?25l:[14C[?12l[?25h:vnew b.2
[?25l:[14C[?12l[?25h:vnew c.2
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25hcb.append('Number of tabs: ' + str(len(vim.tabpages)))
[?25l:[14C[?12l[?25hcb.append('Current tab pages:')
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hdef W(w):
[?25l:[14C[?12l[?25h if '(unknown)' in repr(w):
[?25l:[14C[?12l[?25h return '<window object (unknown)>'
[?25l:[14C[?12l[?25h else:
[?25l:[14C[?12l[?25h return repr(w)
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hdef Cursor(w, start=len(cb)):
[?25l:[14C[?12l[?25h if w.buffer is cb:
[?25l:[14C[?12l[?25h return repr((start - w.cursor[0], w.cursor[1]))
[?25l:[14C[?12l[?25h else:
[?25l:[14C[?12l[?25h return repr(w.cursor)
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hfor t in vim.tabpages:
[?25l:[14C[?12l[?25h cb.append(' ' + repr(t) + '(' + str(t.number) + ')' + ': '
[23;80H+[24;1H str(len(t.windows)) + ' windows, current is ' + W(t.window))
[?25l:[14C[?12l[?25h cb.append(' Windows:')
[?25l:[14C[?12l[?25h for w in t.windows:
[?25l:[14C[?12l[?25h cb.append(' ' + W(w) + '(' + str(w.number) + ')' + ':
displays buffer ' + repr(w.buffer) + '; cursor is at ' + Cursor(w))
[?25l:[14C[?12l[?25h # Other values depend on the size of the terminal, so th
[23;80He[24;1Hy are checked partly:
[?25l:[14C[?12l[?25h for attr in ('height', 'row', 'width', 'col'):
[?25l:[14C[?12l[?25h try:
[?25l:[14C[?12l[?25h aval = getattr(w, attr)
[?25l:[14C[?12l[?25h if type(aval) is not int:
[?25l:[14C[?12l[?25h raise TypeError
[?25l:[14C[?12l[?25h if aval < 0:
[?25l:[14C[?12l[?25h raise ValueError
[?25l:[14C[?12l[?25h except Exception as e:
[?25l:[14C[?12l[?25h cb.append('!!!!!! Error while getting attribute
[23;80H'[24;1H + attr + ': ' + e.__class__.__name__)
[?25l:[14C[?12l[?25h del aval
[?25l:[14C[?12l[?25h del attr
[?25l:[14C[?12l[?25h w.cursor = (len(w.buffer), 0)
[?25l:[14C[?12l[?25hdel W
[?25l:[14C[?12l[?25hdel Cursor
[?25l:[14C[?12l[?25hcb.append('Number of windows in current tab page: ' + str(len(vi
[23;80Hm[24;1H.windows)))
[?25l:[14C[?12l[?25hif list(vim.windows) != list(vim.current.tabpage.windows):
[?25l:[14C[?12l[?25h cb.append('!!!!!! Windows differ')
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test vim.current
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25hdef H(o):
[?25l:[14C[?12l[?25h return repr(o)
[?25l:[14C[?12l[?25hcb.append('Current tab page: ' + repr(vim.current.tabpage))
[?25l:[14C[?12l[?25hcb.append('Current window: ' + repr(vim.current.window) + ': ' +
H(vim.current.window) + ' is ' + H(vim.current.tabpage.window))
[?25l:[14C[?12l[?25hcb.append('Current buffer: ' + repr(vim.current.buffer) + ': ' +
H(vim.current.buffer) + ' is ' + H(vim.current.window.buffer)+ ' is ' + H(vim.c
[23;80Hu[24;1Hrrent.tabpage.window.buffer))
[?25l:[14C[?12l[?25hdel H
[?25l:[14C[?12l[?25h# Assigning: fails
[?25l:[14C[?12l[?25htry:
[?25l:[14C[?12l[?25h vim.current.window = vim.tabpages[0].window
[?25l:[14C[?12l[?25hexcept ValueError:
[?25l:[14C[?12l[?25h cb.append('ValueError at assigning foreign tab window')
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25hfor attr in ('window', 'tabpage', 'buffer'):
[?25l:[14C[?12l[?25h try:
[?25l:[14C[?12l[?25h setattr(vim.current, attr, None)
[?25l:[14C[?12l[?25h except TypeError:
[?25l:[14C[?12l[?25h cb.append('Type error at assigning None to vim.current.'
+ attr)
[?25l:[14C[?12l[?25hdel attr
[?25l:[14C[?12l[?25h
[?25l:[14C[?12l[?25h# Assigning: success
[?25l:[14C[?12l[?25hvim.current.tabpage = vim.tabpages[-2]
[?25l:[14C[?12l[?25hvim.current.buffer = cb
[?25l:[14C[?12l[?25hvim.current.window = vim.windows[0]
[?25l:[14C[?12l[?25hvim.current.window.cursor = (len(vim.current.buffer), 0)
[?25l:[14C[?12l[?25hcb.append('Current tab page: ' + repr(vim.current.tabpage))
[?25l:[14C[?12l[?25hcb.append('Current window: ' + repr(vim.current.window))
[?25l:[14C[?12l[?25hcb.append('Current buffer: ' + repr(vim.current.buffer))
[?25l:[14C[?12l[?25hcb.append('Current line: ' + repr(vim.current.line))
[?25l:[14C[?12l[?25hws = list(vim.windows)
[?25l:[14C[?12l[?25hts = list(vim.tabpages)
[?25l:[14C[?12l[?25hfor b in vim.buffers:
[?25l:[14C[?12l[?25h if b is not cb:
[?25l:[14C[?12l[?25h vim.command('bwipeout! ' + str(b.number))
[?25l:[14C[?12l[?25hdel b
[?25l:[14C[?12l[?25hcb.append('w.valid: ' + repr([w.valid for w in ws]))
[?25l:[14C[?12l[?25hcb.append('t.valid: ' + repr([t.valid for t in ts]))
[?25l:[14C[?12l[?25hdel w
[?25l:[14C[?12l[?25hdel t
[?25l:[14C[?12l[?25hdel ts
[?25l:[14C[?12l[?25hdel ws
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:tabonly!
[?25l:[14C[?12l[?25h:only!
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test types
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25hfor expr, attr in (
[?25l:[14C[?12l[?25h ('vim.vars', 'Dictionary'),
[?25l:[14C[?12l[?25h ('vim.options', 'Options'),
[?25l:[14C[?12l[?25h ('vim.bindeval("{}")', 'Dictionary'),
[?25l:[14C[?12l[?25h ('vim.bindeval("[]")', 'List'),
[?25l:[14C[?12l[?25h ('vim.bindeval("function(\'tr\')")', 'Function'),
[?25l:[14C[?12l[?25h ('vim.current.buffer', 'Buffer'),
[?25l:[14C[?12l[?25h ('vim.current.range', 'Range'),
[?25l:[14C[?12l[?25h ('vim.current.window', 'Window'),
[?25l:[14C[?12l[?25h ('vim.current.tabpage', 'TabPage'),
[?25l:[14C[?12l[?25h):
[?25l:[14C[?12l[?25h cb.append(expr + ':' + attr + ':' + repr(type(eval(expr)) is
getattr(vim, attr)))
[?25l:[14C[?12l[?25hdel expr
[?25l:[14C[?12l[?25hdel attr
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test __dir__() method
[?25l:[14C[?12l[?25hpy3 << EOF
[?25l:[14C[?12l[?25hfor name, o in (
[?25l:[14C[?12l[?25h ('current', vim.current),
[?25l:[14C[?12l[?25h ('buffer', vim.current.buffer),
[?25l:[14C[?12l[?25h ('window', vim.current.window),
[?25l:[14C[?12l[?25h ('tabpage', vim.current.tabpage),
[?25l:[14C[?12l[?25h ('range', vim.current.range),
[?25l:[14C[?12l[?25h ('dictionary', vim.bindeval('{}')),
[?25l:[14C[?12l[?25h ('list', vim.bindeval('[]')),
[?25l:[14C[?12l[?25h ('function', vim.bindeval('function("tr")')),
[?25l:[14C[?12l[?25h ('output', sys.stdout),
[?25l:[14C[?12l[?25h ):
[?25l:[14C[?12l[?25h cb.append(name + ':' + ','.join(dir(o)))
[?25l:[14C[?12l[?25hdel name
[?25l:[14C[?12l[?25hdel o
[?25l:[14C[?12l[?25hEOF
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test vim.*.__new__
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Dictionary({})'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Dictionary(a=1)'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Dictionary(((''a'', 1),))'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.List()'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.List(iter(''abc7''))'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'')'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4])'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[])'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', self={})'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], se
[23;80Hl[24;1Hf={})'))
[?25l:[14C[?12l[?25h:$put ='auto_rebind'
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', auto_rebind=False)')
[23;80H)[24;1H
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], au
[23;80Ht[24;1Ho_rebind=False)'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[], auto_rebind
[23;80H=[24;1HFalse)'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', self={}, auto_rebind
[23;80H=[24;1HFalse)'))
[?25l:[14C[?12l[?25h:$put =string(py3eval('vim.Function(''tr'', args=[123, 3, 4], se
[23;80Hl[24;1Hf={}, auto_rebind=False)'))
[?25l:[14C[?12l[?25h:"
[?25l:[14C[?12l[?25h:" Test vim.Function
[?25l:[14C[?12l[?25h:function Args(...)
[?25l:[16C[?12l[?25h: return a:000
[?25l:[16C[?12l[?25h:endfunction
[?25l:[16C[?12l[?25h:function SelfArgs(...) dict
[?25l:[18C[?12l[?25h: return [a:000, self]
[?25l:[18C[?12l[?25h:endfunction
[?25l:[18C[?12l[?25h:" The following four lines should not crash
[?25l:[18C[?12l[?25h:let Pt = function('tr', [[]], {'l': []})
[?25l:[18C[?12l[?25h:py3 Pt = vim.bindeval('Pt')
[?25l:[18C[?12l[?25h:unlet Pt
[?25l:[18C[?12l[?25h:py3 del Pt
[?25l:[18C[?12l[?25hpy3 << EOF
[?25l:[18C[?12l[?25hdef ecall(out_prefix, func, *args, **kwargs):
[?25l:[18C[?12l[?25h line = out_prefix + ': '
[?25l:[18C[?12l[?25h try:
[?25l:[18C[?12l[?25h ret = func(*args, **kwargs)
[?25l:[18C[?12l[?25h except Exception:
[?25l:[18C[?12l[?25h line += '!exception: ' + emsg(sys.exc_info())
[?25l:[18C[?12l[?25h else:
[?25l:[18C[?12l[?25h line += '!result: ' + str(vim.Function('string')(ret
[23;80H)[24;1H, 'utf-8')
[?25l:[18C[?12l[?25h cb.append(line)
[?25l:[18C[?12l[?25ha = vim.Function('Args')
[?25l:[18C[?12l[?25hpa1 = vim.Function('Args', args=['abcArgsPA1'])
[?25l:[18C[?12l[?25hpa2 = vim.Function('Args', args=[])
[?25l:[18C[?12l[?25hpa3 = vim.Function('Args', args=['abcArgsPA3'], self={'abcSe
[23;80Hl[24;1HfPA3': 'abcSelfPA3Val'})
[?25l:[18C[?12l[?25hpa4 = vim.Function('Args', self={'abcSelfPA4': 'abcSelfPA4Va
[23;80Hl[24;1H'})
[?25l:[18C[?12l[?25hcb.append('a: ' + repr(a))
[?25l:[18C[?12l[?25hcb.append('pa1: ' + repr(pa1))
[?25l:[18C[?12l[?25hcb.append('pa2: ' + repr(pa2))
[?25l:[18C[?12l[?25hcb.append('pa3: ' + repr(pa3))
[?25l:[18C[?12l[?25hcb.append('pa4: ' + repr(pa4))
[?25l:[18C[?12l[?25hsa = vim.Function('SelfArgs')
[?25l:[18C[?12l[?25hpsa1 = vim.Function('SelfArgs', args=['abcArgsPSA1'])
[?25l:[18C[?12l[?25hpsa2 = vim.Function('SelfArgs', args=[])
[?25l:[18C[?12l[?25hpsa3 = vim.Function('SelfArgs', args=['abcArgsPSA3'], self={
[23;80H'[24;1HabcSelfPSA3': 'abcSelfPSA3Val'})
[?25l:[18C[?12l[?25hpsa4 = vim.Function('SelfArgs', self={'abcSelfPSA4': 'abcSel
[23;80Hf[24;1HPSA4Val'})
[?25l:[18C[?12l[?25hpsa5 = vim.Function('SelfArgs', self={'abcSelfPSA5': 'abcSel
[23;80Hf[24;1HPSA5Val'}, auto_rebind=0)
[?25l:[18C[?12l[?25hpsa6 = vim.Function('SelfArgs', args=['abcArgsPSA6'], self={
[23;80H'[24;1HabcSelfPSA6': 'abcSelfPSA6Val'}, auto_rebind=())
[?25l:[18C[?12l[?25hpsa7 = vim.Function('SelfArgs', args=['abcArgsPSA7'], auto_r
[23;80He[24;1Hbind=[])
[?25l:[18C[?12l[?25hpsa8 = vim.Function('SelfArgs', auto_rebind=False)
[?25l:[18C[?12l[?25hpsa9 = vim.Function('SelfArgs', self={'abcSelfPSA9': 'abcSel
[23;80Hf[24;1HPSA9Val'}, auto_rebind=True)
[?25l:[18C[?12l[?25hpsaA = vim.Function('SelfArgs', args=['abcArgsPSAA'], self={
[23;80H'[24;1HabcSelfPSAA': 'abcSelfPSAAVal'}, auto_rebind=1)
[?25l:[18C[?12l[?25hpsaB = vim.Function('SelfArgs', args=['abcArgsPSAB'], auto_r
[23;80He[24;1Hbind={'abcARPSAB': 'abcARPSABVal'})
[?25l:[18C[?12l[?25hpsaC = vim.Function('SelfArgs', auto_rebind=['abcARPSAC'])
[?25l:[18C[?12l[?25hcb.append('sa: ' + repr(sa))
[?25l:[18C[?12l[?25hcb.append('psa1: ' + repr(psa1))
[?25l:[18C[?12l[?25hcb.append('psa2: ' + repr(psa2))
[?25l:[18C[?12l[?25hcb.append('psa3: ' + repr(psa3))
[?25l:[18C[?12l[?25hcb.append('psa4: ' + repr(psa4))
[?25l:[18C[?12l[?25hcb.append('psa5: ' + repr(psa5))
[?25l:[18C[?12l[?25hcb.append('psa6: ' + repr(psa6))
[?25l:[18C[?12l[?25hcb.append('psa7: ' + repr(psa7))
[?25l:[18C[?12l[?25hcb.append('psa8: ' + repr(psa8))
[?25l:[18C[?12l[?25hcb.append('psa9: ' + repr(psa9))
[?25l:[18C[?12l[?25hcb.append('psaA: ' + repr(psaA))
[?25l:[18C[?12l[?25hcb.append('psaB: ' + repr(psaB))
[?25l:[18C[?12l[?25hcb.append('psaC: ' + repr(psaC))
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25hpsar = vim.Function('SelfArgs', args=[{'abcArgsPSAr': 'abcAr
[23;80Hg[24;1HsPSArVal'}], self={'abcSelfPSAr': 'abcSelfPSArVal'})
[?25l:[18C[?12l[?25hpsar.args[0]['abcArgsPSAr2'] = [psar.self, psar.args[0]]
[?25l:[18C[?12l[?25hpsar.self['rec'] = psar
[?25l:[18C[?12l[?25hpsar.self['self'] = psar.self
[?25l:[18C[?12l[?25hpsar.self['args'] = psar.args
[?25l:[18C[?12l[?25h
[?25l:[18C[?12l[?25htry:
[?25l:[18C[?12l[?25h cb.append('psar: ' + repr(psar))
[?25l:[18C[?12l[?25hexcept Exception:
[?25l:[18C[?12l[?25h cb.append('!!!!!!!! Caught exception: ' + emsg(sys.exc_i
[23;80Hn[24;1Hfo()))
[?25l:[18C[?12l[?25hEOF
[?25l:[18C[?12l[?25h:$put ='s(a): '.string(py3eval('a'))
[?25l:[18C[?12l[?25h:$put ='s(pa1): '.string(py3eval('pa1'))
[?25l:[18C[?12l[?25h:$put ='s(pa2): '.string(py3eval('pa2'))
[?25l:[18C[?12l[?25h:$put ='s(pa3): '.string(py3eval('pa3'))
[?25l:[18C[?12l[?25h:$put ='s(pa4): '.string(py3eval('pa4'))
[?25l:[18C[?12l[?25h:$put ='s(sa): '.string(py3eval('sa'))
[?25l:[18C[?12l[?25h:$put ='s(psa1): '.string(py3eval('psa1'))
[?25l:[18C[?12l[?25h:$put ='s(psa2): '.string(py3eval('psa2'))
[?25l:[18C[?12l[?25h:$put ='s(psa3): '.string(py3eval('psa3'))
[?25l:[18C[?12l[?25h:$put ='s(psa4): '.string(py3eval('psa4'))
[?25l:[18C[?12l[?25h:$put ='s(psa5): '.string(py3eval('psa5'))
[?25l:[18C[?12l[?25h:$put ='s(psa6): '.string(py3eval('psa6'))
[?25l:[18C[?12l[?25h:$put ='s(psa7): '.string(py3eval('psa7'))
[?25l:[18C[?12l[?25h:$put ='s(psa8): '.string(py3eval('psa8'))
[?25l:[18C[?12l[?25h:$put ='s(psa9): '.string(py3eval('psa9'))
[?25l:[18C[?12l[?25h:$put ='s(psaA): '.string(py3eval('psaA'))
[?25l:[18C[?12l[?25h:$put ='s(psaB): '.string(py3eval('psaB'))
[?25l:[18C[?12l[?25h:$put ='s(psaC): '.string(py3eval('psaC'))
[?25l:[18C[?12l[?25h:
[?25l:[18C[?12l[?25h:for v in ['sa', 'psa1', 'psa2', 'psa3', 'psa4', 'psa5', 'ps
[23;80Ha[24;1H6', 'psa7', 'psa8', 'psa9', 'psaA', 'psaB', 'psaC']
[?25l:[20C[?12l[?25h: let d = {'f': py3eval(v)}
[?25l:[20C[?12l[?25h: $put ='d.'.v.'(): '.string(d.f())
[?25l:[20C[?12l[?25h:endfor
[?25l:[18C[?12l[?25h:
[?25l:[18C[?12l[?25h:py3 ecall('a()', a, )
[?25l:[18C[?12l[?25h:py3 ecall('pa1()', pa1, )
[?25l:[18C[?12l[?25h:py3 ecall('pa2()', pa2, )
[?25l:[18C[?12l[?25h:py3 ecall('pa3()', pa3, )
[?25l:[18C[?12l[?25h:py3 ecall('pa4()', pa4, )
[?25l:[18C[?12l[?25h:py3 ecall('sa()', sa, )
[?25l:[18C[?12l[?25h:py3 ecall('psa1()', psa1, )
[?25l:[18C[?12l[?25h:py3 ecall('psa2()', psa2, )
[?25l:[18C[?12l[?25h:py3 ecall('psa3()', psa3, )
[?25l:[18C[?12l[?25h:py3 ecall('psa4()', psa4, )
[?25l:[18C[?12l[?25h:
[?25l:[18C[?12l[?25h:py3 ecall('a(42, 43)', a, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('pa1(42, 43)', pa1, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('pa2(42, 43)', pa2, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('pa3(42, 43)', pa3, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('pa4(42, 43)', pa4, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('sa(42, 43)', sa, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('psa1(42, 43)', psa1, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('psa2(42, 43)', psa2, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('psa3(42, 43)', psa3, 42, 43)
[?25l:[18C[?12l[?25h:py3 ecall('psa4(42, 43)', psa4, 42, 43)
[?25l:[18C[?12l[?25h:
[?25l:[18C[?12l[?25h:py3 ecall('a(42, self={"20": 1})', a, 42, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('pa1(42, self={"20": 1})', pa1, 42, self={'20': 1
[23;80H}[24;1H)
[?25l:[18C[?12l[?25h:py3 ecall('pa2(42, self={"20": 1})', pa2, 42, self={'20': 1
[23;80H}[24;1H)
[?25l:[18C[?12l[?25h:py3 ecall('pa3(42, self={"20": 1})', pa3, 42, self={'20': 1
[23;80H}[24;1H)
[?25l:[18C[?12l[?25h:py3 ecall('pa4(42, self={"20": 1})', pa4, 42, self={'20': 1
[23;80H}[24;1H)
[?25l:[18C[?12l[?25h:py3 ecall('sa(42, self={"20": 1})', sa, 42, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('psa1(42, self={"20": 1})', psa1, 42, self={'20':
1})
[?25l:[18C[?12l[?25h:py3 ecall('psa2(42, self={"20": 1})', psa2, 42, self={'20':
1})
[?25l:[18C[?12l[?25h:py3 ecall('psa3(42, self={"20": 1})', psa3, 42, self={'20':
1})
[?25l:[18C[?12l[?25h:py3 ecall('psa4(42, self={"20": 1})', psa4, 42, self={'20':
1})
[?25l:[18C[?12l[?25h:
[?25l:[18C[?12l[?25h:py3 ecall('a(self={"20": 1})', a, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('pa1(self={"20": 1})', pa1, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('pa2(self={"20": 1})', pa2, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('pa3(self={"20": 1})', pa3, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('pa4(self={"20": 1})', pa4, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('sa(self={"20": 1})', sa, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('psa1(self={"20": 1})', psa1, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('psa2(self={"20": 1})', psa2, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('psa3(self={"20": 1})', psa3, self={'20': 1})
[?25l:[18C[?12l[?25h:py3 ecall('psa4(self={"20": 1})', psa4, self={'20': 1})
[?25l:[18C[?12l[?25hpy3 <<